spec/features/verification/verified_user_spec.rb
require 'rails_helper'
feature 'Verified users' do
scenario "Verified emails" do
user = create(:user,
residence_verified_at: Time.current,
document_number: '12345678Z')
create(:verified_user,
document_number: '12345678Z',
email: 'rock@example.com')
create(:verified_user,
document_number: '12345678Z',
email: 'roll@example.com')
create(:verified_user,
document_number: '99999999R',
email: 'another@example.com')
login_as(user)
visit verified_user_path
expect(page).to have_content 'roc*@example.com'
expect(page).to have_content 'rol*@example.com'
expect(page).not_to have_content 'ano*@example.com'
end
scenario "Verified phones" do
user = create(:user,
residence_verified_at: Time.current,
document_number: '12345678Z')
create(:verified_user,
document_number: '12345678Z',
phone: '611111111')
create(:verified_user,
document_number: '12345678Z',
phone: '622222222')
create(:verified_user,
document_number: '99999999R',
phone: '633333333')
login_as(user)
visit verified_user_path
expect(page).to have_content '******111'
expect(page).to have_content '******222'
expect(page).not_to have_content '******333'
end
scenario "No emails or phones" do
user = create(:user,
residence_verified_at: Time.current,
document_number: '12345678Z')
create(:verified_user,
document_number: '12345678Z')
create(:verified_user,
document_number: '12345678Z')
login_as(user)
visit verified_user_path
expect(page).to have_current_path(new_sms_path)
end
scenario "Select a verified email" do
user = create(:user,
residence_verified_at: Time.current,
document_number: '12345678Z')
verified_user = create(:verified_user,
document_number: '12345678Z',
email: 'rock@example.com')
login_as(user)
visit verified_user_path
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'
expect(page).to have_current_path(account_path)
end
scenario "Select a verified phone" do
user = create(:user,
residence_verified_at: Time.current,
document_number: '12345678Z')
verified_user = create(:verified_user,
document_number: '12345678Z',
phone: '611111111')
login_as(user)
visit verified_user_path
within("#verified_user_#{verified_user.id}_phone") do
click_button "Send code"
end
expect(page).to have_content 'Enter the confirmation code'
end
scenario "Continue without selecting any verified information" do
user = create(:user,
residence_verified_at: Time.current,
document_number: '12345678Z')
create(:verified_user,
document_number: '12345678Z',
phone: '611111111')
login_as(user)
visit verified_user_path
click_link "Use other phone"
expect(page).to have_current_path(new_sms_path)
end
scenario "No verified information" do
user = create(:user, residence_verified_at: Time.current)
login_as(user)
visit verified_user_path
expect(page).to have_current_path(new_sms_path)
end
end