summaryrefslogtreecommitdiffstats
path: root/model/user_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'model/user_test.go')
-rw-r--r--model/user_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/model/user_test.go b/model/user_test.go
index c1d1dafbd..645eaadff 100644
--- a/model/user_test.go
+++ b/model/user_test.go
@@ -8,6 +8,8 @@ import (
"net/http"
"strings"
"testing"
+
+ "github.com/stretchr/testify/assert"
)
func TestPasswordHash(t *testing.T) {
@@ -22,6 +24,36 @@ func TestPasswordHash(t *testing.T) {
}
}
+func TestUserDeepCopy(t *testing.T) {
+ id := NewId()
+ authData := "authdata"
+ mapKey := "key"
+ mapValue := "key"
+
+ user := &User{Id: id, AuthData: NewString(authData), Props: map[string]string{}, NotifyProps: map[string]string{}, Timezone: map[string]string{}}
+ user.Props[mapKey] = mapValue
+ user.NotifyProps[mapKey] = mapValue
+ user.Timezone[mapKey] = mapValue
+
+ copyUser := user.DeepCopy()
+ copyUser.Id = "someid"
+ *copyUser.AuthData = "changed"
+ copyUser.Props[mapKey] = "changed"
+ copyUser.NotifyProps[mapKey] = "changed"
+ copyUser.Timezone[mapKey] = "changed"
+
+ assert.Equal(t, id, user.Id)
+ assert.Equal(t, authData, *user.AuthData)
+ assert.Equal(t, mapValue, user.Props[mapKey])
+ assert.Equal(t, mapValue, user.NotifyProps[mapKey])
+ assert.Equal(t, mapValue, user.Timezone[mapKey])
+
+ user = &User{Id: id}
+ copyUser = user.DeepCopy()
+
+ assert.Equal(t, id, user.Id)
+}
+
func TestUserJson(t *testing.T) {
user := User{Id: NewId(), Username: NewId()}
json := user.ToJson()