summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLoek van Gent <loek@1procentclub.nl>2015-03-16 11:00:16 +0100
committerTim Graham <timograham@gmail.com>2015-03-19 08:52:28 -0400
commit35b3158d52a5fe51d3b52aec1109a30a73c5abe9 (patch)
tree9e32f6e9a81e720af9ccce61a8c0d963152c2374 /tests
parent8d90489fe0049049f1f13c737ac51a24abf1efc3 (diff)
Fixed #24417 -- Added ModelAdmin.get_list_select_related()
Diffstat (limited to 'tests')
-rw-r--r--tests/admin_changelist/tests.py25
1 files changed, 22 insertions, 3 deletions
diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py
index b9e2a5da02..2161c52f3e 100644
--- a/tests/admin_changelist/tests.py
+++ b/tests/admin_changelist/tests.py
@@ -50,9 +50,10 @@ class ChangeListTests(TestCase):
"""
m = ChildAdmin(Child, admin.site)
request = self.factory.get('/child/')
+ list_select_related = m.get_list_select_related(request)
cl = ChangeList(request, Child, m.list_display, m.list_display_links,
m.list_filter, m.date_hierarchy, m.search_fields,
- m.list_select_related, m.list_per_page,
+ list_select_related, m.list_per_page,
m.list_max_show_all, m.list_editable, m)
self.assertEqual(cl.queryset.query.select_related, {
'parent': {'name': {}}
@@ -61,9 +62,10 @@ class ChangeListTests(TestCase):
def test_select_related_as_tuple(self):
ia = InvitationAdmin(Invitation, admin.site)
request = self.factory.get('/invitation/')
+ list_select_related = ia.get_list_select_related(request)
cl = ChangeList(request, Child, ia.list_display, ia.list_display_links,
ia.list_filter, ia.date_hierarchy, ia.search_fields,
- ia.list_select_related, ia.list_per_page,
+ list_select_related, ia.list_per_page,
ia.list_max_show_all, ia.list_editable, ia)
self.assertEqual(cl.queryset.query.select_related, {'player': {}})
@@ -71,12 +73,29 @@ class ChangeListTests(TestCase):
ia = InvitationAdmin(Invitation, admin.site)
ia.list_select_related = ()
request = self.factory.get('/invitation/')
+ list_select_related = ia.get_list_select_related(request)
cl = ChangeList(request, Child, ia.list_display, ia.list_display_links,
ia.list_filter, ia.date_hierarchy, ia.search_fields,
- ia.list_select_related, ia.list_per_page,
+ list_select_related, ia.list_per_page,
ia.list_max_show_all, ia.list_editable, ia)
self.assertEqual(cl.queryset.query.select_related, False)
+ def test_get_select_related_custom_method(self):
+ class GetListSelectRelatedAdmin(admin.ModelAdmin):
+ list_display = ('band', 'player')
+
+ def get_list_select_related(self, request):
+ return ('band', 'player')
+
+ ia = GetListSelectRelatedAdmin(Invitation, admin.site)
+ request = self.factory.get('/invitation/')
+ list_select_related = ia.get_list_select_related(request)
+ cl = ChangeList(request, Child, ia.list_display, ia.list_display_links,
+ ia.list_filter, ia.date_hierarchy, ia.search_fields,
+ list_select_related, ia.list_per_page,
+ ia.list_max_show_all, ia.list_editable, ia)
+ self.assertEqual(cl.queryset.query.select_related, {'player': {}, 'band': {}})
+
def test_result_list_empty_changelist_value(self):
"""
Regression test for #14982: EMPTY_CHANGELIST_VALUE should be honored