def test_send_after(self): self.test_email_queue() from frappe.email.queue import flush flush(from_test=True) email_queue = frappe.db.sql("""select * from `tabEmail Queue` where status='Sent'""", as_dict=1) self.assertEquals(len(email_queue), 2) self.assertTrue('*****@*****.**' in [d['recipient'] for d in email_queue]) self.assertTrue('*****@*****.**' in [d['recipient'] for d in email_queue])
def test_send_after(self): self.test_email_queue(send_after=1) from frappe.email.queue import flush flush(from_test=True) email_queue = frappe.db.sql( """select name from `tabEmail Queue` where status='Sent'""", as_dict=1) self.assertEqual(len(email_queue), 0)
def test_expired(self): self.test_email_queue() frappe.db.sql("update `tabEmail Queue` set creation='2010-01-01 12:00:00'") from frappe.email.queue import flush flush(from_test=True) email_queue = frappe.db.sql("""select * from `tabEmail Queue` where status='Expired'""", as_dict=1) self.assertEquals(len(email_queue), 2) self.assertTrue('*****@*****.**' in [d['recipient'] for d in email_queue]) self.assertTrue('*****@*****.**' in [d['recipient'] for d in email_queue])
def test_unsubscribe(self): # test unsubscribe self.send_newsletter() from frappe.email.queue import flush flush(from_test=True) email = unquote(frappe.local.flags.signed_query_string.split("email=")[1].split("&")[0]) unsubscribe(email, "_Test Email Group") self.send_newsletter() self.assertEquals(len(frappe.get_all("Email Queue")), 1) self.assertEquals(len(frappe.get_all("Email Queue Recipient")), 2)
def test_send_after(self): self.test_email_queue() from frappe.email.queue import flush flush(from_test=True) email_queue = frappe.db.sql("""select name from `tabEmail Queue` where status='Sent'""", as_dict=1) self.assertEquals(len(email_queue), 1) queue_recipients = [r.recipient for r in frappe.db.sql("""select recipient from `tabEmail Queue Recipient` where status='Sent'""", as_dict=1)] self.assertTrue('*****@*****.**' in queue_recipients) self.assertTrue('*****@*****.**' in queue_recipients) self.assertEquals(len(queue_recipients), 2) self.assertTrue('Unsubscribe' in frappe.flags.sent_mail)
def test_flush(self): self.test_email_queue() from frappe.email.queue import flush flush(from_test=True) email_queue = frappe.db.sql("""select name from `tabEmail Queue` where status='Sent'""", as_dict=1) self.assertEqual(len(email_queue), 1) queue_recipients = [r.recipient for r in frappe.db.sql("""select recipient from `tabEmail Queue Recipient` where status='Sent'""", as_dict=1)] self.assertTrue('*****@*****.**' in queue_recipients) self.assertTrue('*****@*****.**' in queue_recipients) self.assertEqual(len(queue_recipients), 2) self.assertTrue('Unsubscribe' in frappe.safe_decode(frappe.flags.sent_mail))
def test_unsubscribe(self): # test unsubscribe self.send_newsletter() from frappe.email.queue import flush flush(from_test=True) email = unquote( frappe.local.flags.signed_query_string.split("email=")[1].split( "&")[0]) unsubscribe(email, "_Test Email Group") self.send_newsletter() self.assertEquals(len(frappe.get_all("Email Queue")), 1) self.assertEquals(len(frappe.get_all("Email Queue Recipient")), 2)
def test_unsubscribe(self): # test unsubscribe name = self.send_newsletter() from frappe.email.queue import flush flush(from_test=True) to_unsubscribe = unquote(frappe.local.flags.signed_query_string.split("email=")[1].split("&")[0]) confirmed_unsubscribe(to_unsubscribe, name) name = self.send_newsletter() email_queue_list = [frappe.get_doc('Email Queue', e.name) for e in frappe.get_all("Email Queue")] self.assertEqual(len(email_queue_list), 3) recipients = [e.recipients[0].recipient for e in email_queue_list] for email in emails: if email != to_unsubscribe: self.assertTrue(email in recipients)
def test_unsubscribe(self): name = self.send_newsletter() to_unsubscribe = choice(emails) group = frappe.get_all("Newsletter Email Group", filters={"parent": name}, fields=["email_group"]) flush(from_test=True) confirmed_unsubscribe(to_unsubscribe, group[0].email_group) name = self.send_newsletter() email_queue_list = [ frappe.get_doc("Email Queue", e.name) for e in frappe.get_all("Email Queue") ] self.assertEqual(len(email_queue_list), 3) recipients = [e.recipients[0].recipient for e in email_queue_list] for email in emails: if email != to_unsubscribe: self.assertTrue(email in recipients)
def test_flush(self): self.test_email_queue(send_after = 1) from frappe.email.queue import flush flush(from_test=True) email_queue = frappe.db.sql("""select * from `tabEmail Queue` where status='Sent'""", as_dict=1) self.assertEquals(len(email_queue), 0)