summaryrefslogtreecommitdiff
path: root/users/test
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2012-12-13 15:47:08 +0100
committerAzul <azul@leap.se>2012-12-13 15:47:08 +0100
commit6ff4bd80e0394260c8cd300cfb051451fc7e358f (patch)
tree38c89677c8cef54c5c412c8d6fd3388e8786692d /users/test
parentd7890d7c8af6691df2817a9b6654acf9377847bd (diff)
ensure users do not have duplicate email aliases
nor aliases that are the same as the original email for that matter
Diffstat (limited to 'users/test')
-rw-r--r--users/test/unit/email_aliases_test.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/users/test/unit/email_aliases_test.rb b/users/test/unit/email_aliases_test.rb
index 5ded5bb..cec0c0b 100644
--- a/users/test/unit/email_aliases_test.rb
+++ b/users/test/unit/email_aliases_test.rb
@@ -20,6 +20,28 @@ class EmailAliasTest < ActiveSupport::TestCase
assert_equal email_alias, @user.email_aliases.first.to_s
end
+ test "duplicated email aliases are invalid" do
+ email_alias = "valid_alias@domain.net"
+ email_aliases = {
+ "0" => {:email => email_alias},
+ "1" => {:email => email_alias}
+ }
+ @user.attributes = {:email_aliases_attributes => email_aliases}
+ @user.save
+ # add some more
+ @user.attributes = {:email_aliases_attributes => email_aliases}
+ assert @user.changed?
+ assert !@user.valid?
+ end
+
+ test "email is invalid as email alias" do
+ email_alias = "valid_alias@domain.net"
+ email_aliases = { "0" => {:email => email_alias} }
+ @user.attributes = {:email_aliases_attributes => email_aliases, :email => email_alias}
+ assert @user.changed?
+ assert !@user.valid?
+ end
+
test "find user by email alias" do
email_alias = "valid_alias@domain.net"
@user.attributes = {:email_aliases_attributes => {"0" => {:email => email_alias}}}