Advertisement
Guest User

Untitled

a guest
Feb 17th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. class Domain < ActiveRecord::Base
  2. belongs_to :user
  3. has_many :ranks, dependent: :destroy
  4. validates_uniqueness_of :name, scope: :user_id, message: "You alredy entered that domain"
  5. validates_presence_of :name
  6. validate :user_quota, on: :create
  7.  
  8. def user_quota
  9. errors.add(:base, 'OOps!!! You have Exceeded maximum domain limit/user (3)') if self.user.domains(:reload).count >= 3
  10. end
  11. end
  12.  
  13. require 'rails_helper'
  14.  
  15. RSpec.describe Domain, type: :model do
  16. it " - cannot create a new domain if user already have 3 domains" do
  17. user = User.create(name: "John Doe", email: 'jane@doe.com', password: 'pw1234',
  18. password_confirmation: 'pw1234')
  19. user_domain1 = Domain.create(name: 'http://example1.com', user_id: user.id,
  20. created_at: DateTime.now, updated_at: DateTime.now)
  21. expect(user_domain1.errors).to be_empty
  22.  
  23. user_domain2 = Domain.create(name: 'http://example2.com', user_id: user.id,
  24. created_at: DateTime.now, updated_at: DateTime.now)
  25. expect(user_domain1.errors).to be_empty
  26.  
  27. user_domain3 = Domain.create(name: 'http://example3.com', user_id: user.id,
  28. created_at: DateTime.now, updated_at: DateTime.now)
  29. expect(user_domain1.errors).to be_empty
  30.  
  31. user_domain1 = Domain.create(name: 'http://example1.com', user_id: user.id,
  32. created_at: DateTime.now, updated_at: DateTime.now)
  33. expect(user_domain1.errors).to_not be_empty
  34. end
  35. end
  36.  
  37. Failure/Error: errors.add(:base, 'OOps!!! You have Exceeded maximum domain limit/user (3)') if self.user.domains(:reload).count >= 3
  38.  
  39. NoMethodError:
  40. undefined method `domains' for nil:NilClass
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement