Commit d8d61b9
Changed files (3)
spec
models
app/models/item.rb
@@ -1,3 +1,5 @@
class Item < ActiveRecord::Base
belongs_to :user
+
+ validates_presence_of :user, :name
end
app/models/user.rb
@@ -6,11 +6,10 @@ class User < ActiveRecord::Base
validates :username, presence: true, format: { with: USERNAME_REGEX }, uniqueness: true
validates :email, presence: true, email: true, uniqueness: true
validates_acceptance_of :terms_and_conditions
-
+
def self.authenticate(username,password)
if user = User.where("email = :email OR username = :username", username: username, email: username).first
user.authenticate(password)
end
end
-
end
spec/models/item_spec.rb
@@ -1,4 +1,19 @@
-require 'rails_helper'
+require "rails_helper"
RSpec.describe Item, type: :model do
+ describe "validations" do
+ let(:user) { create(:user) }
+
+ it "validates the presence of a user" do
+ item = build(:item, user: nil)
+ expect(item).to_not be_valid
+ expect(item.errors[:user]).to_not be_empty
+ end
+
+ it "validates the presence of a name" do
+ item = build(:item, user: user, name: nil)
+ expect(item).to_not be_valid
+ expect(item.errors[:name]).to_not be_empty
+ end
+ end
end