django/tests/admin_default_site/tests.py

45 lines
1.4 KiB
Python

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')")