From 76e9093feaac818dfbc866831763c38b3737a44e Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 11 Mar 2021 22:46:07 +0100 Subject: [PATCH] Fix email sending during tests --- src/pretix/base/services/mail.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/pretix/base/services/mail.py b/src/pretix/base/services/mail.py index fbc8ed93c..37d10aec9 100644 --- a/src/pretix/base/services/mail.py +++ b/src/pretix/base/services/mail.py @@ -242,9 +242,14 @@ def mail(email: Union[str, Sequence[str]], subject: str, template: Union[str, La task_chain.append(send_task) - transaction.on_commit( - lambda: chain(*task_chain).apply_async() - ) + if 'locmem' in settings.EMAIL_BACKEND: + # This clause is triggered during unit tests, because transaction.on_commit never fires due to the nature + # Django's unit tests work + chain(*task_chain).apply_async() + else: + transaction.on_commit( + lambda: chain(*task_chain).apply_async() + ) class CustomEmail(EmailMultiAlternatives):