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.
This commit is contained in:
Javi Martín
2019-04-29 12:26:17 +02:00
parent 12774c7484
commit 9427f01442
190 changed files with 14 additions and 54 deletions

View File

@@ -0,0 +1,78 @@
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