From 20fd8c05151ad42d265c230c259a39201cd30e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Checa?= Date: Tue, 17 Oct 2017 20:41:48 +0200 Subject: [PATCH 1/5] Officing tests improvements --- app/controllers/officing/voters_controller.rb | 2 ++ lib/census_api.rb | 2 +- spec/features/officing_spec.rb | 24 ++++++++++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/app/controllers/officing/voters_controller.rb b/app/controllers/officing/voters_controller.rb index 2b7ed329f..fdb4a128f 100644 --- a/app/controllers/officing/voters_controller.rb +++ b/app/controllers/officing/voters_controller.rb @@ -17,6 +17,8 @@ class Officing::VotersController < Officing::BaseController origin: "booth", officer: current_user.poll_officer) @voter.save! + + render 'create.js' end private diff --git a/lib/census_api.rb b/lib/census_api.rb index 931781c6d..4fdbd37cb 100644 --- a/lib/census_api.rb +++ b/lib/census_api.rb @@ -84,7 +84,7 @@ class CensusApi end def stubbed_response(document_type, document_number) - if document_number == "12345678Z" && document_type == "1" + if (document_number == "12345678Z" || document_number == "12345678Y") && document_type == "1" stubbed_valid_response else stubbed_invalid_response diff --git a/spec/features/officing_spec.rb b/spec/features/officing_spec.rb index 2a54bbff1..f7c62fbbd 100644 --- a/spec/features/officing_spec.rb +++ b/spec/features/officing_spec.rb @@ -117,6 +117,9 @@ feature 'Poll Officing' do officer1 = create(:poll_officer, user: user1) officer2 = create(:poll_officer, user: user2) + create(:poll_shift, officer: officer1, booth: booth, date: Date.current, task: :vote_collection) + create(:poll_shift, officer: officer2, booth: booth, date: Date.current, task: :vote_collection) + officer_assignment_1 = create(:poll_officer_assignment, booth_assignment: booth_assignment, officer: officer1) officer_assignment_2 = create(:poll_officer_assignment, booth_assignment: booth_assignment, officer: officer2) @@ -134,7 +137,16 @@ feature 'Poll Officing' do page.should have_content("Here you can validate user documents and store voting results") visit new_officing_residence_path - page.should have_content("Validate document") + within("#side_menu") do + click_link "Validate document" + end + select 'DNI', from: 'residence_document_type' + fill_in 'residence_document_number', with: "12345678Z" + fill_in 'residence_year_of_birth', with: '1980' + click_button 'Validate document' + expect(page).to have_content 'Document verified with Census' + click_button "Confirm vote" + expect(page).to have_content "Vote introduced!" visit final_officing_polls_path page.should have_content("Polls ready for final recounting") @@ -145,6 +157,16 @@ feature 'Poll Officing' do visit new_officing_residence_path page.should have_content("Validate document") + within("#side_menu") do + click_link "Validate document" + end + select 'DNI', from: 'residence_document_type' + fill_in 'residence_document_number', with: "12345678Y" + fill_in 'residence_year_of_birth', with: '1980' + click_button 'Validate document' + expect(page).to have_content 'Document verified with Census' + click_button "Confirm vote" + expect(page).to have_content "Vote introduced!" visit final_officing_polls_path page.should have_content("Polls ready for final recounting") From e2b06ef2597f3c360a8a5f5d2ed2ab3c7fe57710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Checa?= Date: Tue, 17 Oct 2017 20:43:42 +0200 Subject: [PATCH 2/5] Minor change --- spec/features/officing_spec.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/spec/features/officing_spec.rb b/spec/features/officing_spec.rb index f7c62fbbd..ae4e11858 100644 --- a/spec/features/officing_spec.rb +++ b/spec/features/officing_spec.rb @@ -156,7 +156,6 @@ feature 'Poll Officing' do page.should have_content("Here you can validate user documents and store voting results") visit new_officing_residence_path - page.should have_content("Validate document") within("#side_menu") do click_link "Validate document" end From 6c5ad49a3c39dc470e3a62754fe132b45a7d061a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Checa?= Date: Wed, 18 Oct 2017 11:52:42 +0200 Subject: [PATCH 3/5] Tests improvements --- spec/features/officing_spec.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spec/features/officing_spec.rb b/spec/features/officing_spec.rb index ae4e11858..5df4d4501 100644 --- a/spec/features/officing_spec.rb +++ b/spec/features/officing_spec.rb @@ -148,6 +148,8 @@ feature 'Poll Officing' do click_button "Confirm vote" expect(page).to have_content "Vote introduced!" + expect(Poll::Voter.where(document_number: '12345678Z').count).to be(1) + visit final_officing_polls_path page.should have_content("Polls ready for final recounting") end @@ -167,6 +169,8 @@ feature 'Poll Officing' do click_button "Confirm vote" expect(page).to have_content "Vote introduced!" + expect(Poll::Voter.where(document_number: '12345678Y').count).to be(1) + visit final_officing_polls_path page.should have_content("Polls ready for final recounting") end From fb1a0904cb770574b34fc1a01459a5d5c299ee22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Checa?= Date: Wed, 18 Oct 2017 13:17:50 +0200 Subject: [PATCH 4/5] Tests improvements --- app/controllers/officing/voters_controller.rb | 2 -- spec/features/officing_spec.rb | 8 +------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/app/controllers/officing/voters_controller.rb b/app/controllers/officing/voters_controller.rb index fdb4a128f..2b7ed329f 100644 --- a/app/controllers/officing/voters_controller.rb +++ b/app/controllers/officing/voters_controller.rb @@ -17,8 +17,6 @@ class Officing::VotersController < Officing::BaseController origin: "booth", officer: current_user.poll_officer) @voter.save! - - render 'create.js' end private diff --git a/spec/features/officing_spec.rb b/spec/features/officing_spec.rb index 5df4d4501..12d322099 100644 --- a/spec/features/officing_spec.rb +++ b/spec/features/officing_spec.rb @@ -107,7 +107,7 @@ feature 'Poll Officing' do expect(page).to_not have_css('#moderation_menu') end - scenario 'Officing dashboard available for multiple sessions' do + scenario 'Officing dashboard available for multiple sessions', :js do poll = create(:poll) booth = create(:poll_booth) booth_assignment = create(:poll_booth_assignment, poll: poll, booth: booth) @@ -137,9 +137,6 @@ feature 'Poll Officing' do page.should have_content("Here you can validate user documents and store voting results") visit new_officing_residence_path - within("#side_menu") do - click_link "Validate document" - end select 'DNI', from: 'residence_document_type' fill_in 'residence_document_number', with: "12345678Z" fill_in 'residence_year_of_birth', with: '1980' @@ -158,9 +155,6 @@ feature 'Poll Officing' do page.should have_content("Here you can validate user documents and store voting results") visit new_officing_residence_path - within("#side_menu") do - click_link "Validate document" - end select 'DNI', from: 'residence_document_type' fill_in 'residence_document_number', with: "12345678Y" fill_in 'residence_year_of_birth', with: '1980' From 5589c2d8a0f283168cd79814c005b60d3aaf5689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Checa?= Date: Wed, 18 Oct 2017 13:40:04 +0200 Subject: [PATCH 5/5] Tests improvements --- spec/features/officing_spec.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/spec/features/officing_spec.rb b/spec/features/officing_spec.rb index 12d322099..338b416ea 100644 --- a/spec/features/officing_spec.rb +++ b/spec/features/officing_spec.rb @@ -144,8 +144,7 @@ feature 'Poll Officing' do expect(page).to have_content 'Document verified with Census' click_button "Confirm vote" expect(page).to have_content "Vote introduced!" - - expect(Poll::Voter.where(document_number: '12345678Z').count).to be(1) + expect(Poll::Voter.where(document_number: '12345678Z', poll_id: poll, origin: 'booth', officer_id: officer1).count).to be(1) visit final_officing_polls_path page.should have_content("Polls ready for final recounting") @@ -162,8 +161,7 @@ feature 'Poll Officing' do expect(page).to have_content 'Document verified with Census' click_button "Confirm vote" expect(page).to have_content "Vote introduced!" - - expect(Poll::Voter.where(document_number: '12345678Y').count).to be(1) + expect(Poll::Voter.where(document_number: '12345678Y', poll_id: poll, origin: 'booth', officer_id: officer2).count).to be(1) visit final_officing_polls_path page.should have_content("Polls ready for final recounting")