summaryrefslogtreecommitdiffstats
path: root/api/status_test.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2016-09-02 12:50:15 -0400
committerGitHub <noreply@github.com>2016-09-02 12:50:15 -0400
commitf32eb525f3fa0828a23f589d765c267e3b2aea86 (patch)
treed4b76aecf89143029af080b3e1b4d87398e0adc5 /api/status_test.go
parenteb0111f6bbe2b0bf160a674dfe1b4d089f905cb9 (diff)
downloadchat-f32eb525f3fa0828a23f589d765c267e3b2aea86.tar.gz
chat-f32eb525f3fa0828a23f589d765c267e3b2aea86.tar.bz2
chat-f32eb525f3fa0828a23f589d765c267e3b2aea86.zip
Do not send push notifications for channels being actively viewed (#3931)
Diffstat (limited to 'api/status_test.go')
-rw-r--r--api/status_test.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/api/status_test.go b/api/status_test.go
index 451f39e14..a8292d323 100644
--- a/api/status_test.go
+++ b/api/status_test.go
@@ -151,3 +151,39 @@ func TestStatuses(t *testing.T) {
t.Fatal("didn't get offline event")
}
}
+
+func TestSetActiveChannel(t *testing.T) {
+ th := Setup().InitBasic()
+ Client := th.BasicClient
+
+ if _, err := Client.SetActiveChannel(th.BasicChannel.Id); err != nil {
+ t.Fatal(err)
+ }
+
+ status, _ := GetStatus(th.BasicUser.Id)
+ if status.ActiveChannel != th.BasicChannel.Id {
+ t.Fatal("active channel should be set")
+ }
+
+ if _, err := Client.SetActiveChannel(""); err != nil {
+ t.Fatal(err)
+ }
+
+ status, _ = GetStatus(th.BasicUser.Id)
+ if status.ActiveChannel != "" {
+ t.Fatal("active channel should be blank")
+ }
+
+ if _, err := Client.SetActiveChannel("123456789012345678901234567890"); err == nil {
+ t.Fatal("should have failed, id too long")
+ }
+
+ if _, err := Client.UpdateLastViewedAt(th.BasicChannel.Id, true); err != nil {
+ t.Fatal(err)
+ }
+
+ status, _ = GetStatus(th.BasicUser.Id)
+ if status.ActiveChannel != th.BasicChannel.Id {
+ t.Fatal("active channel should be set")
+ }
+}