Commit 44266031d154be5f0bfaaaad1fc9668bf770b443
1 parent
57a47d2f
Exists in
master
and in
26 other branches
Allow person creation with a identifier different from his user login
Showing
2 changed files
with
10 additions
and
2 deletions
Show diff stats
app/models/user.rb
... | ... | @@ -45,7 +45,7 @@ class User < ActiveRecord::Base |
45 | 45 | p = Person.new |
46 | 46 | |
47 | 47 | p.attributes = user.person_data |
48 | - p.identifier = user.login | |
48 | + p.identifier = user.login if p.identifier.blank? | |
49 | 49 | p.user = user |
50 | 50 | p.environment = user.environment |
51 | 51 | p.name ||= user.name || user.login | ... | ... |
test/unit/user_test.rb
... | ... | @@ -87,6 +87,14 @@ class UserTest < ActiveSupport::TestCase |
87 | 87 | assert_equal person_count + 1, Person.count |
88 | 88 | end |
89 | 89 | |
90 | + def test_should_create_person_with_identifier_different_from_login | |
91 | + user = User.create!(:login => 'new_user', :email => 'new_user@example.com', :password => 'test', :password_confirmation => 'test', :person_data => {:identifier => "new_test"}) | |
92 | + | |
93 | + assert Person.exists?(['user_id = ?', user.id]) | |
94 | + | |
95 | + assert user.login != user.person.identifier | |
96 | + end | |
97 | + | |
90 | 98 | def test_login_validation |
91 | 99 | u = User.new |
92 | 100 | u.valid? |
... | ... | @@ -355,7 +363,7 @@ class UserTest < ActiveSupport::TestCase |
355 | 363 | Person.any_instance.stubs(:created_at).returns(DateTime.parse('16-08-2010')) |
356 | 364 | expected_hash = { |
357 | 365 | 'login' => 'x_and_y', 'is_admin' => true, 'since_month' => 8, |
358 | - 'chat_enabled' => false, 'since_year' => 2010, 'email_domain' => nil, | |
366 | + 'chat_enabled' => false, 'since_year' => 2010, 'email_domain' => nil, | |
359 | 367 | 'amount_of_friends' => 0, 'friends_list' => {}, 'enterprises' => [], |
360 | 368 | } |
361 | 369 | ... | ... |