This uses a set to only send one email address one copy of a notification.
response = self.client.get('/experiments/started/153/', {'send':'1','bcc':'on'})
self.assertEqual(response.status_code, 200)
self.assertEqual(len(mail.outbox), 4)
+ bcc = set(settings.NOTIFICATION_BCC).intersect(set(settings.MANAGERS))
for m in mail.outbox:
self.assertTrue(len(m.body) > 0)
+ self.assertEqual(m.bcc, bcc)
def test_email_navigation(self):
"""
if send:
email = EmailMessage(subject, body, sender, to=[user_email])
+ notified = set()
if bcc_managers:
- email.bcc = settings.MANAGERS
- email.bcc = settings.NOTIFICATION_BCC
+ for manager in settings.MANAGERS:
+ if len(manager) > 0:
+ notified.add(manager)
+ for user in settings.NOTIFICATION_BCC:
+ if len(user) > 0:
+ notified.add(user)
+ email.bcc = list(notified)
email.send()
emails.append((user_email, subject, body, sending))