diff options
author | Christopher Speller <crspeller@gmail.com> | 2016-03-17 12:57:52 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-03-17 12:57:52 -0400 |
commit | bd225dca738400495a8ef8fea0fc81fd11d225c7 (patch) | |
tree | ff9f6fa2e119e6dd62081d73b91a63aad9a55071 /store/sql_user_store_test.go | |
parent | 876ef15ac126f0a9aec0b9ad4e98a35223641167 (diff) | |
parent | 919fb8274bc13beaa260602f8f77bbb5a526f1a3 (diff) | |
download | chat-bd225dca738400495a8ef8fea0fc81fd11d225c7.tar.gz chat-bd225dca738400495a8ef8fea0fc81fd11d225c7.tar.bz2 chat-bd225dca738400495a8ef8fea0fc81fd11d225c7.zip |
Merge pull request #2418 from ZBoxApp/PLT-2053
PLT-2053: Option to enable full snippets in push notifications
Diffstat (limited to 'store/sql_user_store_test.go')
-rw-r--r-- | store/sql_user_store_test.go | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/store/sql_user_store_test.go b/store/sql_user_store_test.go index 2350bad30..8f2366136 100644 --- a/store/sql_user_store_test.go +++ b/store/sql_user_store_test.go @@ -421,3 +421,84 @@ func TestUserStoreUpdateAuthData(t *testing.T) { } } } + +func TestUserUnreadCount(t *testing.T) { + Setup() + + teamId := model.NewId() + + c1 := model.Channel{} + c1.TeamId = teamId + c1.DisplayName = "Unread Messages" + c1.Name = "unread-messages" + c1.Type = model.CHANNEL_OPEN + + c2 := model.Channel{} + c2.TeamId = teamId + c2.DisplayName = "Unread Direct" + c2.Name = "unread-direct" + c2.Type = model.CHANNEL_DIRECT + + u1 := model.User{} + u1.Email = model.NewId() + u1.Username = "user1" + u1.TeamId = teamId + Must(store.User().Save(&u1)) + + u2 := model.User{} + u2.Email = model.NewId() + u2.Username = "user2" + u2.TeamId = teamId + Must(store.User().Save(&u2)) + + if err := (<-store.Channel().Save(&c1)).Err; err != nil { + t.Fatal("couldn't save item", err) + } + + m1 := model.ChannelMember{} + m1.ChannelId = c1.Id + m1.UserId = u1.Id + m1.NotifyProps = model.GetDefaultChannelNotifyProps() + + m2 := model.ChannelMember{} + m2.ChannelId = c1.Id + m2.UserId = u2.Id + m2.NotifyProps = model.GetDefaultChannelNotifyProps() + + Must(store.Channel().SaveMember(&m1)) + Must(store.Channel().SaveMember(&m2)) + + m1.ChannelId = c2.Id + m2.ChannelId = c2.Id + + if err := (<-store.Channel().SaveDirectChannel(&c2, &m1, &m2)).Err; err != nil { + t.Fatal("couldn't save direct channel", err) + } + + p1 := model.Post{} + p1.ChannelId = c1.Id + p1.UserId = u1.Id + p1.Message = "this is a message for @" + u2.Username + + // Post one message with mention to open channel + Must(store.Post().Save(&p1)) + Must(store.Channel().IncrementMentionCount(c1.Id, u2.Id)) + + // Post 2 messages without mention to direct channel + p2 := model.Post{} + p2.ChannelId = c2.Id + p2.UserId = u1.Id + p2.Message = "first message" + Must(store.Post().Save(&p2)) + + p3 := model.Post{} + p3.ChannelId = c2.Id + p3.UserId = u1.Id + p3.Message = "second message" + Must(store.Post().Save(&p3)) + + badge := (<-store.User().GetUnreadCount(u2.Id)).Data.(int64) + if badge != 3 { + t.Fatal("should have 3 unread messages") + } +} |