summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/notification.go2
-rw-r--r--app/notification_test.go16
2 files changed, 16 insertions, 2 deletions
diff --git a/app/notification.go b/app/notification.go
index 3b21e86c5..a7093e17f 100644
--- a/app/notification.go
+++ b/app/notification.go
@@ -935,7 +935,7 @@ func (a *App) GetMentionKeywordsInChannel(profiles map[string]*model.User, lookF
// Add @channel and @all to keywords if user has them turned on
if lookForSpecialMentions {
- if int64(len(profiles)) < *a.Config().TeamSettings.MaxNotificationsPerChannel && profile.NotifyProps["channel"] == "true" {
+ if int64(len(profiles)) <= *a.Config().TeamSettings.MaxNotificationsPerChannel && profile.NotifyProps["channel"] == "true" {
keywords["@channel"] = append(keywords["@channel"], profile.Id)
keywords["@all"] = append(keywords["@all"], profile.Id)
diff --git a/app/notification_test.go b/app/notification_test.go
index 5ae765649..c5d0f8478 100644
--- a/app/notification_test.go
+++ b/app/notification_test.go
@@ -544,7 +544,8 @@ func TestGetMentionKeywords(t *testing.T) {
return duplicate_frequency
}
- // multiple users
+ // multiple users but no more than MaxNotificationsPerChannel
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.MaxNotificationsPerChannel = 4 })
profiles = map[string]*model.User{
user1.Id: user1,
user2.Id: user2,
@@ -568,6 +569,19 @@ func TestGetMentionKeywords(t *testing.T) {
t.Fatal("should've mentioned user3 and user4 with @all")
}
+ // multiple users and more than MaxNotificationsPerChannel
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.MaxNotificationsPerChannel = 3 })
+ mentions = th.App.GetMentionKeywordsInChannel(profiles, true)
+ if len(mentions) != 4 {
+ t.Fatal("should've returned four mention keywords")
+ } else if _, ok := mentions["@channel"]; ok {
+ t.Fatal("should not have mentioned any user with @channel")
+ } else if _, ok := mentions["@all"]; ok {
+ t.Fatal("should not have mentioned any user with @all")
+ } else if _, ok := mentions["@here"]; ok {
+ t.Fatal("should not have mentioned any user with @here")
+ }
+
// no special mentions
profiles = map[string]*model.User{
user1.Id: user1,