discourse/spec/models/user_badge_spec.rb
Daniel Waterworth e219588142 DEV: Prefabrication (test optimization) (#7414)
* Introduced fab!, a helper that creates database state for a group

It's almost identical to let_it_be, except:

 1. It creates a new object for each test by default,
 2. You can disable it using PREFABRICATION=0
2019-05-07 13:12:20 +10:00

21 lines
594 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
require_dependency 'user_badge'
describe UserBadge do
context 'validations' do
fab!(:badge) { Fabricate(:badge) }
fab!(:user) { Fabricate(:user) }
let(:subject) { BadgeGranter.grant(badge, user) }
it { is_expected.to validate_presence_of(:badge_id) }
it { is_expected.to validate_presence_of(:user_id) }
it { is_expected.to validate_presence_of(:granted_at) }
it { is_expected.to validate_presence_of(:granted_by) }
it { is_expected.to validate_uniqueness_of(:badge_id).scoped_to(:user_id) }
end
end