diff options
Diffstat (limited to 'users/test')
-rw-r--r-- | users/test/unit/identity_test.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/users/test/unit/identity_test.rb b/users/test/unit/identity_test.rb index fa88315..02f14c0 100644 --- a/users/test/unit/identity_test.rb +++ b/users/test/unit/identity_test.rb @@ -70,6 +70,32 @@ 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 some 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 + + test "only lowercase destination" do + id = Identity.create_for @user, address: @user.email_address, destination: forward_address.capitalize + assert !id.valid? + assert id.errors.messages[:destination].include? "letters must be lowercase" + end + def alias_name @alias_name ||= Faker::Internet.user_name end |