示例#1
0
	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)
示例#2
0
	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))
示例#3
0
	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'])