diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-01-17 14:14:12 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-01-17 14:14:12 +0000 |
commit | e3618bdbecd9b5d86eb6d2c8c256ba3fcdf05189 (patch) | |
tree | 3b54c10eecece6cc2674491a76a4e5e932d82d1e /test/unit/user_test.rb | |
parent | 7f29c2fd88f271ac59f1c10b90942fec57b35ae2 (diff) | |
download | redmine-e3618bdbecd9b5d86eb6d2c8c256ba3fcdf05189.tar.gz redmine-e3618bdbecd9b5d86eb6d2c8c256ba3fcdf05189.zip |
Add support for multiple email addresses per user (#4244).
git-svn-id: http://svn.redmine.org/redmine/trunk@13886 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/user_test.rb')
-rw-r--r-- | test/unit/user_test.rb | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index fbe35f253..429f2908b 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -18,7 +18,7 @@ require File.expand_path('../../test_helper', __FILE__) class UserTest < ActiveSupport::TestCase - fixtures :users, :members, :projects, :roles, :member_roles, :auth_sources, + fixtures :users, :email_addresses, :members, :projects, :roles, :member_roles, :auth_sources, :trackers, :issue_statuses, :projects_trackers, :watchers, @@ -57,11 +57,41 @@ class UserTest < ActiveSupport::TestCase assert_equal "foo@bar.com", u.mail end - def test_mail_validation - u = User.new + def test_should_create_email_address + u = User.new(:firstname => "new", :lastname => "user") + u.login = "create_email_address" + u.mail = "defaultemail@somenet.foo" + assert u.save + u.reload + assert u.email_address + assert_equal "defaultemail@somenet.foo", u.email_address.address + assert_equal true, u.email_address.is_default + assert_equal true, u.email_address.notify + end + + def test_should_not_create_user_without_mail + set_language_if_valid 'en' + u = User.new(:firstname => "new", :lastname => "user") + u.login = "user_without_mail" + assert !u.save + assert_equal ["Email #{I18n.translate('activerecord.errors.messages.blank')}"], u.errors.full_messages + end + + def test_should_not_create_user_with_blank_mail + set_language_if_valid 'en' + u = User.new(:firstname => "new", :lastname => "user") + u.login = "user_with_blank_mail" + u.mail = '' + assert !u.save + assert_equal ["Email #{I18n.translate('activerecord.errors.messages.blank')}"], u.errors.full_messages + end + + def test_should_not_update_user_with_blank_mail + set_language_if_valid 'en' + u = User.find(2) u.mail = '' - assert !u.valid? - assert_include I18n.translate('activerecord.errors.messages.blank'), u.errors[:mail] + assert !u.save + assert_equal ["Email #{I18n.translate('activerecord.errors.messages.blank')}"], u.errors.full_messages end def test_login_length_validation @@ -151,6 +181,7 @@ class UserTest < ActiveSupport::TestCase end def test_mail_uniqueness_should_not_be_case_sensitive + set_language_if_valid 'en' u = User.new(:firstname => "new", :lastname => "user", :mail => "newuser@somenet.foo") u.login = 'newuser1' u.password, u.password_confirmation = "password", "password" @@ -160,7 +191,7 @@ class UserTest < ActiveSupport::TestCase u.login = 'newuser2' u.password, u.password_confirmation = "password", "password" assert !u.save - assert_include I18n.translate('activerecord.errors.messages.taken'), u.errors[:mail] + assert_include "Email #{I18n.translate('activerecord.errors.messages.taken')}", u.errors.full_messages end def test_update @@ -677,7 +708,7 @@ class UserTest < ActiveSupport::TestCase assert_kind_of AnonymousUser, anon1 anon2 = AnonymousUser.create( :lastname => 'Anonymous', :firstname => '', - :mail => '', :login => '', :status => 0) + :login => '', :status => 0) assert_equal 1, anon2.errors.count end |