summaryrefslogtreecommitdiffstats
path: root/test/unit/user_test.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2015-01-17 14:14:12 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2015-01-17 14:14:12 +0000
commite3618bdbecd9b5d86eb6d2c8c256ba3fcdf05189 (patch)
tree3b54c10eecece6cc2674491a76a4e5e932d82d1e /test/unit/user_test.rb
parent7f29c2fd88f271ac59f1c10b90942fec57b35ae2 (diff)
downloadredmine-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.rb45
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