mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-25 12:08:40 +02:00
Add unit tests
This commit is contained in:
parent
ad29eecb45
commit
c540a324c7
1 changed files with 76 additions and 0 deletions
|
@ -108,6 +108,82 @@ class TestEmails(TestCase):
|
|||
|
||||
self.assertEqual(["testy2@town.com", "mayor@igorville.gov"], kwargs["Destination"]["CcAddresses"])
|
||||
|
||||
@boto3_mocking.patching
|
||||
@override_settings(IS_PRODUCTION=True, BASE_URL="manage.get.gov")
|
||||
def test_email_production_subject_and_url_check(self):
|
||||
"""Test sending an email in production that:
|
||||
1. Does not have a prefix in the email subject (no [MANAGE])
|
||||
2. Uses the production URL in the email body of manage.get.gov still"""
|
||||
with boto3_mocking.clients.handler_for("sesv2", self.mock_client_class):
|
||||
send_templated_email(
|
||||
"emails/update_to_approved_domain.txt",
|
||||
"emails/update_to_approved_domain_subject.txt",
|
||||
"doesnotexist@igorville.com",
|
||||
context={"domain": "test", "user": "test", "date": 1, "changes": "test"},
|
||||
bcc_address=None,
|
||||
cc_addresses=["testy2@town.com", "mayor@igorville.gov"],
|
||||
)
|
||||
|
||||
# check that an email was sent
|
||||
self.assertTrue(self.mock_client.send_email.called)
|
||||
|
||||
# check the call sequence for the email
|
||||
args, kwargs = self.mock_client.send_email.call_args
|
||||
self.assertIn("Destination", kwargs)
|
||||
self.assertIn("CcAddresses", kwargs["Destination"])
|
||||
|
||||
self.assertEqual(["testy2@town.com", "mayor@igorville.gov"], kwargs["Destination"]["CcAddresses"])
|
||||
|
||||
# Grab email subject
|
||||
email_subject = kwargs["Content"]["Simple"]["Subject"]["Data"]
|
||||
|
||||
# Check that the subject does NOT contain a prefix for production
|
||||
self.assertNotIn("[MANAGE]", email_subject)
|
||||
self.assertIn("An update was made to", email_subject)
|
||||
|
||||
# Grab email body
|
||||
email_body = kwargs["Content"]["Simple"]["Body"]["Text"]["Data"]
|
||||
|
||||
# Check that manage_url is correctly set for production
|
||||
self.assertIn("https://manage.get.gov", email_body)
|
||||
|
||||
@boto3_mocking.patching
|
||||
@override_settings(IS_PRODUCTION=False, BASE_URL="https://getgov-rh.app.cloud.gov")
|
||||
def test_email_non_production_subject_and_url_check(self):
|
||||
"""Test sending an email in production that:
|
||||
1. Does prefix in the email subject ([GETGOV-RH])
|
||||
2. Uses the sandbox url in the email body (ie getgov-rh.app.cloud.gov)"""
|
||||
with boto3_mocking.clients.handler_for("sesv2", self.mock_client_class):
|
||||
send_templated_email(
|
||||
"emails/update_to_approved_domain.txt",
|
||||
"emails/update_to_approved_domain_subject.txt",
|
||||
"doesnotexist@igorville.com",
|
||||
context={"domain": "test", "user": "test", "date": 1, "changes": "test"},
|
||||
bcc_address=None,
|
||||
cc_addresses=["testy2@town.com", "mayor@igorville.gov"],
|
||||
)
|
||||
|
||||
# check that an email was sent
|
||||
self.assertTrue(self.mock_client.send_email.called)
|
||||
|
||||
# check the call sequence for the email
|
||||
args, kwargs = self.mock_client.send_email.call_args
|
||||
self.assertIn("Destination", kwargs)
|
||||
self.assertIn("CcAddresses", kwargs["Destination"])
|
||||
self.assertEqual(["testy2@town.com", "mayor@igorville.gov"], kwargs["Destination"]["CcAddresses"])
|
||||
|
||||
# Grab email subject
|
||||
email_subject = kwargs["Content"]["Simple"]["Subject"]["Data"]
|
||||
|
||||
# Check that the subject DOES contain a prefix of the current sandbox
|
||||
self.assertIn("[GETGOV-RH]", email_subject)
|
||||
|
||||
# Grab email body
|
||||
email_body = kwargs["Content"]["Simple"]["Body"]["Text"]["Data"]
|
||||
|
||||
# Check that manage_url is correctly set of the sandbox
|
||||
self.assertIn("https://getgov-rh.app.cloud.gov", email_body)
|
||||
|
||||
@boto3_mocking.patching
|
||||
@less_console_noise_decorator
|
||||
def test_submission_confirmation(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue