Test "sign out"

This commit is contained in:
cryptogopher 2023-04-16 02:41:04 +02:00
parent 6633e3a835
commit 71bc68efb3
3 changed files with 19 additions and 14 deletions

View File

@ -5,4 +5,11 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
Selenium::WebDriver.logger.ignore(:capabilities)
driven_by :selenium, using: :headless_firefox, screen_size: [1600, 900]
def sign_in(user: users.sample, password: randomize_user_password!(user))
visit new_user_session_url
fill_in User.human_attribute_name(:email).capitalize, with: user.email
fill_in User.human_attribute_name(:password).capitalize, with: password
click_on t(:sign_in)
end
end

View File

@ -2,3 +2,4 @@ admin:
email: admin@dev27.fixin.me
status: admin
encrypted_password: <%= Devise::Encryptor.digest(User, 'admin') %>
confirmed_at: <%= DateTime.now %>

View File

@ -6,28 +6,25 @@ class UsersTest < ApplicationSystemTestCase
end
test "sign in" do
visit new_user_session_url
users.sample.then do |user|
fill_in User.human_attribute_name(:email).capitalize, with: user.email
fill_in User.human_attribute_name(:password).capitalize, with: randomize_user_password!(user)
end
click_on t(:sign_in)
sign_in
assert_no_current_path new_user_session_path
assert_text t('devise.sessions.signed_in')
end
test "sign in fails with invalid password" do
visit new_user_session_url
users.sample.then do |user|
fill_in User.human_attribute_name(:email).capitalize, with: user.email
fill_in User.human_attribute_name(:password).capitalize, with: random_password
end
click_on t(:sign_in)
sign_in password: random_password
assert_current_path new_user_session_path
assert_text t('devise.failure.invalid', authentication_keys: User.human_attribute_name(:email))
end
# TODO: require e-mail confirmation on registration
test "sign out" do
sign_in user: @admin
visit root_url
click_on t(:sign_out)
assert_current_path new_user_session_path
assert_text t('devise.sessions.signed_out')
end
test "register" do
visit new_user_session_url
click_link t(:register)
@ -39,7 +36,7 @@ class UsersTest < ApplicationSystemTestCase
click_on t(:register)
end
assert_no_current_path new_user_registration_path
assert_text t('devise.registrations.signed_up')
assert_text t('devise.registrations.signed_up_but_unconfirmed')
end
#test "visiting the index" do