Files
nairobi/spec/system/verification/verified_user_spec.rb
Javi Martín 9427f01442 Use system specs instead of feature specs
We get rid of database cleaner, and JavaScript tests are faster because
between tests we now rollback transactions instead of truncating the
database.
2020-04-24 15:43:54 +02:00

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