|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- from __future__ import unicode_literals
- import os, sys
-
- sys.path.append('.')
- sys.path.append('lib/py')
- sys.path.append('erpnext')
-
- import unittest, webnotes
-
- class TestEmail(unittest.TestCase):
- def setUp(self):
- webnotes.conn.begin()
-
- def tearDown(self):
- webnotes.conn.rollback()
-
- def test_send(self):
- from webnotes.utils.email_lib import sendmail
- #sendmail('rmehta@gmail.com', subject='Test Mail', msg="Test Content")
-
- def test_bulk(self):
- from webnotes.utils.email_lib.bulk import send
- send(recipients = ['rmehta@gmail.com', 'rushabh@erpnext.com'],
- doctype='Lead', email_field='email_id',
- subject='Testing Bulk', message='This is a bulk mail!')
-
- bulk = webnotes.conn.sql("""select * from `tabBulk Email` where status='Not Sent'""", as_dict=1)
- self.assertEquals(len(bulk), 2)
- self.assertTrue('rmehta@gmail.com' in [d['recipient'] for d in bulk])
- self.assertTrue('rushabh@erpnext.com' in [d['recipient'] for d in bulk])
- self.assertTrue('Unsubscribe' in bulk[0]['message'])
-
- def test_flush(self):
- self.test_bulk()
- from webnotes.utils.email_lib.bulk import flush
- flush()
- bulk = webnotes.conn.sql("""select * from `tabBulk Email` where status='Sent'""", as_dict=1)
- self.assertEquals(len(bulk), 2)
- self.assertTrue('rmehta@gmail.com' in [d['recipient'] for d in bulk])
- self.assertTrue('rushabh@erpnext.com' in [d['recipient'] for d in bulk])
- webnotes.conn.sql("""delete from `tabBulk Email`""", auto_commit=True)
-
- def test_unsubscribe(self):
- from webnotes.utils.email_lib.bulk import unsubscribe, send
- webnotes.form_dict = {
- 'email':'rmehta@gmail.com',
- 'type':'Lead',
- 'email_field':'email_id'
- }
- unsubscribe()
-
- send(recipients = ['rmehta@gmail.com', 'rushabh@erpnext.com'],
- doctype='Lead', email_field='email_id',
- subject='Testing Bulk', message='This is a bulk mail!')
-
- bulk = webnotes.conn.sql("""select * from `tabBulk Email` where status='Not Sent'""",
- as_dict=1)
- self.assertEquals(len(bulk), 1)
- self.assertFalse('rmehta@gmail.com' in [d['recipient'] for d in bulk])
- self.assertTrue('rushabh@erpnext.com' in [d['recipient'] for d in bulk])
- self.assertTrue('Unsubscribe' in bulk[0]['message'])
-
- def test_bulk_limit(self):
- from webnotes.utils.email_lib.bulk import unsubscribe, send, BulkLimitCrossedError
- self.assertRaises(BulkLimitCrossedError, send,
- recipients=['rmehta@gmail.com']*1000,
- doctype='Lead', email_field='email_id',
- subject='Testing Bulk', message='This is a bulk mail!')
-
-
- if __name__=='__main__':
- webnotes.connect()
- unittest.main()
|