From 0e95a7863fcc9fef2aee5d475a4942c0240e5ca4 Mon Sep 17 00:00:00 2001 From: Felix Rindt Date: Fri, 24 Jul 2020 18:44:24 +0200 Subject: [PATCH] tests for placed and paid mails --- src/tests/presale/test_checkout.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/tests/presale/test_checkout.py b/src/tests/presale/test_checkout.py index bd3bdb4724..001897a7a6 100644 --- a/src/tests/presale/test_checkout.py +++ b/src/tests/presale/test_checkout.py @@ -28,6 +28,7 @@ from pretix.base.services.orders import OrderError, _perform_order from pretix.testutils.scope import classscope from pretix.testutils.sessions import get_cart_session_key +from django.core import mail as djmail class BaseCheckoutTestCase: @scopes_disabled() @@ -2510,6 +2511,35 @@ class CheckoutTestCase(BaseCheckoutTestCase, TestCase): assert not Order.objects.last().testmode assert "0" not in Order.objects.last().code + def test_receive_order_confirmation_and_paid_mail(self): + with scopes_disabled(): + cp1 = CartPosition.objects.create( + event=self.event, cart_id=self.session_key, item=self.ticket, + price=23, expires=now() + timedelta(minutes=10) + ) + djmail.outbox = [] + oid = _perform_order(self.event, 'manual', [cp1.pk], 'admin@example.org', 'en', None, {}, 'web') + assert len(djmail.outbox) == 1 + o = Order.objects.get(pk=oid) + o.payments.first().confirm() + assert len(djmail.outbox) == 2 + + def test_order_confirmation_and_paid_mail_not_send_on_disabled_sales_channel(self): + with scopes_disabled(): + cp1 = CartPosition.objects.create( + event=self.event, cart_id=self.session_key, item=self.ticket, + price=23, expires=now() + timedelta(minutes=10) + ) + djmail.outbox = [] + self.event.settings.mail_sales_channel_placed_paid = [] + oid = _perform_order(self.event, 'manual', [cp1.pk], 'admin@example.org', 'en', None, {}, 'web') + assert len(djmail.outbox) == 0 + o = Order.objects.get(pk=oid) + o.payments.first().confirm() + assert len(djmail.outbox) == 0 + + + class QuestionsTestCase(BaseCheckoutTestCase, TestCase):