Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Domain < ActiveRecord::Base
- belongs_to :user
- has_many :ranks, dependent: :destroy
- validates_uniqueness_of :name, scope: :user_id, message: "You alredy entered that domain"
- validates_presence_of :name
- validate :user_quota, on: :create
- def user_quota
- errors.add(:base, 'OOps!!! You have Exceeded maximum domain limit/user (3)') if self.user.domains(:reload).count >= 3
- end
- end
- require 'rails_helper'
- RSpec.describe Domain, type: :model do
- it " - cannot create a new domain if user already have 3 domains" do
- user = User.create(name: "John Doe", email: 'jane@doe.com', password: 'pw1234',
- password_confirmation: 'pw1234')
- user_domain1 = Domain.create(name: 'http://example1.com', user_id: user.id,
- created_at: DateTime.now, updated_at: DateTime.now)
- expect(user_domain1.errors).to be_empty
- user_domain2 = Domain.create(name: 'http://example2.com', user_id: user.id,
- created_at: DateTime.now, updated_at: DateTime.now)
- expect(user_domain1.errors).to be_empty
- user_domain3 = Domain.create(name: 'http://example3.com', user_id: user.id,
- created_at: DateTime.now, updated_at: DateTime.now)
- expect(user_domain1.errors).to be_empty
- user_domain1 = Domain.create(name: 'http://example1.com', user_id: user.id,
- created_at: DateTime.now, updated_at: DateTime.now)
- expect(user_domain1.errors).to_not be_empty
- end
- end
- Failure/Error: errors.add(:base, 'OOps!!! You have Exceeded maximum domain limit/user (3)') if self.user.domains(:reload).count >= 3
- NoMethodError:
- undefined method `domains' for nil:NilClass
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement