def test_build_mail_object_regular(self): from_email = '*****@*****.**' reply_to_email = '*****@*****.**' email = '*****@*****.**' subject = 'Test email' my_var = 'Lorem ipsum dolor!' service = BaseEmailService(recipient_email_list=[email], context_data={'my_var': my_var}) service.FROM_EMAIL = from_email service.REPLY_TO_ADDRESS = reply_to_email service.subject = subject service.template_name = 'test_email.html' msg_obj = service._build_mail_object() # Assertions self.assertIsInstance(msg_obj, EmailMultiAlternatives) self.assertEqual(msg_obj.subject, subject) self.assertEqual(msg_obj.from_email, from_email) self.assertEqual(msg_obj.to, [email]) self.assertEqual(msg_obj.reply_to, [reply_to_email]) self.assertIn('Friday', msg_obj.body) self.assertIn(my_var, msg_obj.body) self.assertIn('Friday', msg_obj.alternatives[0][0]) self.assertIn(my_var, msg_obj.alternatives[0][0])
def test_setting_txt_templates_works(self): my_var = 'Lorem ipsum dolor!' service = BaseEmailService( recipient_email_list=['*****@*****.**'], context_data={'my_var': my_var}) service.FROM_EMAIL = '*****@*****.**' service.subject = 'Test mail' service.template_name = 'test_email.html' service.template_txt_name = 'test_email.txt' msg_obj = service._build_mail_object() # Assertions self.assertIsInstance(msg_obj, EmailMultiAlternatives) self.assertIn('I am a different content', msg_obj.body) self.assertNotIn('I am a different content', msg_obj.alternatives[0][0]) self.assertIn(my_var, msg_obj.body)
def test_build_mail_object_with_attachments(self): from_email = '*****@*****.**' reply_to_email = '*****@*****.**' email = '*****@*****.**' subject = 'Test email' my_var = 'Lorem ipsum dolor!' file_path = settings.BASE_PATH / 'tests/files/testfile.txt' service = BaseEmailService(recipient_email_list=[email], context_data={'my_var': my_var}, attachment_list=[file_path]) service.FROM_EMAIL = from_email service.REPLY_TO_ADDRESS = reply_to_email service.subject = subject service.template_name = 'test_email.html' msg_obj = service._build_mail_object() # Assertions self.assertIsInstance(msg_obj, EmailMultiAlternatives) self.assertEqual(len(msg_obj.attachments), 1) self.assertEqual(msg_obj.attachments[0][0], basename(file_path))
def test_get_from_email_from_class(self): email = '*****@*****.**' service = BaseEmailService() service.FROM_EMAIL = email self.assertEqual(service.get_from_email(), email)