summaryrefslogtreecommitdiffstats
path: root/model/user_test.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2018-04-20 08:44:18 -0400
committerGitHub <noreply@github.com>2018-04-20 08:44:18 -0400
commit283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef (patch)
tree9a9d0dfb9f536d37e9817e3407c32e7ec0c11cdf /model/user_test.go
parent7987c95fcd7f7a9e6d4d174be403bf170f7b9115 (diff)
downloadchat-283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef.tar.gz
chat-283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef.tar.bz2
chat-283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef.zip
MM-10007 Send an admin and regular WS events when a user is updated (#8588)
* Add user.DeepCopy() function * Add omit admins/non-admins to WS broadcast and use for updating users * Updates per feedback and adding unit test for ShouldSendEvent
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()