def test_unsubscribe(self): from frappe.email.queue import unsubscribe, send unsubscribe(doctype="User", name="Administrator", email="*****@*****.**") self.assertTrue(frappe.db.get_value("Email Unsubscribe", {"reference_doctype": "User", "reference_name": "Administrator", "email": "*****@*****.**"})) before = frappe.db.sql("""select count(name) from `tabEmail Queue` where status='Not Sent'""")[0][0] send(recipients = ['*****@*****.**', '*****@*****.**'], sender="*****@*****.**", reference_doctype='User', reference_name= "Administrator", subject='Testing Email Queue', message='This is mail is queued!') # this is sent async (?) email_queue = frappe.db.sql("""select name from `tabEmail Queue` where status='Not Sent'""", as_dict=1) self.assertEquals(len(email_queue), before + 1) queue_recipients = [r.recipient for r in frappe.db.sql("""select recipient from `tabEmail Queue Recipient` where status='Not Sent'""", as_dict=1)] self.assertFalse('*****@*****.**' in queue_recipients) self.assertTrue('*****@*****.**' in queue_recipients) self.assertEquals(len(queue_recipients), 1) self.assertTrue('Unsubscribe' in frappe.flags.sent_mail)
def test_unsubscribe(self): from frappe.email.queue import unsubscribe, send unsubscribe(doctype="User", name="Administrator", email="*****@*****.**") self.assertTrue(frappe.db.get_value("Email Unsubscribe", {"reference_doctype": "User", "reference_name": "Administrator", "email": "*****@*****.**"})) before = frappe.db.sql("""select count(name) from `tabEmail Queue` where status='Not Sent'""")[0][0] send(recipients = ['*****@*****.**', '*****@*****.**'], sender="*****@*****.**", reference_doctype='User', reference_name= "Administrator", subject='Testing Email Queue', message='This is mail is queued!', unsubscribe_message="Unsubscribe") # this is sent async (?) email_queue = frappe.db.sql("""select name from `tabEmail Queue` where status='Not Sent'""", as_dict=1) self.assertEqual(len(email_queue), before + 1) queue_recipients = [r.recipient for r in frappe.db.sql("""select recipient from `tabEmail Queue Recipient` where status='Not Sent'""", as_dict=1)] self.assertFalse('*****@*****.**' in queue_recipients) self.assertTrue('*****@*****.**' in queue_recipients) self.assertEqual(len(queue_recipients), 1) self.assertTrue('Unsubscribe' in frappe.safe_decode(frappe.flags.sent_mail))
def test_unsubscribe(self): from frappe.email.queue import unsubscribe, send unsubscribe(doctype="User", name="Administrator", email="*****@*****.**") self.assertTrue(frappe.db.get_value("Email Unsubscribe", {"reference_doctype": "User", "reference_name": "Administrator", "email": "*****@*****.**"})) before = frappe.db.sql("""select count(name) from `tabEmail Queue` where status='Not Sent'""")[0][0] send(recipients = ['*****@*****.**', '*****@*****.**'], sender="*****@*****.**", reference_doctype='User', reference_name= "Administrator", subject='Testing Email Queue', message='This is mail is queued!') # this is sent async (?) email_queue = frappe.db.sql("""select * from `tabEmail Queue` where status='Not Sent'""", as_dict=1) self.assertEquals(len(email_queue), before + 1) self.assertFalse('*****@*****.**' in [d['recipient'] for d in email_queue]) self.assertTrue('*****@*****.**' in [d['recipient'] for d in email_queue]) self.assertTrue('Unsubscribe' in email_queue[0]['message'])