We get rid of database cleaner, and JavaScript tests are faster because between tests we now rollback transactions instead of truncating the database.
136 lines
3.7 KiB
Ruby
136 lines
3.7 KiB
Ruby
require "rails_helper"
|
|
|
|
describe "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
|