Test for condition where email_service.add_email raises an exception.

This commit is contained in:
mike cullerton 2021-10-13 13:23:18 -04:00
parent 7a5de44e1d
commit b3d515bf68
1 changed files with 23 additions and 1 deletions

View File

@ -3,6 +3,7 @@ from tests.base_test import BaseTest
from crc import session
from crc.models.email import EmailModel
from crc.services.email_service import EmailService
from unittest.mock import patch
class TestEmailService(BaseTest):
@ -10,7 +11,6 @@ class TestEmailService(BaseTest):
def test_add_email(self):
self.load_example_data()
study = self.create_study()
workflow = self.create_workflow('random_fact')
subject = 'Email Subject'
sender = 'sender@sartography.com'
@ -42,3 +42,25 @@ class TestEmailService(BaseTest):
self.assertEqual(email_model.content, content)
self.assertEqual(email_model.content_html, content_html)
self.assertEqual(email_model.study, None)
@patch('crc.services.email_service.EmailService.add_email')
def test_add_email_with_error(self, mock_response):
self.load_example_data()
mock_response.return_value.ok = True
mock_response.side_effect = Exception("This is my exception!")
study = self.create_study()
subject = 'Email Subject'
sender = 'sender@sartography.com'
recipients = ['recipient@sartography.com', 'back@sartography.com']
content = 'Content for this email'
content_html = '<p>Hypertext Markup Language content for this email</p>'
# Make sure we generate an error
with self.assertRaises(Exception) as e:
EmailService.add_email(subject=subject, sender=sender, recipients=recipients,
content=content, content_html=content_html, study_id=study.id)
# Make sure it's the error we want
self.assertEqual('This is my exception!', e.exception.args[0])