[MM-43850] Separate leave_team events for associated user and team (#21231)

* Separate leave_team events for associated user and team

* Remove unnecessary change of sending mode

* Remove redundant get, set of message.broadcast

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Shivashis Padhi
2022-11-30 11:53:16 +05:30
коммит произвёл GitHub
родитель 3e928f57fb
Коммит ed3f3fec46
2 изменённых файлов: 63 добавлений и 4 удалений

Просмотреть файл

@@ -2632,6 +2632,51 @@ func TestRemoveTeamMember(t *testing.T) {
require.NoError(t, err)
}
func TestRemoveTeamMemberEvents(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()
client1 := th.CreateClient()
th.LoginBasicWithClient(client1)
WebSocketClient, err := th.CreateWebSocketClientWithClient(client1)
require.NoError(t, err)
defer WebSocketClient.Close()
WebSocketClient.Listen()
resp := <-WebSocketClient.ResponseChannel
require.Equal(t, resp.Status, model.StatusOk)
client2 := th.CreateClient()
th.LoginBasic2WithClient(client2)
WebSocketClient2, err := th.CreateWebSocketClientWithClient(client2)
require.NoError(t, err)
defer WebSocketClient2.Close()
WebSocketClient2.Listen()
resp = <-WebSocketClient2.ResponseChannel
require.Equal(t, resp.Status, model.StatusOk)
th.TestForSystemAdminAndLocal(t, func(t *testing.T, client *model.Client4) {
// remove second user from basic team
_, err := client.RemoveTeamMember(th.BasicTeam.Id, th.BasicUser2.Id)
require.NoError(t, err)
assertExpectedWebsocketEvent(t, WebSocketClient, model.WebsocketEventLeaveTeam, func(event *model.WebSocketEvent) {
eventUserId, ok := event.GetData()["user_id"].(string)
require.True(t, ok, "expected user")
// assert eventUser.Id is same as th.BasicUser.Id
assert.Equal(t, eventUserId, th.BasicUser2.Id)
// assert this event doesn't go to event creator
assert.Equal(t, event.GetBroadcast().OmitUsers[eventUserId], true)
})
assertExpectedWebsocketEvent(t, WebSocketClient2, model.WebsocketEventLeaveTeam, func(event *model.WebSocketEvent) {
eventUserId, ok := event.GetData()["user_id"].(string)
require.True(t, ok, "expected user")
// assert eventUser.Id is same as th.BasicUser.Id
assert.Equal(t, eventUserId, th.BasicUser2.Id)
})
})
}
func TestGetTeamStats(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()