from django.contrib import admin from django.contrib.admin import sites from django.test import SimpleTestCase, override_settings from .sites import CustomAdminSite @override_settings( INSTALLED_APPS=[ "admin_default_site.apps.MyCustomAdminConfig", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", ] ) class CustomAdminSiteTests(SimpleTestCase): def setUp(self): # Reset admin.site since it may have already been instantiated by # another test app. self._old_site = admin.site admin.site = sites.site = sites.DefaultAdminSite() def tearDown(self): admin.site = sites.site = self._old_site def test_use_custom_admin_site(self): self.assertEqual(admin.site.__class__.__name__, "CustomAdminSite") class DefaultAdminSiteTests(SimpleTestCase): def test_use_default_admin_site(self): self.assertEqual(admin.site.__class__.__name__, "AdminSite") def test_repr(self): self.assertEqual(str(admin.site), "AdminSite(name='admin')") self.assertEqual(repr(admin.site), "AdminSite(name='admin')") class AdminSiteTests(SimpleTestCase): def test_repr(self): admin_site = CustomAdminSite(name="other") self.assertEqual(repr(admin_site), "CustomAdminSite(name='other')")