summaryrefslogtreecommitdiffstats
path: root/store/sql_channel_store_test.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-16 14:58:33 -0400
committerCorey Hulen <corey@hulen.com>2017-03-16 11:58:33 -0700
commitd757645c2490dd4f0de16cc32e05551b1476d0a0 (patch)
tree5d6e4049aa296b7629a34ca5b02d0aba25dd27dc /store/sql_channel_store_test.go
parent04c0223c6402b12e67c61474ae310b0a56af6482 (diff)
downloadchat-d757645c2490dd4f0de16cc32e05551b1476d0a0.tar.gz
chat-d757645c2490dd4f0de16cc32e05551b1476d0a0.tar.bz2
chat-d757645c2490dd4f0de16cc32e05551b1476d0a0.zip
Implement some channel endpoints for APIv4 (#5767)
Diffstat (limited to 'store/sql_channel_store_test.go')
-rw-r--r--store/sql_channel_store_test.go74
1 files changed, 74 insertions, 0 deletions
diff --git a/store/sql_channel_store_test.go b/store/sql_channel_store_test.go
index 0e726eab7..f347fa438 100644
--- a/store/sql_channel_store_test.go
+++ b/store/sql_channel_store_test.go
@@ -171,6 +171,80 @@ func TestChannelStoreUpdate(t *testing.T) {
}
}
+func TestGetChannelUnread(t *testing.T) {
+ Setup()
+
+ teamId1 := model.NewId()
+ teamId2 := model.NewId()
+
+ uid := model.NewId()
+ m1 := &model.TeamMember{TeamId: teamId1, UserId: uid}
+ m2 := &model.TeamMember{TeamId: teamId2, UserId: uid}
+ Must(store.Team().SaveMember(m1))
+ Must(store.Team().SaveMember(m2))
+ notifyPropsModel := model.GetDefaultChannelNotifyProps()
+
+ // Setup Channel 1
+ c1 := &model.Channel{TeamId: m1.TeamId, Name: model.NewId(), DisplayName: "Downtown", Type: model.CHANNEL_OPEN, TotalMsgCount: 100}
+ Must(store.Channel().Save(c1))
+ cm1 := &model.ChannelMember{ChannelId: c1.Id, UserId: m1.UserId, NotifyProps: notifyPropsModel, MsgCount: 90}
+ Must(store.Channel().SaveMember(cm1))
+
+ // Setup Channel 2
+ c2 := &model.Channel{TeamId: m2.TeamId, Name: model.NewId(), DisplayName: "Cultural", Type: model.CHANNEL_OPEN, TotalMsgCount: 100}
+ Must(store.Channel().Save(c2))
+ cm2 := &model.ChannelMember{ChannelId: c2.Id, UserId: m2.UserId, NotifyProps: notifyPropsModel, MsgCount: 90, MentionCount: 5}
+ Must(store.Channel().SaveMember(cm2))
+
+ // Check for Channel 1
+ if resp := <-store.Channel().GetChannelUnread(c1.Id, uid); resp.Err != nil {
+ t.Fatal(resp.Err)
+ } else {
+ ch := resp.Data.(*model.ChannelUnread)
+ if c1.Id != ch.ChannelId {
+ t.Fatal("wrong channel id")
+ }
+
+ if teamId1 != ch.TeamId {
+ t.Fatal("wrong team id for channel 1")
+ }
+
+ if ch.NotifyProps == nil {
+ t.Fatal("wrong props for channel 1")
+ }
+
+ if ch.MentionCount != 0 {
+ t.Fatal("wrong MentionCount for channel 1")
+ }
+
+ if ch.MsgCount != 10 {
+ t.Fatal("wrong MsgCount for channel 1")
+ }
+ }
+
+ // Check for Channel 2
+ if resp2 := <-store.Channel().GetChannelUnread(c2.Id, uid); resp2.Err != nil {
+ t.Fatal(resp2.Err)
+ } else {
+ ch2 := resp2.Data.(*model.ChannelUnread)
+ if c2.Id != ch2.ChannelId {
+ t.Fatal("wrong channel id")
+ }
+
+ if teamId2 != ch2.TeamId {
+ t.Fatal("wrong team id")
+ }
+
+ if ch2.MentionCount != 5 {
+ t.Fatal("wrong MentionCount for channel 2")
+ }
+
+ if ch2.MsgCount != 10 {
+ t.Fatal("wrong MsgCount for channel 2")
+ }
+ }
+}
+
func TestChannelStoreGet(t *testing.T) {
Setup()