mattermost/api/command_statuses_test.go
Chris 9bc7af0c57 Don't use global app for api / api4 tests (#7528)
* don't use global app for api / api4 tests

* put sleep back. we're gonna have to do some goroutine wrangling

* fix oauth test config assumptions

* jobs package, i'm comin' for you next

* app test fix

* try increasing sleep a little
2017-10-02 09:50:56 +01:00

42 lines
926 B
Go

// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package api
import (
"testing"
"time"
"github.com/mattermost/mattermost-server/model"
)
func TestStatusCommands(t *testing.T) {
th := Setup().InitBasic()
defer th.TearDown()
commandAndTest(t, th, "away")
commandAndTest(t, th, "offline")
commandAndTest(t, th, "online")
}
func commandAndTest(t *testing.T, th *TestHelper, status string) {
Client := th.BasicClient
channel := th.BasicChannel
user := th.BasicUser
r1 := Client.Must(Client.Command(channel.Id, "/"+status)).Data.(*model.CommandResponse)
if r1 == nil {
t.Fatal("Command failed to execute")
}
time.Sleep(1000 * time.Millisecond)
statuses := Client.Must(Client.GetStatuses()).Data.(map[string]string)
if status == "offline" {
status = ""
}
if statuses[user.Id] != status {
t.Fatal("Error setting status " + status)
}
}