From 4381850b61320cbfd3043293160bd226fa7453a0 Mon Sep 17 00:00:00 2001 From: Mangesh-Khairnar Date: Fri, 3 Apr 2020 18:17:55 +0530 Subject: [PATCH] test: schedule_send --- .../doctype/newsletter/test_newsletter.py | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/frappe/email/doctype/newsletter/test_newsletter.py b/frappe/email/doctype/newsletter/test_newsletter.py index 04af44f78a..5a13f99e56 100644 --- a/frappe/email/doctype/newsletter/test_newsletter.py +++ b/frappe/email/doctype/newsletter/test_newsletter.py @@ -3,8 +3,9 @@ from __future__ import unicode_literals import frappe, unittest +from frappe.utils import getdate, add_days -from frappe.email.doctype.newsletter.newsletter import confirmed_unsubscribe +from frappe.email.doctype.newsletter.newsletter import confirmed_unsubscribe, send_scheduled_email from six.moves.urllib.parse import unquote test_dependencies = ["Email Group"] @@ -58,7 +59,7 @@ class TestNewsletter(unittest.TestCase): self.assertTrue(email in recipients) @staticmethod - def send_newsletter(published=0): + def send_newsletter(published=0, schedule_send=None): frappe.db.sql("delete from `tabEmail Queue`") frappe.db.sql("delete from `tabEmail Queue Recipient`") frappe.db.sql("delete from `tabNewsletter`") @@ -67,11 +68,16 @@ class TestNewsletter(unittest.TestCase): "subject": "_Test Newsletter", "send_from": "Test Sender ", "message": "Testing my news.", - "published": published + "published": published, + "schedule_send": schedule_send }).insert(ignore_permissions=True) newsletter.append("email_group", {"email_group": "_Test Email Group"}) newsletter.save() + if schedule_send: + send_scheduled_email() + return + newsletter.send_emails() return newsletter.name @@ -89,4 +95,13 @@ class TestNewsletter(unittest.TestCase): doc = frappe.get_doc("Newsletter", newsletter_name) doc.get_context(context) self.assertEqual(context.no_cache, 1) - self.assertTrue("attachments" not in list(context)) \ No newline at end of file + self.assertTrue("attachments" not in list(context)) + + def test_schedule_send(self): + self.send_newsletter(schedule_send=add_days(getdate(), -1)) + + email_queue_list = [frappe.get_doc('Email Queue', e.name) for e in frappe.get_all("Email Queue")] + self.assertEqual(len(email_queue_list), 4) + recipients = [e.recipients[0].recipient for e in email_queue_list] + for email in emails: + self.assertTrue(email in recipients) \ No newline at end of file