summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAnssi Kääriäinen <akaariai@gmail.com>2013-11-21 14:11:57 +0200
committerAnssi Kääriäinen <akaariai@gmail.com>2013-11-21 14:52:00 +0200
commit752d3d70da6291039f33781a0a2ef6f3b7c5fcb5 (patch)
treec86d12d2ca9e1473caf84f66b9e81e0b28f9a06c /tests
parent1116a5662c1648ea3a80acc4b9a3929778bb4036 (diff)
Fixed #21431 -- GenRel->FK list_filter regression in admin
Report, analysis and tests from stephenmcd.
Diffstat (limited to 'tests')
-rw-r--r--tests/admin_views/tests.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index f23d8d1960..77df3651f7 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -18,6 +18,7 @@ from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME
from django.contrib.admin.models import LogEntry, DELETION
from django.contrib.admin.sites import LOGIN_FORM_KEY
from django.contrib.admin.utils import quote
+from django.contrib.admin.validation import ModelAdminValidator
from django.contrib.admin.views.main import IS_POPUP_VAR
from django.contrib.admin.tests import AdminSeleniumWebDriverTestCase
from django.contrib.auth import REDIRECT_FIELD_NAME
@@ -4682,3 +4683,20 @@ class InlineAdminViewOnSiteTest(TestCase):
self.assertContains(response,
'"/worker_inline/%s/%s/"' % (worker.surname, worker.name),
)
+
+
+class AdminGenericRelationTests(TestCase):
+ def test_generic_relation_fk_list_filter(self):
+ """
+ Validates a model with a generic relation to a model with
+ a foreign key can specify the generic+fk relationship
+ path as a list_filter. See trac #21428.
+ """
+ class GenericFKAdmin(ModelAdmin):
+ list_filter = ('tags__content_type',)
+
+ validator = ModelAdminValidator()
+ try:
+ validator.validate_list_filter(GenericFKAdmin, Plot)
+ except ImproperlyConfigured:
+ self.fail("Couldn't validate a GenericRelation -> FK path in ModelAdmin.list_filter")