Improved results tests
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user