generated from bisco/codex-bootstrap
57 lines
1.9 KiB
Python
57 lines
1.9 KiB
Python
from datetime import timedelta
|
|
|
|
from django.contrib import admin
|
|
from django.contrib.auth import get_user_model
|
|
from django.test import TestCase
|
|
from django.utils import timezone
|
|
|
|
from bookings.models import Reservation
|
|
from checkins.admin import CheckInAdmin
|
|
from checkins.models import CheckIn
|
|
from shows.models import Performance, Show, Venue
|
|
|
|
|
|
class CheckInAdminTests(TestCase):
|
|
def setUp(self):
|
|
user_model = get_user_model()
|
|
self.admin_user = user_model.objects.create_superuser(
|
|
username="admin-checkins",
|
|
email="admin-checkins@example.com",
|
|
password="password123",
|
|
)
|
|
self.show = Show.objects.create(
|
|
title="Open Stage",
|
|
slug="open-stage-checkins-admin",
|
|
is_published=True,
|
|
)
|
|
self.venue = Venue.objects.create(
|
|
name="AzioneLab Theatre",
|
|
slug="azionelab-theatre-checkins-admin",
|
|
address="Via Example 1",
|
|
city="Rome",
|
|
)
|
|
self.performance = Performance.objects.create(
|
|
show=self.show,
|
|
venue=self.venue,
|
|
starts_at=timezone.now() + timedelta(days=7),
|
|
room_capacity=20,
|
|
)
|
|
self.reservation = Reservation.objects.create(
|
|
performance=self.performance,
|
|
name="Maria Rossi",
|
|
email="maria@example.com",
|
|
party_size=3,
|
|
status=Reservation.Status.CONFIRMED,
|
|
confirmed_at=timezone.now(),
|
|
)
|
|
self.check_in = CheckIn.objects.create(
|
|
reservation=self.reservation,
|
|
checked_in_at=timezone.now(),
|
|
checked_in_by=self.admin_user,
|
|
source=CheckIn.Source.MANUAL,
|
|
)
|
|
self.model_admin = CheckInAdmin(CheckIn, admin.site)
|
|
|
|
def test_reservation_column_shows_guest_name_only(self):
|
|
self.assertEqual(self.model_admin.reservation_guest_name(self.check_in), "Maria Rossi")
|