diff options
Diffstat (limited to 'users/test')
-rw-r--r-- | users/test/unit/email_aliases_test.rb | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/users/test/unit/email_aliases_test.rb b/users/test/unit/email_aliases_test.rb index cec0c0b..3c731e1 100644 --- a/users/test/unit/email_aliases_test.rb +++ b/users/test/unit/email_aliases_test.rb @@ -12,7 +12,7 @@ class EmailAliasTest < ActiveSupport::TestCase assert_equal [], @user.email_aliases end - test "adding email alias" do + test "adding email alias through params" do email_alias = "valid_alias@domain.net" @user.attributes = {:email_aliases_attributes => {"0" => {:email => email_alias}}} assert @user.changed? @@ -20,31 +20,35 @@ class EmailAliasTest < ActiveSupport::TestCase assert_equal email_alias, @user.email_aliases.first.to_s end + test "adding email alias directly" do + email_alias = "valid_alias@domain.net" + @user.add_email(email_alias) + assert @user.changed? + assert @user.save + assert_equal email_alias, @user.reload.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.add_email(email_alias) @user.save - # add some more - @user.attributes = {:email_aliases_attributes => email_aliases} + # add again + @user.add_email(email_alias) 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} + @user.email = email_alias + @user.add_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}}} + @user.add_email(email_alias) assert @user.save assert_equal @user, User.find_by_email_or_alias(email_alias) assert_equal @user, User.find_by_email_alias(email_alias) |