forked from fixin.me/fixin.me
Update tests to match labeled form changes
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
require "test_helper"
|
require "test_helper"
|
||||||
|
|
||||||
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
|
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
|
||||||
extend ActionView::Helpers::TranslationHelper
|
|
||||||
include ActionView::Helpers::UrlHelper
|
include ActionView::Helpers::UrlHelper
|
||||||
|
|
||||||
# NOTE: geckodriver installed with Firefox, ignore incompatibility warning
|
# NOTE: geckodriver installed with Firefox, ignore incompatibility warning
|
||||||
@@ -19,8 +18,8 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
|
|||||||
|
|
||||||
def sign_in(user: users.select(&:confirmed?).sample, password: randomize_user_password!(user))
|
def sign_in(user: users.select(&:confirmed?).sample, password: randomize_user_password!(user))
|
||||||
visit new_user_session_url
|
visit new_user_session_url
|
||||||
fill_in User.human_attribute_name(:email).capitalize, with: user.email
|
fill_in User.human_attribute_name(:email), with: user.email
|
||||||
fill_in User.human_attribute_name(:password).capitalize, with: password
|
fill_in User.human_attribute_name(:password), with: password
|
||||||
click_on t(:sign_in)
|
click_on t(:sign_in)
|
||||||
user
|
user
|
||||||
end
|
end
|
||||||
@@ -30,6 +29,13 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
|
|||||||
evaluate_script("arguments[0].insertAdjacentHTML('beforeend', '#{button.html_safe}');", after)
|
evaluate_script("arguments[0].insertAdjacentHTML('beforeend', '#{button.html_safe}');", after)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Allow skipping interpolations when translating for testing purposes
|
||||||
|
INTERPOLATION_PATTERNS = Regexp.union(I18n.config.interpolation_patterns)
|
||||||
|
def translate(key, **options)
|
||||||
|
options.empty? ? super.split(INTERPOLATION_PATTERNS, 2).first : super
|
||||||
|
end
|
||||||
|
alias :t :translate
|
||||||
|
|
||||||
#def assert_stale(element)
|
#def assert_stale(element)
|
||||||
# assert_raises(Selenium::WebDriver::Error::StaleElementReferenceError) { element.tag_name }
|
# assert_raises(Selenium::WebDriver::Error::StaleElementReferenceError) { element.tag_name }
|
||||||
#end
|
#end
|
||||||
|
|||||||
@@ -6,15 +6,21 @@ class UsersTest < ApplicationSystemTestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "sign in" do
|
test "sign in" do
|
||||||
|
visit new_user_session_path
|
||||||
|
assert find_link(href: new_user_session_path)[:disabled]
|
||||||
|
|
||||||
sign_in
|
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 password" do
|
test 'sign in fails with invalid password' do
|
||||||
sign_in password: random_password
|
sign_in password: random_password
|
||||||
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.not_found_in_database',
|
||||||
|
authentication_keys: User.human_attribute_name(:email))
|
||||||
|
assert find_link(href: new_user_session_path)[:disabled]
|
||||||
|
assert_not_empty find_field(User.human_attribute_name(:email)).value
|
||||||
end
|
end
|
||||||
|
|
||||||
test "sign out" do
|
test "sign out" do
|
||||||
@@ -29,7 +35,7 @@ class UsersTest < ApplicationSystemTestCase
|
|||||||
visit new_user_session_url
|
visit new_user_session_url
|
||||||
click_on t(:recover_password)
|
click_on t(:recover_password)
|
||||||
|
|
||||||
fill_in User.human_attribute_name(:email).capitalize,
|
fill_in User.human_attribute_name(:email),
|
||||||
with: users.select(&:confirmed?).sample.email
|
with: users.select(&:confirmed?).sample.email
|
||||||
assert_emails 1 do
|
assert_emails 1 do
|
||||||
click_on t(:recover_password)
|
click_on t(:recover_password)
|
||||||
@@ -42,8 +48,8 @@ class UsersTest < ApplicationSystemTestCase
|
|||||||
visit Capybara.string(mail.body.to_s).find_link("Change my password")[:href]
|
visit Capybara.string(mail.body.to_s).find_link("Change my password")[:href]
|
||||||
end
|
end
|
||||||
new_password = random_password
|
new_password = random_password
|
||||||
fill_in t("users.passwords.edit.new_password"), with: new_password
|
fill_in t("users.passwords.edit.password_html"), with: new_password
|
||||||
fill_in t("users.passwords.edit.password_confirmation"), with: new_password
|
fill_in t("helpers.label.user.password_confirmation"), with: new_password
|
||||||
assert_emails 1 do
|
assert_emails 1 do
|
||||||
click_on t("users.passwords.edit.update_password")
|
click_on t("users.passwords.edit.update_password")
|
||||||
# Wait until redirected to make sure async request has been processed
|
# Wait until redirected to make sure async request has been processed
|
||||||
@@ -56,9 +62,9 @@ class UsersTest < ApplicationSystemTestCase
|
|||||||
visit new_user_session_url
|
visit new_user_session_url
|
||||||
click_on t(:register)
|
click_on t(:register)
|
||||||
|
|
||||||
fill_in User.human_attribute_name(:email).capitalize, with: random_email
|
fill_in User.human_attribute_name(:email), with: random_email
|
||||||
password = random_password
|
password = random_password
|
||||||
fill_in User.human_attribute_name(:password).capitalize, with: password
|
fill_in User.human_attribute_name(:password), with: password
|
||||||
fill_in t("users.registrations.new.password_confirmation"), with: password
|
fill_in t("users.registrations.new.password_confirmation"), with: password
|
||||||
assert_difference ->{User.count}, 1 do
|
assert_difference ->{User.count}, 1 do
|
||||||
assert_emails 1 do
|
assert_emails 1 do
|
||||||
@@ -82,7 +88,7 @@ class UsersTest < ApplicationSystemTestCase
|
|||||||
click_on t(:register)
|
click_on t(:register)
|
||||||
click_on t(:resend_confirmation)
|
click_on t(:resend_confirmation)
|
||||||
|
|
||||||
fill_in User.human_attribute_name(:email).capitalize,
|
fill_in User.human_attribute_name(:email),
|
||||||
with: users.reject(&:confirmed?).sample.email
|
with: users.reject(&:confirmed?).sample.email
|
||||||
assert_emails 1 do
|
assert_emails 1 do
|
||||||
click_on t(:resend_confirmation)
|
click_on t(:resend_confirmation)
|
||||||
|
|||||||
Reference in New Issue
Block a user