fix: point check-in QR links to frontend page

This commit is contained in:
2026-04-30 09:50:58 +02:00
parent 9c9acd3e1d
commit 099b2f10ca
5 changed files with 17 additions and 10 deletions

View File

@@ -7,11 +7,11 @@ from django.conf import settings
from .models import Reservation
CHECK_IN_PREVIEW_PATH = "/api/check-ins/preview/"
CHECK_IN_PAGE_PATH = "/check-in"
def build_check_in_preview_url(raw_check_in_token):
return f"{settings.SITE_BASE_URL}{CHECK_IN_PREVIEW_PATH}?token={raw_check_in_token}"
return f"{settings.SITE_BASE_URL}{CHECK_IN_PAGE_PATH}?token={raw_check_in_token}"
def generate_check_in_qr_png(raw_check_in_token):

View File

@@ -134,7 +134,7 @@ class ReservationAdminTests(TestCase):
self.assertEqual(reservation.status, Reservation.Status.CONFIRMED)
self.assertIsNotNone(confirmation_token.used_at)
self.assertContains(response, "Reservation confirmed manually")
self.assertContains(response, "/api/check-ins/preview/?token=")
self.assertContains(response, "/check-in?token=")
self.assertTrue(
ReservationToken.objects.filter(
reservation=reservation,

View File

@@ -165,7 +165,7 @@ class BookingApiTests(APITestCase):
self.assertEqual(response.data["party_size"], reservation.party_size)
self.assertTrue(
response.data["qr_code_url"].startswith(
"https://tickets.azionelab.example/api/check-ins/preview/?token="
"https://tickets.azionelab.example/check-in?token="
)
)
self.assertNotIn(raw_token, response.data["qr_code_url"])
@@ -257,7 +257,7 @@ class BookingApiTests(APITestCase):
self.assertEqual(response.data["reservation_id"], reservation.id)
self.assertTrue(
response.data["qr_code_url"].startswith(
"https://tickets.azionelab.example/api/check-ins/preview/?token="
"https://tickets.azionelab.example/check-in?token="
)
)
self.assertTrue(response.data["qr_code_image"].startswith("data:image/png;base64,"))

View File

@@ -247,7 +247,7 @@ class BookingServiceTests(TestCase):
)
self.assertTrue(
result.qr_code_url.startswith(
"https://tickets.azionelab.example/api/check-ins/preview/?token="
"https://tickets.azionelab.example/check-in?token="
)
)
self.assertTrue(result.qr_code_image.startswith("data:image/png;base64,"))
@@ -282,7 +282,7 @@ class BookingServiceTests(TestCase):
self.assertGreater(len(qr_code_image), len("data:image/png;base64,"))
self.assertEqual(
build_check_in_preview_url(raw_check_in_token),
"https://tickets.azionelab.example/api/check-ins/preview/?token=opaque-check-in-token",
"https://tickets.azionelab.example/check-in?token=opaque-check-in-token",
)
def test_qr_code_is_not_generated_for_pending_reservation(self):
@@ -430,7 +430,7 @@ class BookingServiceTests(TestCase):
self.assertEqual(result.check_in_token.purpose, ReservationToken.Purpose.CHECK_IN)
self.assertTrue(
result.qr_code_url.startswith(
"https://tickets.azionelab.example/api/check-ins/preview/?token="
"https://tickets.azionelab.example/check-in?token="
)
)
@@ -462,7 +462,7 @@ class BookingServiceTests(TestCase):
self.assertEqual(result.reservation, reservation)
self.assertEqual(result.check_in_token.purpose, ReservationToken.Purpose.CHECK_IN)
self.assertTrue(result.qr_code_image.startswith("data:image/png;base64,"))
self.assertIn("/api/check-ins/preview/?token=", result.qr_code_url)
self.assertIn("/check-in?token=", result.qr_code_url)
def create_reservation(self, **overrides):
data = {