From 44266031d154be5f0bfaaaad1fc9668bf770b443 Mon Sep 17 00:00:00 2001 From: Arthur Del Esposte Date: Mon, 30 Mar 2015 12:54:29 +0000 Subject: [PATCH] Allow person creation with a identifier different from his user login --- app/models/user.rb | 2 +- test/unit/user_test.rb | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index bf9490e..c44a4d5 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -45,7 +45,7 @@ class User < ActiveRecord::Base p = Person.new p.attributes = user.person_data - p.identifier = user.login + p.identifier = user.login if p.identifier.blank? p.user = user p.environment = user.environment p.name ||= user.name || user.login diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index 5cd1dbe..7dd2c61 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -87,6 +87,14 @@ class UserTest < ActiveSupport::TestCase assert_equal person_count + 1, Person.count end + def test_should_create_person_with_identifier_different_from_login + user = User.create!(:login => 'new_user', :email => 'new_user@example.com', :password => 'test', :password_confirmation => 'test', :person_data => {:identifier => "new_test"}) + + assert Person.exists?(['user_id = ?', user.id]) + + assert user.login != user.person.identifier + end + def test_login_validation u = User.new u.valid? @@ -355,7 +363,7 @@ class UserTest < ActiveSupport::TestCase Person.any_instance.stubs(:created_at).returns(DateTime.parse('16-08-2010')) expected_hash = { 'login' => 'x_and_y', 'is_admin' => true, 'since_month' => 8, - 'chat_enabled' => false, 'since_year' => 2010, 'email_domain' => nil, + 'chat_enabled' => false, 'since_year' => 2010, 'email_domain' => nil, 'amount_of_friends' => 0, 'friends_list' => {}, 'enterprises' => [], } -- libgit2 0.21.2