summaryrefslogtreecommitdiffstats
path: root/app/email_batching_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/email_batching_test.go')
-rw-r--r--app/email_batching_test.go51
1 files changed, 51 insertions, 0 deletions
diff --git a/app/email_batching_test.go b/app/email_batching_test.go
index b5c18d378..24acc8a65 100644
--- a/app/email_batching_test.go
+++ b/app/email_batching_test.go
@@ -4,6 +4,7 @@
package app
import (
+ "strings"
"testing"
"time"
@@ -271,3 +272,53 @@ func TestCheckPendingNotificationsCantParseInterval(t *testing.T) {
t.Fatal("should have sent queued post")
}
}
+
+/*
+ * Ensures that post contents are not included in notification email when email notification content type is set to generic
+ */
+func TestRenderBatchedPostGeneric(t *testing.T) {
+ Setup()
+ var post = &model.Post{}
+ post.Message = "This is the message"
+ var notification = &batchedNotification{}
+ notification.post = post
+ var channel = &model.Channel{}
+ channel.DisplayName = "Some Test Channel"
+ var sender = &model.User{}
+ sender.Email = "sender@test.com"
+
+ translateFunc := func(translationID string, args ...interface{}) string {
+ // mock translateFunc just returns the translation id - this is good enough for our purposes
+ return translationID
+ }
+
+ var rendered = renderBatchedPost(notification, channel, sender, "http://localhost:8065", "", translateFunc, "en", model.EMAIL_NOTIFICATION_CONTENTS_GENERIC)
+ if strings.Contains(rendered, post.Message) {
+ t.Fatal("Rendered email should not contain post contents when email notification contents type is set to Generic.")
+ }
+}
+
+/*
+ * Ensures that post contents included in notification email when email notification content type is set to full
+ */
+func TestRenderBatchedPostFull(t *testing.T) {
+ Setup()
+ var post = &model.Post{}
+ post.Message = "This is the message"
+ var notification = &batchedNotification{}
+ notification.post = post
+ var channel = &model.Channel{}
+ channel.DisplayName = "Some Test Channel"
+ var sender = &model.User{}
+ sender.Email = "sender@test.com"
+
+ translateFunc := func(translationID string, args ...interface{}) string {
+ // mock translateFunc just returns the translation id - this is good enough for our purposes
+ return translationID
+ }
+
+ var rendered = renderBatchedPost(notification, channel, sender, "http://localhost:8065", "", translateFunc, "en", model.EMAIL_NOTIFICATION_CONTENTS_FULL)
+ if !strings.Contains(rendered, post.Message) {
+ t.Fatal("Rendered email should contain post contents when email notification contents type is set to Full.")
+ }
+}