From b7219c7ba5fdfbf9349948b5a91af50e32822ee6 Mon Sep 17 00:00:00 2001 From: "Mosson, Andrew" Date: Sun, 14 Dec 2014 05:22:37 +0200 Subject: Fixed #23497 -- Made admin system checks run for custom AdminSites. --- tests/admin_checks/tests.py | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/admin_checks/tests.py b/tests/admin_checks/tests.py index 1e9b6f4646..500a889c71 100644 --- a/tests/admin_checks/tests.py +++ b/tests/admin_checks/tests.py @@ -35,18 +35,20 @@ class ValidFormFieldsets(admin.ModelAdmin): ) +class MyAdmin(admin.ModelAdmin): + @classmethod + def check(cls, model, **kwargs): + return ['error!'] + + @override_settings( SILENCED_SYSTEM_CHECKS=['fields.W342'], # ForeignKey(unique=True) INSTALLED_APPS=['django.contrib.auth', 'django.contrib.contenttypes', 'admin_checks'] ) class SystemChecksTestCase(TestCase): + @override_settings(DEBUG=True) def test_checks_are_performed(self): - class MyAdmin(admin.ModelAdmin): - @classmethod - def check(self, model, **kwargs): - return ['error!'] - admin.site.register(Song, MyAdmin) try: errors = checks.run_checks() @@ -54,6 +56,22 @@ class SystemChecksTestCase(TestCase): self.assertEqual(errors, expected) finally: admin.site.unregister(Song) + admin.sites.system_check_errors = [] + + @override_settings(DEBUG=True) + def test_custom_adminsite(self): + class CustomAdminSite(admin.AdminSite): + pass + + custom_site = CustomAdminSite() + custom_site.register(Song, MyAdmin) + try: + errors = checks.run_checks() + expected = ['error!'] + self.assertEqual(errors, expected) + finally: + custom_site.unregister(Song) + admin.sites.system_check_errors = [] def test_readonly_and_editable(self): class SongAdmin(admin.ModelAdmin): -- cgit v1.3