diff options
Diffstat (limited to 'api4/status_test.go')
-rw-r--r-- | api4/status_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/api4/status_test.go b/api4/status_test.go index 35bf62379..c8277b3de 100644 --- a/api4/status_test.go +++ b/api4/status_test.go @@ -4,6 +4,7 @@ import ( "testing" "github.com/mattermost/platform/app" + "github.com/mattermost/platform/model" ) func TestGetUserStatus(t *testing.T) { @@ -89,3 +90,40 @@ func TestGetUsersStatusesByIds(t *testing.T) { } } } + +func TestUpdateUserStatus(t *testing.T) { + th := Setup().InitBasic().InitSystemAdmin() + defer TearDown() + Client := th.Client + + toUpdateUserStatus := &model.Status{Status: "online"} + updateUserStatus, resp := Client.UpdateUserStatus(th.BasicUser.Id, toUpdateUserStatus) + CheckNoError(t, resp) + if updateUserStatus.Status != "online" { + t.Fatal("Should return online status") + } + + toUpdateUserStatus.Status = "away" + updateUserStatus, resp = Client.UpdateUserStatus(th.BasicUser.Id, toUpdateUserStatus) + CheckNoError(t, resp) + if updateUserStatus.Status != "away" { + t.Fatal("Should return away status") + } + + toUpdateUserStatus.Status = "offline" + updateUserStatus, resp = Client.UpdateUserStatus(th.BasicUser.Id, toUpdateUserStatus) + CheckNoError(t, resp) + if updateUserStatus.Status != "offline" { + t.Fatal("Should return offline status") + } + + toUpdateUserStatus.Status = "online" + updateUserStatus, resp = Client.UpdateUserStatus(th.BasicUser2.Id, toUpdateUserStatus) + CheckForbiddenStatus(t, resp) + + toUpdateUserStatus.Status = "online" + updateUserStatus, resp = th.SystemAdminClient.UpdateUserStatus(th.BasicUser2.Id, toUpdateUserStatus) + if updateUserStatus.Status != "online" { + t.Fatal("Should return online status") + } +} |