User.full_name should not contain just a space when first_name and
authorWard Vandewege <ward@curoverse.com>
Tue, 22 Apr 2014 20:55:34 +0000 (16:55 -0400)
committerWard Vandewege <ward@curoverse.com>
Tue, 22 Apr 2014 20:55:34 +0000 (16:55 -0400)
last_name are not set.

Add a test for that, too.

services/api/app/models/user.rb
services/api/test/unit/user_test.rb

index 513e0aec9432d5b58b0a934d28d677ab203c867e..81cae987a20d023f61d96a0ade93c9dd75d60c84 100644 (file)
@@ -27,7 +27,7 @@ class User < ArvadosModel
   ALL_PERMISSIONS = {read: true, write: true, manage: true}
 
   def full_name
-    "#{first_name} #{last_name}"
+    "#{first_name} #{last_name}".strip
   end
 
   def is_invited
index 67d0badf2401e2ed151544a1206d578968e41261..fd56a745a84a989eced4b0719437dc93fa979ff6 100644 (file)
@@ -87,6 +87,17 @@ class UserTest < ActiveSupport::TestCase
     assert_equal found_user.identity_url, user.identity_url
   end
 
+  test "full name should not contain spurious whitespace" do
+    user = User.create ({uuid: 'zzzzz-tpzed-abcdefghijklmno', email: 'foo@example.com' })
+
+    assert_equal '', user.full_name
+
+    user.first_name = 'John'
+    user.last_name = 'Smith'
+
+    assert_equal user.first_name + ' ' + user.last_name, user.full_name
+  end
+
   test "create new user" do
     Thread.current[:user] = @admin_user   # set admin user as the current user