From 9a396fe6343ff1282c9a4dc7208548b34dcc0d12 Mon Sep 17 00:00:00 2001 From: Bertocq Date: Sat, 7 Oct 2017 10:48:24 +0200 Subject: [PATCH] Fix record_voter_participation and usage on specs --- app/models/poll/answer.rb | 4 +--- spec/models/poll/answer_spec.rb | 6 +++--- spec/models/poll/voter_spec.rb | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/app/models/poll/answer.rb b/app/models/poll/answer.rb index da68f2d91..4484060dd 100644 --- a/app/models/poll/answer.rb +++ b/app/models/poll/answer.rb @@ -17,8 +17,6 @@ class Poll::Answer < ActiveRecord::Base scope :by_question, ->(question_id) { where(question_id: question_id) } def record_voter_participation(token) - Poll::Voter.find_or_create_by(user: author, poll: poll, origin: "web") do |poll_voter| - poll_voter.token = token unless poll_voter.token.present? - end + Poll::Voter.find_or_create_by(user: author, poll: poll, origin: "web", token: token) end end diff --git a/spec/models/poll/answer_spec.rb b/spec/models/poll/answer_spec.rb index 2c27bc060..8731445cc 100644 --- a/spec/models/poll/answer_spec.rb +++ b/spec/models/poll/answer_spec.rb @@ -46,7 +46,7 @@ describe Poll::Answer do answer = create(:poll_answer, question: question, author: author, answer: "Yes") expect(answer.poll.voters).to be_blank - answer.record_voter_participation + answer.record_voter_participation('token') expect(poll.reload.voters.size).to eq(1) voter = poll.voters.first @@ -57,12 +57,12 @@ describe Poll::Answer do it "updates a poll_voter with user and poll data" do answer = create(:poll_answer, question: question, author: author, answer: "Yes") - answer.record_voter_participation + answer.record_voter_participation('token') expect(poll.reload.voters.size).to eq(1) answer = create(:poll_answer, question: question, author: author, answer: "No") - answer.record_voter_participation + answer.record_voter_participation('token') expect(poll.reload.voters.size).to eq(1) diff --git a/spec/models/poll/voter_spec.rb b/spec/models/poll/voter_spec.rb index f306248dc..bbd22011a 100644 --- a/spec/models/poll/voter_spec.rb +++ b/spec/models/poll/voter_spec.rb @@ -76,7 +76,7 @@ describe :voter do it "should not be valid if the user has voted via web" do answer = create(:poll_answer) - answer.record_voter_participation + answer.record_voter_participation('token') voter = build(:poll_voter, poll: answer.question.poll, user: answer.author) expect(voter).to_not be_valid @@ -169,4 +169,4 @@ describe :voter do expect(voter.document_type).to eq("1") end end -end \ No newline at end of file +end