From a8b653739cead3a52bc23e86513e6df6214ef9e3 Mon Sep 17 00:00:00 2001 From: kikito Date: Tue, 14 Feb 2017 17:30:22 +0100 Subject: [PATCH] makes officing residence spec verify users --- app/models/officing/residence.rb | 1 + spec/features/officing/voters_spec.rb | 14 +++++++++++++- spec/models/officing/residence_spec.rb | 10 ++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/models/officing/residence.rb b/app/models/officing/residence.rb index bbb6d757b..6343fc5f7 100644 --- a/app/models/officing/residence.rb +++ b/app/models/officing/residence.rb @@ -23,6 +23,7 @@ class Officing::Residence if user_exists? self.user = find_user_by_document + self.user.update(verified_at: Time.current) else user_params = { document_number: document_number, diff --git a/spec/features/officing/voters_spec.rb b/spec/features/officing/voters_spec.rb index 1e62df57e..2d28c7e77 100644 --- a/spec/features/officing/voters_spec.rb +++ b/spec/features/officing/voters_spec.rb @@ -50,6 +50,18 @@ feature 'Voters' do end end + scenario "Had already verified his residence, but is not level 2 yet", :js do + user = create(:user, residence_verified_at: Time.current, document_type: "1", document_number: "12345678Z") + expect(user).to_not be_level_two_verified + poll = create(:poll_officer_assignment, officer: officer).booth_assignment.poll + + visit new_officing_residence_path + officing_verify_residence + + expect(page).to have_content "Polls" + expect(page).to have_content poll.name + end + #Fix and use answerable_by(user) xscenario "Display only answerable polls" -end \ No newline at end of file +end diff --git a/spec/models/officing/residence_spec.rb b/spec/models/officing/residence_spec.rb index 208122703..dee63b85a 100644 --- a/spec/models/officing/residence_spec.rb +++ b/spec/models/officing/residence_spec.rb @@ -93,6 +93,16 @@ describe Officing::Residence do expect(user.geozone).to eq(geozone) end + it "makes half-verified users fully verified" do + user = create(:user, residence_verified_at: Time.current, document_type: "1", document_number: "12345678Z") + expect(user).to be_unverified + residence = build(:officing_residence, document_number: "12345678Z", year_of_birth: 1980) + expect(residence).to be_valid + expect(user.reload).to be_unverified + residence.save + expect(user.reload).to be_level_three_verified + end + it "stores failed census calls" do residence = build(:officing_residence, :invalid, document_number: "12345678Z") residence.save