summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/integration/browser/account_livecycle_test.rb2
-rw-r--r--test/integration/browser/password_validation_test.rb33
-rw-r--r--test/support/browser_integration_test.rb2
3 files changed, 20 insertions, 17 deletions
diff --git a/test/integration/browser/account_livecycle_test.rb b/test/integration/browser/account_livecycle_test.rb
index 85dbf13..835dfdc 100644
--- a/test/integration/browser/account_livecycle_test.rb
+++ b/test/integration/browser/account_livecycle_test.rb
@@ -24,7 +24,7 @@ class AccountLivecycleTest < BrowserIntegrationTest
visit '/signup'
fill_in 'Username', with: username
- fill_in 'Password', with: password
+ fill_in 'Password', with: password, match: :prefer_exact
fill_in 'Password confirmation', with: password
click_on 'Sign Up'
diff --git a/test/integration/browser/password_validation_test.rb b/test/integration/browser/password_validation_test.rb
index 51fcc5d..c5f0676 100644
--- a/test/integration/browser/password_validation_test.rb
+++ b/test/integration/browser/password_validation_test.rb
@@ -3,29 +3,32 @@ require 'test_helper'
class PasswordValidationTest < BrowserIntegrationTest
test "password confirmation is validated" do
- username ||= "test_#{SecureRandom.urlsafe_base64}".downcase
- password ||= SecureRandom.base64
- visit '/signup'
- fill_in 'Username', with: username
- fill_in 'Password', with: password
- fill_in 'Password confirmation', with: password + "-typo"
- click_on 'Sign Up'
+ password = SecureRandom.base64
+ submit_signup_form password: password, confirmation: password + 'a'
assert page.has_content? "does not match."
assert_equal '/signup', current_path
- assert page.has_selector? ".error #srp_password_confirmation"
+ assert_error_for 'srp_password_confirmation'
end
test "password needs to be at least 8 chars long" do
+ submit_signup_form password: SecureRandom.base64[0,7]
+ assert page.has_content? "needs to be at least 8 characters long"
+ assert_equal '/signup', current_path
+ assert_error_for 'srp_password'
+ end
+
+ def submit_signup_form(username: nil, password: nil, confirmation: nil)
username ||= "test_#{SecureRandom.urlsafe_base64}".downcase
- password ||= SecureRandom.base64[0,7]
+ password ||= SecureRandom.base64
+ confirmation ||= password
visit '/signup'
fill_in 'Username', with: username
- fill_in 'Password', with: password
- fill_in 'Password confirmation', with: password
+ fill_in 'Password', with: password, match: :prefer_exact
+ fill_in 'Password confirmation', with: confirmation
click_on 'Sign Up'
- assert page.has_content? "needs to be at least 8 characters long"
- assert_equal '/signup', current_path
- assert page.has_selector? ".error #srp_password"
end
-end
+ def assert_error_for(id)
+ assert page.has_selector? ".has-error ##{id}"
+ end
+end
diff --git a/test/support/browser_integration_test.rb b/test/support/browser_integration_test.rb
index c0fef0a..d00e606 100644
--- a/test/support/browser_integration_test.rb
+++ b/test/support/browser_integration_test.rb
@@ -36,7 +36,7 @@ class BrowserIntegrationTest < RackStackTest
password ||= SecureRandom.base64
visit '/signup'
fill_in 'Username', with: username
- fill_in 'Password', with: password
+ fill_in 'Password', with: password, match: :prefer_exact
if APP_CONFIG[:invite_required]
fill_in 'Invite code', with: @testcode.invite_code
end