from django.contrib import admin from django.contrib.auth import get_user_model from django.test import SimpleTestCase, TestCase from django.urls import reverse from bookings.models import Reservation, ReservationToken from checkins.models import CheckIn from shows.models import Performance, Show, Venue class AdminRegistrationTests(SimpleTestCase): def test_core_models_are_registered_in_admin(self): for model in (Show, Venue, Performance, Reservation, ReservationToken, CheckIn): with self.subTest(model=model.__name__): self.assertTrue(admin.site.is_registered(model)) class PerformanceAdminTests(TestCase): def setUp(self): user_model = get_user_model() self.admin_user = user_model.objects.create_superuser( username="admin", email="admin@example.com", password="password123", ) self.client.force_login(self.admin_user) def test_performance_add_page_renders_for_unsaved_object(self): response = self.client.get(reverse("admin:shows_performance_add")) self.assertEqual(response.status_code, 200) self.assertContains(response, "Available seats")