test: capture expected email failure logs

This commit is contained in:
2026-04-29 10:54:52 +02:00
parent 4422d13f15
commit 0c679391ed

View File

@@ -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()