forked from fixin.me/fixin.me
Randomize sign-in tests
This commit is contained in:
parent
a13c0ee5fe
commit
cc857a74bf
@ -7,17 +7,21 @@ class UsersTest < ApplicationSystemTestCase
|
|||||||
|
|
||||||
test "sign in" do
|
test "sign in" do
|
||||||
visit new_user_session_url
|
visit new_user_session_url
|
||||||
fill_in User.human_attribute_name(:email), with: @admin.email
|
users.sample.then do |user|
|
||||||
fill_in User.human_attribute_name(:password), with: 'admin'
|
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)
|
click_on t(:sign_in)
|
||||||
assert_no_current_path new_user_session_path
|
assert_no_current_path new_user_session_path
|
||||||
assert_text t('devise.sessions.signed_in')
|
assert_text t('devise.sessions.signed_in')
|
||||||
end
|
end
|
||||||
|
|
||||||
test "sign in fails with invalid credentials" do
|
test "sign in fails with invalid password" do
|
||||||
visit new_user_session_url
|
visit new_user_session_url
|
||||||
fill_in User.human_attribute_name(:email), with: @admin.email
|
users.sample.then do |user|
|
||||||
fill_in User.human_attribute_name(:password), with: 'badpass'
|
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)
|
click_on t(:sign_in)
|
||||||
assert_current_path new_user_session_path
|
assert_current_path new_user_session_path
|
||||||
assert_text t('devise.failure.invalid', authentication_keys: User.human_attribute_name(:email))
|
assert_text t('devise.failure.invalid', authentication_keys: User.human_attribute_name(:email))
|
||||||
|
@ -10,4 +10,12 @@ class ActiveSupport::TestCase
|
|||||||
fixtures :all
|
fixtures :all
|
||||||
|
|
||||||
include AbstractController::Translation
|
include AbstractController::Translation
|
||||||
|
|
||||||
|
def randomize_user_password!(user)
|
||||||
|
random_password.tap { |p| user.update!(password: p) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def random_password
|
||||||
|
SecureRandom.alphanumeric rand(Rails.configuration.devise.password_length)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user