Merge pull request #472 from AyuntamientoMadrid/verification-path
Verification path
This commit is contained in:
91
spec/features/verification/verification_path_spec.rb
Normal file
91
spec/features/verification/verification_path_spec.rb
Normal file
@@ -0,0 +1,91 @@
|
||||
require 'rails_helper'
|
||||
|
||||
feature 'Verification path' do
|
||||
|
||||
scenario "User is verified" do
|
||||
user = create(:user, verified_at: Time.now)
|
||||
|
||||
login_as(user)
|
||||
visit verification_path
|
||||
|
||||
expect(current_path).to eq account_path
|
||||
expect(page).to have_content 'You are a verified user!'
|
||||
end
|
||||
|
||||
scenario "User requested a letter" do
|
||||
user = create(:user, confirmed_phone: "623456789", residence_verified_at: Time.now,
|
||||
letter_requested_at: Time.now, letter_verification_code: "666")
|
||||
|
||||
login_as(user)
|
||||
visit verification_path
|
||||
|
||||
expect(current_path).to eq edit_letter_path
|
||||
end
|
||||
|
||||
scenario "User is level two verified" do
|
||||
user = create(:user, residence_verified_at: Time.now, confirmed_phone: "666666666")
|
||||
|
||||
login_as(user)
|
||||
visit verification_path
|
||||
|
||||
expect(current_path).to eq new_letter_path
|
||||
end
|
||||
|
||||
scenario "User received a verification sms" do
|
||||
user = create(:user, residence_verified_at: Time.now, unconfirmed_phone: "666666666", sms_confirmation_code: "666")
|
||||
|
||||
login_as(user)
|
||||
visit verification_path
|
||||
|
||||
expect(current_path).to eq edit_sms_path
|
||||
end
|
||||
|
||||
scenario "User received verification email" do
|
||||
user = create(:user, letter_requested_at: Time.now, letter_verification_code: "666")
|
||||
|
||||
login_as(user)
|
||||
visit verification_path
|
||||
|
||||
verification_redirect = current_path
|
||||
|
||||
visit verified_user_path
|
||||
|
||||
expect(current_path).to eq verification_redirect
|
||||
end
|
||||
|
||||
scenario "User has verified residence" do
|
||||
user = create(:user, residence_verified_at: Time.now)
|
||||
|
||||
login_as(user)
|
||||
visit verification_path
|
||||
|
||||
verification_redirect = current_path
|
||||
|
||||
visit verified_user_path
|
||||
|
||||
expect(current_path).to eq verification_redirect
|
||||
end
|
||||
|
||||
scenario "User has not started verification process" do
|
||||
user = create(:user)
|
||||
|
||||
login_as(user)
|
||||
visit verification_path
|
||||
|
||||
expect(current_path).to eq new_residence_path
|
||||
end
|
||||
|
||||
scenario "A verified user can not access verification pages" do
|
||||
user = create(:user, verified_at: Time.now)
|
||||
|
||||
login_as(user)
|
||||
|
||||
verification_paths = [new_residence_path, verified_user_path, edit_sms_path, new_letter_path, edit_letter_path]
|
||||
verification_paths.each do |step_path|
|
||||
visit step_path
|
||||
|
||||
expect(current_path).to eq account_path
|
||||
expect(page).to have_content 'You are a verified user!'
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -304,6 +304,42 @@ describe User do
|
||||
user = create(:user, verified_at: Time.now, confirmed_phone: "123456789", residence_verified_at: Time.now)
|
||||
expect(user.unverified?).to eq(false)
|
||||
end
|
||||
|
||||
it "verification_email_sent? is true only if user has email_verification_token" do
|
||||
user = create(:user, email_verification_token: "xxxxxxx")
|
||||
expect(user.verification_email_sent?).to eq(true)
|
||||
|
||||
user = create(:user, email_verification_token: nil)
|
||||
expect(user.verification_email_sent?).to eq(false)
|
||||
end
|
||||
|
||||
it "verification_sms_sent? is true only if user has unconfirmed_phone and sms_confirmation_code" do
|
||||
user = create(:user, unconfirmed_phone: "666666666", sms_confirmation_code: "666")
|
||||
expect(user.verification_sms_sent?).to eq(true)
|
||||
|
||||
user = create(:user, unconfirmed_phone: nil, sms_confirmation_code: "666")
|
||||
expect(user.verification_sms_sent?).to eq(false)
|
||||
|
||||
user = create(:user, unconfirmed_phone: "666666666", sms_confirmation_code: nil)
|
||||
expect(user.verification_sms_sent?).to eq(false)
|
||||
|
||||
user = create(:user, unconfirmed_phone: nil, sms_confirmation_code: nil)
|
||||
expect(user.verification_sms_sent?).to eq(false)
|
||||
end
|
||||
|
||||
it "verification_letter_sent? is true only if user has letter_requested_at and letter_verification_code" do
|
||||
user = create(:user, letter_requested_at: Time.now, letter_verification_code: "666")
|
||||
expect(user.verification_letter_sent?).to eq(true)
|
||||
|
||||
user = create(:user, letter_requested_at: nil, letter_verification_code: "666")
|
||||
expect(user.verification_letter_sent?).to eq(false)
|
||||
|
||||
user = create(:user, letter_requested_at: Time.now, letter_verification_code: nil)
|
||||
expect(user.verification_letter_sent?).to eq(false)
|
||||
|
||||
user = create(:user, letter_requested_at: nil, letter_verification_code: nil)
|
||||
expect(user.verification_letter_sent?).to eq(false)
|
||||
end
|
||||
end
|
||||
|
||||
describe "cache" do
|
||||
|
||||
Reference in New Issue
Block a user