Files
nairobi/spec/system/verification/level_three_verification_spec.rb
Javi Martín a1439d0790 Apply Layout/LineLength rubocop rule
Note we're excluding a few files:

* Configuration files that weren't generated by us
* Migration files that weren't generated by us
* The Gemfile, since it includes an important comment that must be on
  the same line as the gem declaration
* The Budget::Stats class, since the heading statistics are a mess and
  having shorter lines would require a lot of refactoring
2023-08-30 14:46:35 +02:00

96 lines
2.7 KiB
Ruby

require "rails_helper"
describe "Level three verification" do
scenario "Verification with residency and verified sms" do
create(:geozone)
user = create(:user)
verified_user = create(:verified_user,
document_number: "12345678Z",
document_type: "1",
phone: "611111111")
login_as(user)
visit account_path
click_link "Verify my account"
verify_residence
within("#verified_user_#{verified_user.id}_phone") do
click_button "Send code"
end
expect(page).to have_content "Security code confirmation"
user = user.reload
fill_in "sms_confirmation_code", with: user.sms_confirmation_code
click_button "Send"
expect(page).to have_content "Code correct. Your account is now verified"
expect(page).not_to have_link "Verify my account"
expect(page).to have_content "Account verified"
end
scenario "Verification with residency and verified email" do
create(:geozone)
user = create(:user)
verified_user = create(:verified_user,
document_number: "12345678Z",
document_type: "1",
email: "rock@example.com")
login_as(user)
visit account_path
click_link "Verify my account"
verify_residence
within("#verified_user_#{verified_user.id}_email") do
click_button "Send code"
end
expect(page).to have_content "We have sent a confirmation email to your account: rock@example.com"
sent_token = /.*email_verification_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
visit email_path(email_verification_token: sent_token)
expect(page).to have_content "You are a verified user"
expect(page).not_to have_link "Verify my account"
expect(page).to have_content "Account verified"
end
scenario "Verification with residency and sms and letter" do
create(:geozone)
user = create(:user)
login_as(user)
visit account_path
click_link "Verify my account"
verify_residence
fill_in "sms_phone", with: "611111111"
click_button "Send"
expect(page).to have_content "Security code confirmation"
user = user.reload
fill_in "sms_confirmation_code", with: user.sms_confirmation_code
click_button "Send"
expect(page).to have_content "Code correct"
click_link "Send me a letter with the code"
expect(page).to have_content "Thank you for requesting your maximum security code " \
"(only required for the final votes). In a few days " \
"we will send it to the address featuring in the data " \
"we have on file."
end
end