Files
nairobi/spec/features/verification/letter_spec.rb
2015-09-10 11:43:48 +02:00

100 lines
3.2 KiB
Ruby

require 'rails_helper'
feature 'Verify Letter' do
scenario 'Verify' do
user = create(:user, residence_verified_at: Time.now, confirmed_phone: "611111111")
login_as(user)
visit new_letter_path
click_button "Send me a letter with the code"
expect(page).to have_content "Thank you for requesting a maximum security code in a few days we will send it to the address on your census data."
user.reload
fill_in "letter_verification_code", with: user.letter_verification_code
click_button "Send"
expect(page).to have_content "Correct code. Your account is verified"
end
scenario 'Go to office instead of send letter' do
user = create(:user, residence_verified_at: Time.now, confirmed_phone: "611111111")
login_as(user)
visit new_letter_path
expect(page).to have_link "See Office of Citizen", href: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Atencion-al-ciudadano/Oficinas-de-Atencion-al-Ciudadano?vgnextfmt=default&vgnextchannel=5b99cde2e09a4310VgnVCM1000000b205a0aRCRD"
end
scenario 'Errors on verification code' do
user = create(:user, residence_verified_at: Time.now, confirmed_phone: "611111111")
login_as(user)
visit new_letter_path
click_button "Send me a letter with the code"
expect(page).to have_content "Thank you for requesting a maximum security code in a few days we will send it to the address on your census data."
fill_in "letter_verification_code", with: "1"
click_button "Send"
expect(page).to have_content "Incorrect confirmation code"
end
scenario "Error accessing address from CensusApi" do
user = create(:user, residence_verified_at: Time.now, confirmed_phone: "611111111")
login_as(user)
visit new_letter_path
allow_any_instance_of(CensusApi).to receive(:address).and_return(nil)
click_button "Send me a letter with the code"
expect(page).to have_content "We could not verify your address with the Census please try again later"
end
scenario "Deny access unless verified residence" do
user = create(:user)
login_as(user)
visit new_letter_path
expect(page).to have_content 'You have not yet confirmed your residence'
expect(URI.parse(current_url).path).to eq(new_residence_path)
end
scenario "Deny access unless verified phone/email" do
user = create(:user, residence_verified_at: Time.now)
login_as(user)
visit new_letter_path
expect(page).to have_content 'You have not yet enter the confirmation code'
expect(URI.parse(current_url).path).to eq(new_sms_path)
end
scenario '3 tries allowed' do
user = create(:user, residence_verified_at: Time.now, confirmed_phone: "611111111")
login_as(user)
visit new_letter_path
click_button 'Send me a letter with the code'
3.times do
fill_in 'letter_verification_code', with: "999999"
click_button 'Send'
end
expect(page).to have_content 'You have reached the maximum number of letter verification tries'
expect(URI.parse(current_url).path).to eq(account_path)
visit new_letter_path
expect(page).to have_content 'You have reached the maximum number of letter verification tries'
expect(URI.parse(current_url).path).to eq(account_path)
end
end