diff --git a/app/models/vote.rb b/app/models/vote.rb index be1fc86e..dcfcb195 100644 --- a/app/models/vote.rb +++ b/app/models/vote.rb @@ -6,7 +6,7 @@ class Vote < ApplicationRecord has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id } - validates :event, uniqueness: { scope: :user } + validates :user_id, uniqueness: { scope: :event_id } delegate :name, to: :user diff --git a/spec/models/vote_spec.rb b/spec/models/vote_spec.rb index f368af93..ee66603a 100644 --- a/spec/models/vote_spec.rb +++ b/spec/models/vote_spec.rb @@ -8,12 +8,10 @@ describe Vote do let(:vote) { create(:vote, event: event, user: user) } describe 'validation' do + it { is_expected.to validate_uniqueness_of(:user_id).scoped_to(:event_id) } + it 'has a valid factory' do expect(build(:vote)).to be_valid end - - it 'validates uniqueness of event in scope of user' do - expect(build(:vote, event: vote.event, user: vote.user)).not_to be_valid - end end end