@@ -54,7 +54,7 class User < ActiveRecord::Base | |||
|
54 | 54 | |
|
55 | 55 | validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) } |
|
56 | 56 | validates_uniqueness_of :login, :if => Proc.new { |user| !user.login.blank? } |
|
57 | validates_uniqueness_of :mail, :if => Proc.new { |user| !user.mail.blank? } | |
|
57 | validates_uniqueness_of :mail, :if => Proc.new { |user| !user.mail.blank? }, :case_sensitive => false | |
|
58 | 58 | # Login must contain lettres, numbers, underscores only |
|
59 | 59 | validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i |
|
60 | 60 | validates_length_of :login, :maximum => 30 |
@@ -47,6 +47,19 class UserTest < Test::Unit::TestCase | |||
|
47 | 47 | |
|
48 | 48 | user.password, user.password_confirmation = "password", "password" |
|
49 | 49 | assert user.save |
|
50 | end | |
|
51 | ||
|
52 | def test_mail_uniqueness_should_not_be_case_sensitive | |
|
53 | u = User.new(:firstname => "new", :lastname => "user", :mail => "newuser@somenet.foo") | |
|
54 | u.login = 'newuser1' | |
|
55 | u.password, u.password_confirmation = "password", "password" | |
|
56 | assert u.save | |
|
57 | ||
|
58 | u = User.new(:firstname => "new", :lastname => "user", :mail => "newUser@Somenet.foo") | |
|
59 | u.login = 'newuser2' | |
|
60 | u.password, u.password_confirmation = "password", "password" | |
|
61 | assert !u.save | |
|
62 | assert_equal 'activerecord_error_taken', u.errors.on(:mail) | |
|
50 | 63 | end |
|
51 | 64 | |
|
52 | 65 | def test_update |
General Comments 0
You need to be logged in to leave comments.
Login now