summaryrefslogtreecommitdiffstats
path: root/app/notification_test.go
diff options
context:
space:
mode:
authorJesús Espino <jespinog@gmail.com>2018-07-28 19:20:44 +0200
committerGitHub <noreply@github.com>2018-07-28 19:20:44 +0200
commit08e54ed8244e2ec9a278d16f80d5ed2a8e2964f4 (patch)
treef2d6558d3415dc1b0e82dc0fee48357a8e1bf03a /app/notification_test.go
parent51dc5fa36ed2d5afa72bf630d66693bd99acb916 (diff)
downloadchat-08e54ed8244e2ec9a278d16f80d5ed2a8e2964f4.tar.gz
chat-08e54ed8244e2ec9a278d16f80d5ed2a8e2964f4.tar.bz2
chat-08e54ed8244e2ec9a278d16f80d5ed2a8e2964f4.zip
Split notifications file into different files (#9164)
Diffstat (limited to 'app/notification_test.go')
-rw-r--r--app/notification_test.go1188
1 files changed, 5 insertions, 1183 deletions
diff --git a/app/notification_test.go b/app/notification_test.go
index 8694f9f2d..d9f81dccb 100644
--- a/app/notification_test.go
+++ b/app/notification_test.go
@@ -4,16 +4,12 @@
package app
import (
- "strings"
"testing"
"github.com/stretchr/testify/assert"
- "fmt"
"github.com/mattermost/mattermost-server/model"
"github.com/mattermost/mattermost-server/utils"
- "regexp"
- "time"
)
func TestSendNotifications(t *testing.T) {
@@ -90,10 +86,10 @@ func TestGetExplicitMentions(t *testing.T) {
id3 := model.NewId()
for name, tc := range map[string]struct {
- Message string
+ Message string
Attachments []*model.SlackAttachment
- Keywords map[string][]string
- Expected *ExplicitMentions
+ Keywords map[string][]string
+ Expected *ExplicitMentions
}{
"Nobody": {
Message: "this is a message",
@@ -534,7 +530,7 @@ func TestGetExplicitMentions(t *testing.T) {
post := &model.Post{Message: tc.Message, Props: model.StringInterface{
"attachments": tc.Attachments,
- },
+ },
}
m := GetExplicitMentions(post, tc.Keywords)
@@ -784,1185 +780,11 @@ func TestGetMentionKeywords(t *testing.T) {
}
}
-func TestDoesNotifyPropsAllowPushNotification(t *testing.T) {
- userNotifyProps := make(map[string]string)
- channelNotifyProps := make(map[string]string)
-
- user := &model.User{Id: model.NewId(), Email: "unit@test.com"}
-
- post := &model.Post{UserId: user.Id, ChannelId: model.NewId()}
-
- // When the post is a System Message
- systemPost := &model.Post{UserId: user.Id, Type: model.POST_JOIN_CHANNEL}
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_ALL
- user.NotifyProps = userNotifyProps
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, systemPost, false) {
- t.Fatal("Should have returned false")
- }
-
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, systemPost, true) {
- t.Fatal("Should have returned false")
- }
-
- // When default is ALL and no channel props is set
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned true")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // When default is MENTION and no channel props is set
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_MENTION
- user.NotifyProps = userNotifyProps
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // When default is NONE and no channel props is set
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_NONE
- user.NotifyProps = userNotifyProps
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned false")
- }
-
- // WHEN default is ALL and channel is DEFAULT
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_ALL
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_DEFAULT
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned true")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // WHEN default is MENTION and channel is DEFAULT
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_MENTION
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_DEFAULT
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // WHEN default is NONE and channel is DEFAULT
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_NONE
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_DEFAULT
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned false")
- }
-
- // WHEN default is ALL and channel is ALL
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_ALL
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_ALL
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned true")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // WHEN default is MENTION and channel is ALL
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_MENTION
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_ALL
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned true")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // WHEN default is NONE and channel is ALL
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_NONE
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_ALL
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned true")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // WHEN default is ALL and channel is MENTION
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_ALL
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_MENTION
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // WHEN default is MENTION and channel is MENTION
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_MENTION
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_MENTION
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // WHEN default is NONE and channel is MENTION
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_NONE
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_MENTION
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if !DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned true")
- }
-
- // WHEN default is ALL and channel is NONE
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_ALL
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_NONE
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned false")
- }
-
- // WHEN default is MENTION and channel is NONE
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_MENTION
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_NONE
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned false")
- }
-
- // WHEN default is NONE and channel is NONE
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_NONE
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.PUSH_NOTIFY_PROP] = model.CHANNEL_NOTIFY_NONE
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, true) {
- t.Fatal("Should have returned false")
- }
-
- // WHEN default is ALL and channel is MUTED
- userNotifyProps[model.PUSH_NOTIFY_PROP] = model.USER_NOTIFY_ALL
- user.NotifyProps = userNotifyProps
- channelNotifyProps[model.MARK_UNREAD_NOTIFY_PROP] = model.CHANNEL_MARK_UNREAD_MENTION
- if DoesNotifyPropsAllowPushNotification(user, channelNotifyProps, post, false) {
- t.Fatal("Should have returned false")
- }
-}
-
-func TestDoesStatusAllowPushNotification(t *testing.T) {
- userNotifyProps := make(map[string]string)
- userId := model.NewId()
- channelId := model.NewId()
-
- offline := &model.Status{UserId: userId, Status: model.STATUS_OFFLINE, Manual: false, LastActivityAt: 0, ActiveChannel: ""}
- away := &model.Status{UserId: userId, Status: model.STATUS_AWAY, Manual: false, LastActivityAt: 0, ActiveChannel: ""}
- online := &model.Status{UserId: userId, Status: model.STATUS_ONLINE, Manual: false, LastActivityAt: model.GetMillis(), ActiveChannel: ""}
- dnd := &model.Status{UserId: userId, Status: model.STATUS_DND, Manual: true, LastActivityAt: model.GetMillis(), ActiveChannel: ""}
-
- userNotifyProps["push_status"] = model.STATUS_ONLINE
- // WHEN props is ONLINE and user is offline
- if !DoesStatusAllowPushNotification(userNotifyProps, offline, channelId) {
- t.Fatal("Should have been true")
- }
-
- if !DoesStatusAllowPushNotification(userNotifyProps, offline, "") {
- t.Fatal("Should have been true")
- }
-
- // WHEN props is ONLINE and user is away
- if !DoesStatusAllowPushNotification(userNotifyProps, away, channelId) {
- t.Fatal("Should have been true")
- }
-
- if !DoesStatusAllowPushNotification(userNotifyProps, away, "") {
- t.Fatal("Should have been true")
- }
-
- // WHEN props is ONLINE and user is online
- if !DoesStatusAllowPushNotification(userNotifyProps, online, channelId) {
- t.Fatal("Should have been true")
- }
-
- if DoesStatusAllowPushNotification(userNotifyProps, online, "") {
- t.Fatal("Should have been false")
- }
-
- // WHEN props is ONLINE and user is dnd
- if DoesStatusAllowPushNotification(userNotifyProps, dnd, channelId) {
- t.Fatal("Should have been false")
- }
-
- if DoesStatusAllowPushNotification(userNotifyProps, dnd, "") {
- t.Fatal("Should have been false")
- }
-
- userNotifyProps["push_status"] = model.STATUS_AWAY
- // WHEN props is AWAY and user is offline
- if !DoesStatusAllowPushNotification(userNotifyProps, offline, channelId) {
- t.Fatal("Should have been true")
- }
-
- if !DoesStatusAllowPushNotification(userNotifyProps, offline, "") {
- t.Fatal("Should have been true")
- }
-
- // WHEN props is AWAY and user is away
- if !DoesStatusAllowPushNotification(userNotifyProps, away, channelId) {
- t.Fatal("Should have been true")
- }
-
- if !DoesStatusAllowPushNotification(userNotifyProps, away, "") {
- t.Fatal("Should have been true")
- }
-
- // WHEN props is AWAY and user is online
- if DoesStatusAllowPushNotification(userNotifyProps, online, channelId) {
- t.Fatal("Should have been false")
- }
-
- if DoesStatusAllowPushNotification(userNotifyProps, online, "") {
- t.Fatal("Should have been false")
- }
-
- // WHEN props is AWAY and user is dnd
- if DoesStatusAllowPushNotification(userNotifyProps, dnd, channelId) {
- t.Fatal("Should have been false")
- }
-
- if DoesStatusAllowPushNotification(userNotifyProps, dnd, "") {
- t.Fatal("Should have been false")
- }
-
- userNotifyProps["push_status"] = model.STATUS_OFFLINE
- // WHEN props is OFFLINE and user is offline
- if !DoesStatusAllowPushNotification(userNotifyProps, offline, channelId) {
- t.Fatal("Should have been true")
- }
-
- if !DoesStatusAllowPushNotification(userNotifyProps, offline, "") {
- t.Fatal("Should have been true")
- }
-
- // WHEN props is OFFLINE and user is away
- if DoesStatusAllowPushNotification(userNotifyProps, away, channelId) {
- t.Fatal("Should have been false")
- }
-
- if DoesStatusAllowPushNotification(userNotifyProps, away, "") {
- t.Fatal("Should have been false")
- }
-
- // WHEN props is OFFLINE and user is online
- if DoesStatusAllowPushNotification(userNotifyProps, online, channelId) {
- t.Fatal("Should have been false")
- }
-
- if DoesStatusAllowPushNotification(userNotifyProps, online, "") {
- t.Fatal("Should have been false")
- }
-
- // WHEN props is OFFLINE and user is dnd
- if DoesStatusAllowPushNotification(userNotifyProps, dnd, channelId) {
- t.Fatal("Should have been false")
- }
-
- if DoesStatusAllowPushNotification(userNotifyProps, dnd, "") {
- t.Fatal("Should have been false")
- }
-
-}
-
-func TestGetDirectMessageNotificationEmailSubject(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- expectedPrefix := "[http://localhost:8065] New Direct Message from @sender on"
- user := &model.User{}
- post := &model.Post{
- CreateAt: 1501804801000,
- }
- translateFunc := utils.GetUserTranslations("en")
- subject := getDirectMessageNotificationEmailSubject(user, post, translateFunc, "http://localhost:8065", "sender", true)
- if !strings.HasPrefix(subject, expectedPrefix) {
- t.Fatal("Expected subject line prefix '" + expectedPrefix + "', got " + subject)
- }
-}
-
-func TestGetGroupMessageNotificationEmailSubjectFull(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- expectedPrefix := "[http://localhost:8065] New Group Message in sender on"
- user := &model.User{}
- post := &model.Post{
- CreateAt: 1501804801000,
- }
- translateFunc := utils.GetUserTranslations("en")
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_FULL
- subject := getGroupMessageNotificationEmailSubject(user, post, translateFunc, "http://localhost:8065", "sender", emailNotificationContentsType, true)
- if !strings.HasPrefix(subject, expectedPrefix) {
- t.Fatal("Expected subject line prefix '" + expectedPrefix + "', got " + subject)
- }
-}
-
-func TestGetGroupMessageNotificationEmailSubjectGeneric(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- expectedPrefix := "[http://localhost:8065] New Group Message on"
- user := &model.User{}
- post := &model.Post{
- CreateAt: 1501804801000,
- }
- translateFunc := utils.GetUserTranslations("en")
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_GENERIC
- subject := getGroupMessageNotificationEmailSubject(user, post, translateFunc, "http://localhost:8065", "sender", emailNotificationContentsType, true)
- if !strings.HasPrefix(subject, expectedPrefix) {
- t.Fatal("Expected subject line prefix '" + expectedPrefix + "', got " + subject)
- }
-}
-
-func TestGetNotificationEmailSubject(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- expectedPrefix := "[http://localhost:8065] Notification in team on"
- user := &model.User{}
- post := &model.Post{
- CreateAt: 1501804801000,
- }
- translateFunc := utils.GetUserTranslations("en")
- subject := getNotificationEmailSubject(user, post, translateFunc, "http://localhost:8065", "team", true)
- if !strings.HasPrefix(subject, expectedPrefix) {
- t.Fatal("Expected subject line prefix '" + expectedPrefix + "', got " + subject)
- }
-}
-
-func TestGetNotificationEmailBodyFullNotificationPublicChannel(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{}
- post := &model.Post{
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_OPEN,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_FULL
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- if !strings.Contains(body, "You have a new notification.") {
- t.Fatal("Expected email text 'You have a new notification. Got " + body)
- }
- if !strings.Contains(body, "Channel: "+channel.DisplayName) {
- t.Fatal("Expected email text 'Channel: " + channel.DisplayName + "'. Got " + body)
- }
- if !strings.Contains(body, "@"+senderName+" - ") {
- t.Fatal("Expected email text '@" + senderName + " - '. Got " + body)
- }
- if !strings.Contains(body, post.Message) {
- t.Fatal("Expected email text '" + post.Message + "'. Got " + body)
- }
- if !strings.Contains(body, teamURL) {
- t.Fatal("Expected email text '" + teamURL + "'. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyFullNotificationGroupChannel(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{}
- post := &model.Post{
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_GROUP,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_FULL
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- if !strings.Contains(body, "You have a new Group Message.") {
- t.Fatal("Expected email text 'You have a new Group Message. Got " + body)
- }
- if !strings.Contains(body, "Channel: ChannelName") {
- t.Fatal("Expected email text 'Channel: ChannelName'. Got " + body)
- }
- if !strings.Contains(body, "@"+senderName+" - ") {
- t.Fatal("Expected email text '@" + senderName + " - '. Got " + body)
- }
- if !strings.Contains(body, post.Message) {
- t.Fatal("Expected email text '" + post.Message + "'. Got " + body)
- }
- if !strings.Contains(body, teamURL) {
- t.Fatal("Expected email text '" + teamURL + "'. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyFullNotificationPrivateChannel(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{}
- post := &model.Post{
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_PRIVATE,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_FULL
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- if !strings.Contains(body, "You have a new notification.") {
- t.Fatal("Expected email text 'You have a new notification. Got " + body)
- }
- if !strings.Contains(body, "Channel: "+channel.DisplayName) {
- t.Fatal("Expected email text 'Channel: " + channel.DisplayName + "'. Got " + body)
- }
- if !strings.Contains(body, "@"+senderName+" - ") {
- t.Fatal("Expected email text '@" + senderName + " - '. Got " + body)
- }
- if !strings.Contains(body, post.Message) {
- t.Fatal("Expected email text '" + post.Message + "'. Got " + body)
- }
- if !strings.Contains(body, teamURL) {
- t.Fatal("Expected email text '" + teamURL + "'. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyFullNotificationDirectChannel(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{}
- post := &model.Post{
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_DIRECT,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_FULL
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- if !strings.Contains(body, "You have a new Direct Message.") {
- t.Fatal("Expected email text 'You have a new Direct Message. Got " + body)
- }
- if !strings.Contains(body, "@"+senderName+" - ") {
- t.Fatal("Expected email text '@" + senderName + " - '. Got " + body)
- }
- if !strings.Contains(body, post.Message) {
- t.Fatal("Expected email text '" + post.Message + "'. Got " + body)
- }
- if !strings.Contains(body, teamURL) {
- t.Fatal("Expected email text '" + teamURL + "'. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyFullNotificationLocaleTimeWithTimezone(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{
- Timezone: model.DefaultUserTimezone(),
- }
- recipient.Timezone["automaticTimezone"] = "America/New_York"
- post := &model.Post{
- CreateAt: 1524663790000,
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_DIRECT,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_FULL
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, false, translateFunc)
- r, _ := regexp.Compile("E([S|D]+)T")
- zone := r.FindString(body)
- if !strings.Contains(body, "sender - 9:43 AM "+zone+", April 25") {
- t.Fatal("Expected email text 'sender - 9:43 AM " + zone + ", April 25'. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyFullNotificationLocaleTimeNoTimezone(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{
- Timezone: model.DefaultUserTimezone(),
- }
- post := &model.Post{
- CreateAt: 1524681000000,
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_DIRECT,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_FULL
- translateFunc := utils.GetUserTranslations("en")
-
- tm := time.Unix(post.CreateAt/1000, 0)
- zone, _ := tm.Zone()
-
- formattedTime := formattedPostTime{
- Time: tm,
- Year: fmt.Sprintf("%d", tm.Year()),
- Month: translateFunc(tm.Month().String()),
- Day: fmt.Sprintf("%d", tm.Day()),
- Hour: fmt.Sprintf("%02d", tm.Hour()),
- Minute: fmt.Sprintf("%02d", tm.Minute()),
- TimeZone: zone,
- }
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- postTimeLine := fmt.Sprintf("sender - %s:%s %s, %s %s", formattedTime.Hour, formattedTime.Minute, formattedTime.TimeZone, formattedTime.Month, formattedTime.Day)
- if !strings.Contains(body, postTimeLine) {
- t.Fatal("Expected email text '" + postTimeLine + " '. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyFullNotificationLocaleTime12Hour(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{
- Timezone: model.DefaultUserTimezone(),
- }
- recipient.Timezone["automaticTimezone"] = "America/New_York"
- post := &model.Post{
- CreateAt: 1524681000000, // 1524681000 // 1524681000000
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_DIRECT,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_FULL
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, false, translateFunc)
- if !strings.Contains(body, "sender - 2:30 PM") {
- t.Fatal("Expected email text 'sender - 2:30 PM'. Got " + body)
- }
- if !strings.Contains(body, "April 25") {
- t.Fatal("Expected email text 'April 25'. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyFullNotificationLocaleTime24Hour(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{
- Timezone: model.DefaultUserTimezone(),
- }
- recipient.Timezone["automaticTimezone"] = "America/New_York"
- post := &model.Post{
- CreateAt: 1524681000000,
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_DIRECT,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_FULL
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- if !strings.Contains(body, "sender - 14:30") {
- t.Fatal("Expected email text 'sender - 14:30'. Got " + body)
- }
- if !strings.Contains(body, "April 25") {
- t.Fatal("Expected email text 'April 25'. Got " + body)
- }
-}
-
-// from here
-func TestGetNotificationEmailBodyGenericNotificationPublicChannel(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{}
- post := &model.Post{
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_OPEN,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_GENERIC
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- if !strings.Contains(body, "You have a new notification from @"+senderName) {
- t.Fatal("Expected email text 'You have a new notification from @" + senderName + "'. Got " + body)
- }
- if strings.Contains(body, "Channel: "+channel.DisplayName) {
- t.Fatal("Did not expect email text 'Channel: " + channel.DisplayName + "'. Got " + body)
- }
- if strings.Contains(body, post.Message) {
- t.Fatal("Did not expect email text '" + post.Message + "'. Got " + body)
- }
- if !strings.Contains(body, teamURL) {
- t.Fatal("Expected email text '" + teamURL + "'. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyGenericNotificationGroupChannel(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{}
- post := &model.Post{
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_GROUP,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_GENERIC
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- if !strings.Contains(body, "You have a new Group Message from @"+senderName) {
- t.Fatal("Expected email text 'You have a new Group Message from @" + senderName + "'. Got " + body)
- }
- if strings.Contains(body, "CHANNEL: "+channel.DisplayName) {
- t.Fatal("Did not expect email text 'CHANNEL: " + channel.DisplayName + "'. Got " + body)
- }
- if strings.Contains(body, post.Message) {
- t.Fatal("Did not expect email text '" + post.Message + "'. Got " + body)
- }
- if !strings.Contains(body, teamURL) {
- t.Fatal("Expected email text '" + teamURL + "'. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyGenericNotificationPrivateChannel(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{}
- post := &model.Post{
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_PRIVATE,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_GENERIC
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- if !strings.Contains(body, "You have a new notification from @"+senderName) {
- t.Fatal("Expected email text 'You have a new notification from @" + senderName + "'. Got " + body)
- }
- if strings.Contains(body, "CHANNEL: "+channel.DisplayName) {
- t.Fatal("Did not expect email text 'CHANNEL: " + channel.DisplayName + "'. Got " + body)
- }
- if strings.Contains(body, post.Message) {
- t.Fatal("Did not expect email text '" + post.Message + "'. Got " + body)
- }
- if !strings.Contains(body, teamURL) {
- t.Fatal("Expected email text '" + teamURL + "'. Got " + body)
- }
-}
-
-func TestGetNotificationEmailBodyGenericNotificationDirectChannel(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- recipient := &model.User{}
- post := &model.Post{
- Message: "This is the message",
- }
- channel := &model.Channel{
- DisplayName: "ChannelName",
- Type: model.CHANNEL_DIRECT,
- }
- channelName := "ChannelName"
- senderName := "sender"
- teamName := "team"
- teamURL := "http://localhost:8065/" + teamName
- emailNotificationContentsType := model.EMAIL_NOTIFICATION_CONTENTS_GENERIC
- translateFunc := utils.GetUserTranslations("en")
-
- body := th.App.getNotificationEmailBody(recipient, post, channel, channelName, senderName, teamName, teamURL, emailNotificationContentsType, true, translateFunc)
- if !strings.Contains(body, "You have a new Direct Message from @"+senderName) {
- t.Fatal("Expected email text 'You have a new Direct Message from @" + senderName + "'. Got " + body)
- }
- if strings.Contains(body, "CHANNEL: "+channel.DisplayName) {
- t.Fatal("Did not expect email text 'CHANNEL: " + channel.DisplayName + "'. Got " + body)
- }
- if strings.Contains(body, post.Message) {
- t.Fatal("Did not expect email text '" + post.Message + "'. Got " + body)
- }
- if !strings.Contains(body, teamURL) {
- t.Fatal("Expected email text '" + teamURL + "'. Got " + body)
- }
-}
-
-func TestGetPushNotificationMessage(t *testing.T) {
- th := Setup()
- defer th.TearDown()
-
- for name, tc := range map[string]struct {
- Message string
- explicitMention bool
- channelWideMention bool
- HasFiles bool
- replyToThreadType string
- Locale string
- PushNotificationContents string
- ChannelType string
-
- ExpectedMessage string
- }{
- "full message, public channel, no mention": {
- Message: "this is a message",
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, public channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, public channel, channel wide mention": {
- Message: "this is a message",
- channelWideMention: true,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, public channel, commented on post": {
- Message: "this is a message",
- replyToThreadType: THREAD_ROOT,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, public channel, commented on thread": {
- Message: "this is a message",
- replyToThreadType: THREAD_ANY,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, private channel, no mention": {
- Message: "this is a message",
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, private channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, private channel, commented on post": {
- Message: "this is a message",
- replyToThreadType: THREAD_ROOT,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, private channel, commented on thread": {
- Message: "this is a message",
- replyToThreadType: THREAD_ANY,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, group message channel, no mention": {
- Message: "this is a message",
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, group message channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, group message channel, commented on post": {
- Message: "this is a message",
- replyToThreadType: THREAD_ROOT,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, group message channel, commented on thread": {
- Message: "this is a message",
- replyToThreadType: THREAD_ANY,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user: this is a message",
- },
- "full message, direct message channel, no mention": {
- Message: "this is a message",
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "this is a message",
- },
- "full message, direct message channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "this is a message",
- },
- "full message, direct message channel, commented on post": {
- Message: "this is a message",
- replyToThreadType: THREAD_ROOT,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "this is a message",
- },
- "full message, direct message channel, commented on thread": {
- Message: "this is a message",
- replyToThreadType: THREAD_ANY,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "this is a message",
- },
- "generic message with channel, public channel, no mention": {
- Message: "this is a message",
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user posted a message.",
- },
- "generic message with channel, public channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user mentioned you.",
- },
- "generic message with channel, public channel, channel wide mention": {
- Message: "this is a message",
- channelWideMention: true,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user notified the channel.",
- },
- "generic message, public channel, commented on post": {
- Message: "this is a message",
- replyToThreadType: THREAD_ROOT,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user commented on your post.",
- },
- "generic message, public channel, commented on thread": {
- Message: "this is a message",
- replyToThreadType: THREAD_ANY,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user commented on a thread you participated in.",
- },
- "generic message with channel, private channel, no mention": {
- Message: "this is a message",
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user posted a message.",
- },
- "generic message with channel, private channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user mentioned you.",
- },
- "generic message with channel, private channel, channel wide mention": {
- Message: "this is a message",
- channelWideMention: true,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user notified the channel.",
- },
- "generic message, public private, commented on post": {
- Message: "this is a message",
- replyToThreadType: THREAD_ROOT,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user commented on your post.",
- },
- "generic message, public private, commented on thread": {
- Message: "this is a message",
- replyToThreadType: THREAD_ANY,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user commented on a thread you participated in.",
- },
- "generic message with channel, group message channel, no mention": {
- Message: "this is a message",
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user posted a message.",
- },
- "generic message with channel, group message channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user mentioned you.",
- },
- "generic message with channel, group message channel, channel wide mention": {
- Message: "this is a message",
- channelWideMention: true,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user notified the channel.",
- },
- "generic message, group message channel, commented on post": {
- Message: "this is a message",
- replyToThreadType: THREAD_ROOT,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user commented on your post.",
- },
- "generic message, group message channel, commented on thread": {
- Message: "this is a message",
- replyToThreadType: THREAD_ANY,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user commented on a thread you participated in.",
- },
- "generic message with channel, direct message channel, no mention": {
- Message: "this is a message",
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "sent you a message.",
- },
- "generic message with channel, direct message channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "sent you a message.",
- },
- "generic message with channel, direct message channel, channel wide mention": {
- Message: "this is a message",
- channelWideMention: true,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "sent you a message.",
- },
- "generic message, direct message channel, commented on post": {
- Message: "this is a message",
- replyToThreadType: THREAD_ROOT,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "sent you a message.",
- },
- "generic message, direct message channel, commented on thread": {
- Message: "this is a message",
- replyToThreadType: THREAD_ANY,
- PushNotificationContents: model.GENERIC_NOTIFICATION,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "sent you a message.",
- },
- "generic message without channel, public channel, no mention": {
- Message: "this is a message",
- PushNotificationContents: model.GENERIC_NO_CHANNEL_NOTIFICATION,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user posted a message.",
- },
- "generic message without channel, public channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- PushNotificationContents: model.GENERIC_NO_CHANNEL_NOTIFICATION,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user mentioned you.",
- },
- "generic message without channel, private channel, no mention": {
- Message: "this is a message",
- PushNotificationContents: model.GENERIC_NO_CHANNEL_NOTIFICATION,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user posted a message.",
- },
- "generic message without channel, private channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- PushNotificationContents: model.GENERIC_NO_CHANNEL_NOTIFICATION,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user mentioned you.",
- },
- "generic message without channel, group message channel, no mention": {
- Message: "this is a message",
- PushNotificationContents: model.GENERIC_NO_CHANNEL_NOTIFICATION,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user posted a message.",
- },
- "generic message without channel, group message channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- PushNotificationContents: model.GENERIC_NO_CHANNEL_NOTIFICATION,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user mentioned you.",
- },
- "generic message without channel, direct message channel, no mention": {
- Message: "this is a message",
- PushNotificationContents: model.GENERIC_NO_CHANNEL_NOTIFICATION,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "sent you a message.",
- },
- "generic message without channel, direct message channel, mention": {
- Message: "this is a message",
- explicitMention: true,
- PushNotificationContents: model.GENERIC_NO_CHANNEL_NOTIFICATION,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "sent you a message.",
- },
- "only files, public channel": {
- HasFiles: true,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user attached a file.",
- },
- "only files, private channel": {
- HasFiles: true,
- ChannelType: model.CHANNEL_PRIVATE,
- ExpectedMessage: "@user attached a file.",
- },
- "only files, group message channel": {
- HasFiles: true,
- ChannelType: model.CHANNEL_GROUP,
- ExpectedMessage: "@user attached a file.",
- },
- "only files, direct message channel": {
- HasFiles: true,
- ChannelType: model.CHANNEL_DIRECT,
- ExpectedMessage: "attached a file.",
- },
- "only files without channel, public channel": {
- HasFiles: true,
- PushNotificationContents: model.GENERIC_NO_CHANNEL_NOTIFICATION,
- ChannelType: model.CHANNEL_OPEN,
- ExpectedMessage: "@user attached a file.",
- },
- } {
- t.Run(name, func(t *testing.T) {
- locale := tc.Locale
- if locale == "" {
- locale = "en"
- }
-
- pushNotificationContents := tc.PushNotificationContents
- if pushNotificationContents == "" {
- pushNotificationContents = model.FULL_NOTIFICATION
- }
-
- th.App.UpdateConfig(func(cfg *model.Config) {
- *cfg.EmailSettings.PushNotificationContents = pushNotificationContents
- })
-
- if actualMessage := th.App.getPushNotificationMessage(
- tc.Message,
- tc.explicitMention,
- tc.channelWideMention,
- tc.HasFiles,
- "user",
- "channel",
- tc.ChannelType,
- tc.replyToThreadType,
- utils.GetUserTranslations(locale),
- ); actualMessage != tc.ExpectedMessage {
- t.Fatalf("Received incorrect push notification message `%v`, expected `%v`", actualMessage, tc.ExpectedMessage)
- }
- })
- }
-}
-
func TestGetMentionsEnabledFields(t *testing.T) {
attachmentWithTextAndPreText := model.SlackAttachment{
- Text: "@here with mentions",
+ Text: "@here with mentions",
Pretext: "@Channel some comment for the channel",
-
}
attachmentWithOutPreText := model.SlackAttachment{