From 0c679391edb81a631171d41b386deb0c92396a3a Mon Sep 17 00:00:00 2001 From: bisco Date: Wed, 29 Apr 2026 10:54:52 +0200 Subject: [PATCH] test: capture expected email failure logs --- backend/bookings/test_services.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/backend/bookings/test_services.py b/backend/bookings/test_services.py index 231b11a..8ed99bd 100644 --- a/backend/bookings/test_services.py +++ b/backend/bookings/test_services.py @@ -82,16 +82,23 @@ class BookingServiceTests(TestCase): @patch("bookings.emailing.send_mail", side_effect=RuntimeError("SMTP down")) def test_create_pending_reservation_logs_email_failure_without_crashing(self, mocked_send_mail): - result = create_pending_reservation( - performance_id=self.performance.id, - name="Maria Rossi", - email="maria@example.com", - party_size=1, - ) + with self.assertLogs("bookings.emailing", level="ERROR") as captured_logs: + result = create_pending_reservation( + performance_id=self.performance.id, + name="Maria Rossi", + email="maria@example.com", + party_size=1, + ) self.assertEqual(result.reservation.status, Reservation.Status.PENDING) self.assertEqual(Reservation.objects.count(), 1) mocked_send_mail.assert_called_once() + self.assertTrue( + any( + "Failed to send confirmation email for reservation" in log_entry + for log_entry in captured_logs.output + ) + ) def test_generate_confirmation_token_returns_raw_token_once(self): reservation = self.create_reservation()