diff options
author | Azul <azul@leap.se> | 2013-10-10 09:52:16 +0200 |
---|---|---|
committer | Azul <azul@leap.se> | 2013-10-10 09:52:16 +0200 |
commit | b676e6e6f5367d1be540af817062a77ee3fe7f00 (patch) | |
tree | 107c50e838d3fe2feb7da932869a9aabc62ce46b /users/test | |
parent | b60a75d8cbe25ac47bb037e9e54a7cf4e2ba4e1f (diff) | |
parent | eaedf19e2e54ccb9933caa8dc21df13e48609b18 (diff) |
Merge remote-tracking branch 'leap/develop'
Diffstat (limited to 'users/test')
-rw-r--r-- | users/test/integration/browser/account_test.rb | 36 | ||||
-rw-r--r-- | users/test/unit/identity_test.rb | 20 |
2 files changed, 56 insertions, 0 deletions
diff --git a/users/test/integration/browser/account_test.rb b/users/test/integration/browser/account_test.rb index 8c2c997..1deda45 100644 --- a/users/test/integration/browser/account_test.rb +++ b/users/test/integration/browser/account_test.rb @@ -24,8 +24,44 @@ class AccountTest < BrowserIntegrationTest fill_in 'Password', with: password click_on 'Log In' assert page.has_content?("Welcome #{username}") + User.find_by_login(username).account.destroy end + test "change password" do + username, password = submit_signup + click_on "Account Settings" + within('#update_login_and_password') do + fill_in 'Password', with: "other password" + fill_in 'Password confirmation', with: "other password" + click_on 'Save' + end + click_on 'Logout' + click_on 'Log In' + fill_in 'Username', with: username + fill_in 'Password', with: "other password" + click_on 'Log In' + assert page.has_content?("Welcome #{username}") + User.find_by_login(username).account.destroy + end + + test "change pgp key" do + pgp_key = "My PGP Key Stub" + username, password = submit_signup + click_on "Account Settings" + within('#update_pgp_key') do + fill_in 'Public key', with: pgp_key + click_on 'Save' + end + page.assert_selector 'input[value="Saving..."]' + # at some point we're done: + page.assert_no_selector 'input[value="Saving..."]' + assert page.has_field? 'Public key', with: pgp_key + user = User.find_by_login(username) + assert_equal pgp_key, user.public_key + user.account.destroy + end + + # trying to seed an invalid A for srp login test "detects attempt to circumvent SRP" do user = FactoryGirl.create :user diff --git a/users/test/unit/identity_test.rb b/users/test/unit/identity_test.rb index fa88315..0842a77 100644 --- a/users/test/unit/identity_test.rb +++ b/users/test/unit/identity_test.rb @@ -70,6 +70,26 @@ class IdentityTest < ActiveSupport::TestCase id.destroy end + test "fail to add non-local email address as identity address" do + id = Identity.for @user, address: forward_address + assert !id.valid? + assert_match /needs to end in/, id.errors[:address].first + end + + test "alias must meet same conditions as login" do + id = Identity.create_for @user, address: alias_name.capitalize + assert !id.valid? + #hacky way to do this, but okay for now: + assert id.errors.messages.flatten(2).include? "Must begin with a lowercase letter" + assert id.errors.messages.flatten(2).include? "Only lowercase letters, digits, . - and _ allowed." + end + + test "destination must be valid email address" do + id = Identity.create_for @user, address: @user.email_address, destination: 'ASKJDLFJD' + assert !id.valid? + assert id.errors.messages[:destination].include? "needs to be a valid email address" + end + def alias_name @alias_name ||= Faker::Internet.user_name end |