From 6b0f8eb62b0d5f9ca95c99e5f8358bf77da5f075 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Mon, 12 Dec 2016 17:11:39 +0100 Subject: [PATCH] do not allow verification of deregistered accounts --- app/models/verification/residence.rb | 2 +- spec/features/verification/residence_spec.rb | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/models/verification/residence.rb b/app/models/verification/residence.rb index d7ef5db52..96a36e5cd 100644 --- a/app/models/verification/residence.rb +++ b/app/models/verification/residence.rb @@ -40,7 +40,7 @@ class Verification::Residence end def document_number_uniqueness - errors.add(:document_number, I18n.t('errors.messages.taken')) if User.active.where(document_number: document_number).any? + errors.add(:document_number, I18n.t('errors.messages.taken')) if User.where(document_number: document_number).any? end def store_failed_attempt diff --git a/spec/features/verification/residence_spec.rb b/spec/features/verification/residence_spec.rb index 88d1579a9..cdf33dfab 100644 --- a/spec/features/verification/residence_spec.rb +++ b/spec/features/verification/residence_spec.rb @@ -102,4 +102,24 @@ feature 'Residence' do expect(page).to have_content "You have reached the maximum number of attempts. Please try again later." expect(current_path).to eq(account_path) end + + scenario 'Error when trying to verify a deregistered account' do + create(:user, document_number: '12345678Z', document_type: '1', erased_at: Time.now) + + login_as(create(:user)) + + visit account_path + click_link 'Verify my account' + + fill_in 'residence_document_number', with: "12345678Z" + select 'DNI', from: 'residence_document_type' + select_date '31-December-1980', from: 'residence_date_of_birth' + fill_in 'residence_postal_code', with: '28013' + check 'residence_terms_of_service' + + click_button 'Verify residence' + + expect(page).to_not have_content 'Residence verified' + expect(page).to have_content 'has already been taken' + end end