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,100 @@
require "rails_helper"
describe "Verification path" do
scenario "User is an organization" do
user = create(:user, verified_at: Time.current)
create(:organization, user: user)
login_as(user)
visit verification_path
expect(page).to have_current_path(account_path)
end
scenario "User is verified" do
user = create(:user, verified_at: Time.current)
login_as(user)
visit verification_path
expect(page).to have_current_path(account_path)
expect(page).to have_content "Your account is already verified"
end
scenario "User requested a letter" do
user = create(:user, confirmed_phone: "623456789", residence_verified_at: Time.current,
letter_requested_at: Time.current, letter_verification_code: "666")
login_as(user)
visit verification_path
expect(page).to have_current_path(edit_letter_path)
end
scenario "User is level two verified" do
user = create(:user, residence_verified_at: Time.current, confirmed_phone: "666666666")
login_as(user)
visit verification_path
expect(page).to have_current_path(new_letter_path)
end
scenario "User received a verification sms" do
user = create(:user, residence_verified_at: Time.current, unconfirmed_phone: "666666666", sms_confirmation_code: "666")
login_as(user)
visit verification_path
expect(page).to have_current_path(edit_sms_path)
end
scenario "User received verification email" do
user = create(:user, residence_verified_at: Time.current, email_verification_token: "1234")
login_as(user)
visit verification_path
verification_redirect = current_path
visit verified_user_path
expect(page).to have_current_path(verification_redirect)
end
scenario "User has verified residence" do
user = create(:user, residence_verified_at: Time.current)
login_as(user)
visit verification_path
verification_redirect = current_path
visit verified_user_path
expect(page).to have_current_path(verification_redirect)
end
scenario "User has not started verification process" do
user = create(:user)
login_as(user)
visit verification_path
expect(page).to have_current_path(new_residence_path)
end
scenario "A verified user can not access verification pages" do
user = create(:user, verified_at: Time.current)
login_as(user)
verification_paths = [new_residence_path, verified_user_path, edit_sms_path, new_letter_path]
verification_paths.each do |step_path|
visit step_path
expect(page).to have_current_path(account_path)
expect(page).to have_content "Your account is already verified"
end
end
end