summaryrefslogtreecommitdiff
path: root/tests/regressiontests/admin_views/tests.py
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2009-04-01 14:14:20 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2009-04-01 14:14:20 +0000
commitee17cabba0e1f2cbb85b2044eda43108e3f4371c (patch)
treefa5c3ade8c85aa0ca7cec09f9262646ab36c31a5 /tests/regressiontests/admin_views/tests.py
parenta2dec37c413cc1b9fd205047e15602e4bc41de1f (diff)
Fixed #9969: choices with options groups (added in [7977]) now work correctly in the admin with list_display and list_filter. Thanks, ramiro.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10318 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/admin_views/tests.py')
-rw-r--r--tests/regressiontests/admin_views/tests.py33
1 files changed, 32 insertions, 1 deletions
diff --git a/tests/regressiontests/admin_views/tests.py b/tests/regressiontests/admin_views/tests.py
index 2e228743da..cecd797e85 100644
--- a/tests/regressiontests/admin_views/tests.py
+++ b/tests/regressiontests/admin_views/tests.py
@@ -21,7 +21,7 @@ except NameError:
from sets import Set as set
class AdminViewBasicTest(TestCase):
- fixtures = ['admin-views-users.xml', 'admin-views-colors.xml']
+ fixtures = ['admin-views-users.xml', 'admin-views-colors.xml', 'admin-views-fabrics.xml']
# Store the bit of the URL where the admin is registered as a class
# variable. That way we can test a second AdminSite just by subclassing
@@ -182,6 +182,37 @@ class AdminViewBasicTest(TestCase):
response = self.client.get('/test_admin/%s/admin_views/thing/' % self.urlbit, {'color__id__exact': 'StringNotInteger!'})
self.assertRedirects(response, '/test_admin/%s/admin_views/thing/?e=1' % self.urlbit)
+ def testNamedGroupFieldChoicesChangeList(self):
+ """
+ Ensures the admin changelist shows correct values in the relevant column
+ for rows corresponding to instances of a model in which a named group
+ has been used in the choices option of a field.
+ """
+ response = self.client.get('/test_admin/%s/admin_views/fabric/' % self.urlbit)
+ self.failUnlessEqual(response.status_code, 200)
+ self.failUnless(
+ '<a href="1/">Horizontal</a>' in response.content and
+ '<a href="2/">Vertical</a>' in response.content,
+ "Changelist table isn't showing the right human-readable values set by a model field 'choices' option named group."
+ )
+
+ def testNamedGroupFieldChoicesFilter(self):
+ """
+ Ensures the filter UI shows correctly when at least one named group has
+ been used in the choices option of a model field.
+ """
+ response = self.client.get('/test_admin/%s/admin_views/fabric/' % self.urlbit)
+ self.failUnlessEqual(response.status_code, 200)
+ self.failUnless(
+ '<div id="changelist-filter">' in response.content,
+ "Expected filter not found in changelist view."
+ )
+ self.failUnless(
+ '<a href="?surface__exact=x">Horizontal</a>' in response.content and
+ '<a href="?surface__exact=y">Vertical</a>' in response.content,
+ "Changelist filter isn't showing options contained inside a model field 'choices' option named group."
+ )
+
class CustomModelAdminTest(AdminViewBasicTest):
urlbit = "admin2"