summaryrefslogtreecommitdiff
path: root/tests/admin_views
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_views')
-rw-r--r--tests/admin_views/tests.py31
1 files changed, 21 insertions, 10 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index d01a37725a..60280655b6 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -8,6 +8,7 @@ import unittest
from django.conf import settings, global_settings
from django.core import mail
+from django.core.checks import Error
from django.core.files import temp as tempfile
from django.core.exceptions import ImproperlyConfigured
from django.core.urlresolvers import reverse, NoReverseMatch
@@ -4675,17 +4676,27 @@ class AdminViewOnSiteTests(TestCase):
self.assertEqual(['Children must share a family name with their parents in this contrived test case'],
error_set.get('__all__'))
- def test_validate(self):
+ def test_check(self):
"Ensure that the view_on_site value is either a boolean or a callable"
- CityAdmin.view_on_site = True
- CityAdmin.validate(City)
- CityAdmin.view_on_site = False
- CityAdmin.validate(City)
- CityAdmin.view_on_site = lambda obj: obj.get_absolute_url()
- CityAdmin.validate(City)
- CityAdmin.view_on_site = []
- with self.assertRaisesMessage(ImproperlyConfigured, 'CityAdmin.view_on_site is not a callable or a boolean value.'):
- CityAdmin.validate(City)
+ try:
+ CityAdmin.view_on_site = True
+ self.assertEqual(CityAdmin.check(City), [])
+ CityAdmin.view_on_site = False
+ self.assertEqual(CityAdmin.check(City), [])
+ CityAdmin.view_on_site = lambda obj: obj.get_absolute_url()
+ self.assertEqual(CityAdmin.check(City), [])
+ CityAdmin.view_on_site = []
+ self.assertEqual(CityAdmin.check(City), [
+ Error(
+ '"view_on_site" is not a callable or a boolean value.',
+ hint=None,
+ obj=CityAdmin,
+ id='admin.E025',
+ ),
+ ])
+ finally:
+ # Restore the original values for the benefit of other tests.
+ CityAdmin.view_on_site = True
def test_false(self):
"Ensure that the 'View on site' button is not displayed if view_on_site is False"