diff options
author | Joram Wilander <jwawilander@gmail.com> | 2018-04-20 08:44:18 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-20 08:44:18 -0400 |
commit | 283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef (patch) | |
tree | 9a9d0dfb9f536d37e9817e3407c32e7ec0c11cdf /model/user_test.go | |
parent | 7987c95fcd7f7a9e6d4d174be403bf170f7b9115 (diff) | |
download | chat-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.go | 32 |
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() |