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