From 063ba4c4f4c535f793477b362ba2c66e6dd0916d Mon Sep 17 00:00:00 2001 From: Bertocq Date: Thu, 9 Nov 2017 13:13:15 +0100 Subject: [PATCH] Refactor Poll Voters creation to make it more realistic --- db/dev_seeds.rb | 47 ++++++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/db/dev_seeds.rb b/db/dev_seeds.rb index d9d928321..9e52c45c1 100644 --- a/db/dev_seeds.rb +++ b/db/dev_seeds.rb @@ -621,32 +621,29 @@ section "Commenting Poll Questions" do end section "Creating Poll Voters" do - 10.times do - user = User.level_two_verified.sample - Poll::Voter.create(poll_id: @poll_active.id, user_id: user.id, document_number: user.document_number, origin: 'web') - user = User.level_two_verified.sample - Poll::Voter.create(poll_id: @poll_active.id, user_id: user.id, document_number: user.document_number, origin: 'booth') - end - 10.times do - user = User.level_two_verified.sample - Poll::Voter.create(poll_id: @poll_active_geolocalized.id, user_id: user.id, document_number: user.document_number, origin: 'web') - user = User.level_two_verified.sample - Poll::Voter.create(poll_id: @poll_active_geolocalized.id, user_id: user.id, document_number: user.document_number, origin: 'booth') - end - 10.times do - user = User.level_two_verified.sample - Poll::Voter.create(poll_id: @poll_expired.id, user_id: user.id, document_number: user.document_number, origin: 'web') - user = User.level_two_verified.sample - Poll::Voter.create(poll_id: @poll_expired.id, user_id: user.id, document_number: user.document_number, origin: 'web') - end -end + (Poll.expired + Poll.current + Poll.recounting).uniq.each do |poll| + level_two_verified_users = User.level_two_verified + level_two_verified_users = level_two_verified_users.where(geozone_id: poll.geozone_ids) if poll.geozone_restricted? -section "Creating Poll Answers" do - Poll::Voter.all.each do |voter| - voter.poll.questions.each do |question| - answer = question.question_answers.sample - unless answer.nil? - Poll::Answer.create(question_id: question.id, author_id: voter.user_id, answer: answer.title) + level_two_verified_users.each_with_index do |user, i| + if i.even? + poll.questions.each do |question| + next unless [true, false].sample + Poll::Answer.create!(question_id: question.id, author: user, answer: question.question_answers.sample.title) + end + Poll::Voter.create!(document_type: user.document_type, + document_number: user.document_number, + user: user, + poll: poll, + origin: 'web', + token: SecureRandom.hex(32)) + else + Poll::Voter.create!(document_type: user.document_type, + document_number: user.document_number, + user: user, + poll: poll, + officer: Poll::Officer.all.sample, + origin: 'booth') end end end