Improved results tests

This commit is contained in:
María Checa
2017-10-20 16:49:25 +02:00
parent 9bbf0b1ef9
commit bb06af3877
3 changed files with 33 additions and 6 deletions

View File

@@ -1,8 +1,10 @@
require 'rails_helper' require 'rails_helper'
feature 'Poll Results' do feature 'Poll Results' do
scenario 'List each Poll question' do scenario 'List each Poll question', :js do
user = create(:user, :level_two) user1 = create(:user, :level_two)
user2 = create(:user, :level_two)
user3 = create(:user, :level_two)
poll = create(:poll) poll = create(:poll)
question1 = create(:poll_question, poll: poll) question1 = create(:poll_question, poll: poll)
@@ -14,13 +16,38 @@ feature 'Poll Results' do
answer4 = create(:poll_question_answer, question: question2, title: 'Green') answer4 = create(:poll_question_answer, question: question2, title: 'Green')
answer5 = create(:poll_question_answer, question: question2, title: 'Yellow') answer5 = create(:poll_question_answer, question: question2, title: 'Yellow')
login_as user login_as user1
vote_for_poll_via_web(poll, question1, 'Yes') vote_for_poll_via_web(poll, question1, 'Yes')
vote_for_poll_via_web(poll, question1, 'Blue') vote_for_poll_via_web(poll, question2, 'Blue')
expect(Poll::Voter.count).to eq(1)
logout
login_as user2
vote_for_poll_via_web(poll, question1, 'Yes')
vote_for_poll_via_web(poll, question2, 'Green')
expect(Poll::Voter.count).to eq(2)
logout
login_as user3
vote_for_poll_via_web(poll, question1, 'No')
vote_for_poll_via_web(poll, question2, 'Yellow')
expect(Poll::Voter.count).to eq(3)
logout
visit poll_results_path(poll) visit poll_results_path(poll)
expect(page).to have_content(question1.title) expect(page).to have_content(question1.title)
expect(page).to have_content(question2.title) expect(page).to have_content(question2.title)
within("#question_#{question1.id}_results_table") do
expect(find("#answer_#{answer1.id}_result")).to have_content("2 (66.0%)")
expect(find("#answer_#{answer2.id}_result")).to have_content("1 (33.0%)")
end
within("#question_#{question2.id}_results_table") do
expect(find("#answer_#{answer3.id}_result")).to have_content("1 (33.0%)")
expect(find("#answer_#{answer4.id}_result")).to have_content("1 (33.0%)")
expect(find("#answer_#{answer5.id}_result")).to have_content("1 (33.0%)")
end
end end
end end

View File

@@ -96,6 +96,7 @@ feature "Voter" do
scenario "Trying to vote in web and then in booth", :js do scenario "Trying to vote in web and then in booth", :js do
login_as user login_as user
vote_for_poll_via_web(poll, question, 'Yes') vote_for_poll_via_web(poll, question, 'Yes')
expect(Poll::Voter.count).to eq(1)
click_link "Sign out" click_link "Sign out"
@@ -128,6 +129,7 @@ feature "Voter" do
scenario "Trying to vote in web again", :js do scenario "Trying to vote in web again", :js do
login_as user login_as user
vote_for_poll_via_web(poll, question, 'Yes') vote_for_poll_via_web(poll, question, 'Yes')
expect(Poll::Voter.count).to eq(1)
visit poll_path(poll) visit poll_path(poll)

View File

@@ -306,8 +306,6 @@ module CommonActions
click_link "#{answer}" click_link "#{answer}"
expect(page).to_not have_link("#{answer}") expect(page).to_not have_link("#{answer}")
end end
expect(Poll::Voter.count).to eq(1)
end end
def vote_for_poll_via_booth def vote_for_poll_via_booth