Add test for sending emails.

Add backup email if there isn't an MIC
This commit is contained in:
Tom Price
2017-04-10 19:28:35 +01:00
parent 3b2aa02ae5
commit 97b11eabbd
3 changed files with 24 additions and 1 deletions

View File

@@ -221,3 +221,4 @@ TEMPLATE_DIRS = (
USE_GRAVATAR=True USE_GRAVATAR=True
TERMS_OF_HIRE_URL = "http://www.nottinghamtec.co.uk/terms.pdf" TERMS_OF_HIRE_URL = "http://www.nottinghamtec.co.uk/terms.pdf"
AUTHORISATION_NOTIFICATION_ADDRESS = 'productions@nottinghamtec.co.uk'

View File

@@ -1,4 +1,5 @@
import reversion import reversion
from django.conf import settings
from django.core.mail import EmailMessage from django.core.mail import EmailMessage
from django.template.loader import get_template from django.template.loader import get_template
@@ -15,10 +16,16 @@ def send_eventauthorisation_success_email(instance):
get_template("RIGS/eventauthorisation_client_success.txt").render(context), get_template("RIGS/eventauthorisation_client_success.txt").render(context),
to=[instance.email] to=[instance.email]
) )
if instance.event.mic:
mic_email_address = instance.event.mic.email
else:
mic_email_address = settings.AUTHORISATION_NOTIFICATION_ADDRESS
mic_email = EmailMessage( mic_email = EmailMessage(
"N%05d | %s - Event Authorised".format(instance.event.pk, instance.event.name), "N%05d | %s - Event Authorised".format(instance.event.pk, instance.event.name),
get_template("RIGS/eventauthorisation_mic_success.txt").render(context), get_template("RIGS/eventauthorisation_mic_success.txt").render(context),
to=[instance.event.mic.email] to=[mic_email_address]
) )
client_email.send() client_email.send()

View File

@@ -4,6 +4,7 @@ import re
from datetime import date, timedelta from datetime import date, timedelta
import reversion import reversion
from django.conf import settings
from django.core import mail, signing from django.core import mail, signing
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.db import transaction from django.db import transaction
@@ -1027,3 +1028,17 @@ class ClientEventAuthorisationTest(TestCase):
response = self.client.get(self.url) response = self.client.get(self.url)
self.assertContains(response, 'amount has changed') self.assertContains(response, 'amount has changed')
def test_email_sent(self):
mail.outbox = []
data = self.auth_data
data['amount'] = self.event.total
response = self.client.post(self.url, data)
self.assertContains(response, "Your event has been authorised.")
self.assertEqual(len(mail.outbox), 2)
self.assertEqual(mail.outbox[0].to, ['authemail@function.test'])
self.assertEqual(mail.outbox[1].to, [settings.AUTHORISATION_NOTIFICATION_ADDRESS])