summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
authorhmhealey <harrisonmhealey@gmail.com>2015-07-14 17:07:19 -0400
committerhmhealey <harrisonmhealey@gmail.com>2015-07-17 15:22:57 -0400
commit1dba330146a10718a2fc9eac0ae7d6e1d6bc0d79 (patch)
treedaa2bb8ccaea4bc2b1e7ba7daeaf8d7785a142fe /model
parent098cbcdc21effeebe7e57fbd912a785e85cbfc5d (diff)
downloadchat-1dba330146a10718a2fc9eac0ae7d6e1d6bc0d79.tar.gz
chat-1dba330146a10718a2fc9eac0ae7d6e1d6bc0d79.tar.bz2
chat-1dba330146a10718a2fc9eac0ae7d6e1d6bc0d79.zip
Use a user's full name as their display name if a nickname hasn't been specified
Diffstat (limited to 'model')
-rw-r--r--model/user.go14
-rw-r--r--model/user_test.go32
2 files changed, 45 insertions, 1 deletions
diff --git a/model/user.go b/model/user.go
index 5b603cd92..727165b8c 100644
--- a/model/user.go
+++ b/model/user.go
@@ -237,9 +237,23 @@ func (u *User) AddNotifyProp(key string, value string) {
u.NotifyProps[key] = value
}
+func (u *User) GetFullName() string {
+ if u.FirstName != "" && u.LastName != "" {
+ return u.FirstName + " " + u.LastName
+ } else if u.FirstName != "" {
+ return u.FirstName
+ } else if u.LastName != "" {
+ return u.LastName
+ } else {
+ return ""
+ }
+}
+
func (u *User) GetDisplayName() string {
if u.Nickname != "" {
return u.Nickname
+ } else if fullName := u.GetFullName(); fullName != "" {
+ return fullName
} else {
return u.Username
}
diff --git a/model/user_test.go b/model/user_test.go
index a0c62676a..a48c3f2e7 100644
--- a/model/user_test.go
+++ b/model/user_test.go
@@ -108,13 +108,43 @@ func TestUserIsValid(t *testing.T) {
}
}
+func TestUserGetFullName(t *testing.T) {
+ user := User{}
+
+ if fullName := user.GetFullName(); fullName != "" {
+ t.Fatal("Full name should be blank")
+ }
+
+ user.FirstName = "first"
+ if fullName := user.GetFullName(); fullName != "first" {
+ t.Fatal("Full name should be first name")
+ }
+
+ user.FirstName = ""
+ user.LastName = "last"
+ if fullName := user.GetFullName(); fullName != "last" {
+ t.Fatal("Full name should be last name")
+ }
+
+ user.FirstName = "first"
+ if fullName := user.GetFullName(); fullName != "first last" {
+ t.Fatal("Full name should be first name and last name")
+ }
+}
+
func TestUserGetDisplayName(t *testing.T) {
- user := User{FirstName: "first", LastName: "last", Username: "user"}
+ user := User{Username: "user"}
if displayName := user.GetDisplayName(); displayName != "user" {
t.Fatal("Display name should be username")
}
+ user.FirstName = "first"
+ user.LastName = "last"
+ if displayName := user.GetDisplayName(); displayName != "first last" {
+ t.Fatal("Display name should be full name")
+ }
+
user.Nickname = "nickname"
if displayName := user.GetDisplayName(); displayName != "nickname" {
t.Fatal("Display name should be nickname")