Files
nairobi/spec/features/verification/sms_spec.rb
Javi Martín db97f9d08c Add and apply rubocop rules for empty lines
We were very inconsistent regarding these rules.

Personally I prefer no empty lines around blocks, clases, etc... as
recommended by the Ruby style guide [1], and they're the default values
in rubocop, so those are the settings I'm applying.

The exception is the `private` access modifier, since we were leaving
empty lines around it most of the time. That's the default rubocop rule
as well. Personally I don't have a strong preference about this one.


[1] https://rubystyle.guide/#empty-lines-around-bodies
2019-10-24 17:11:47 +02:00

79 lines
1.9 KiB
Ruby

require "rails_helper"
describe "SMS Verification" do
scenario "Verify" do
user = create(:user, residence_verified_at: Time.current)
login_as(user)
visit new_sms_path
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"
end
scenario "Errors on phone number" do
user = create(:user, residence_verified_at: Time.current)
login_as(user)
visit new_sms_path
click_button "Send"
expect(page).to have_content error_message("phone")
end
scenario "Errors on verification code" do
user = create(:user, residence_verified_at: Time.current)
login_as(user)
visit new_sms_path
fill_in "sms_phone", with: "611111111"
click_button "Send"
expect(page).to have_content "Security code confirmation"
click_button "Send"
expect(page).to have_content "Incorrect confirmation code"
end
scenario "Deny access unless residency verified" do
user = create(:user)
login_as(user)
visit new_sms_path
expect(page).to have_content "You have not yet confirmed your residency"
expect(page).to have_current_path(new_residence_path)
end
scenario "5 tries allowed" do
user = create(:user, residence_verified_at: Time.current)
login_as(user)
visit new_sms_path
5.times do
fill_in "sms_phone", with: "611111111"
click_button "Send"
click_link "Click here to send it again"
end
expect(page).to have_content "You have reached the maximum number of attempts. Please try again later."
expect(page).to have_current_path(account_path)
visit new_sms_path
expect(page).to have_content "You have reached the maximum number of attempts. Please try again later."
expect(page).to have_current_path(account_path)
end
end