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
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
from django.conf import settings
from django.core.mail import EmailMessage
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),
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(
"N%05d | %s - Event Authorised".format(instance.event.pk, instance.event.name),
get_template("RIGS/eventauthorisation_mic_success.txt").render(context),
to=[instance.event.mic.email]
to=[mic_email_address]
)
client_email.send()

View File

@@ -4,6 +4,7 @@ import re
from datetime import date, timedelta
import reversion
from django.conf import settings
from django.core import mail, signing
from django.core.urlresolvers import reverse
from django.db import transaction
@@ -1027,3 +1028,17 @@ class ClientEventAuthorisationTest(TestCase):
response = self.client.get(self.url)
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])