summaryrefslogtreecommitdiff
path: root/tests/admin_changelist
diff options
context:
space:
mode:
authorSrinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) <srinivasreddy@users.noreply.github.com>2018-08-21 21:47:46 +0530
committerTim Graham <timograham@gmail.com>2018-08-21 12:17:46 -0400
commit233c70f0479beb3bff9027e6cff680882978fd4d (patch)
tree3b557b0703a23b7f96d4a4ce77832b6cbccefd15 /tests/admin_changelist
parent201017df308266c7d5ed20181e6d0ffa5832e3e9 (diff)
downloaddjango-233c70f0479beb3bff9027e6cff680882978fd4d.tar.gz
Fixed #29658 -- Registered model lookups in tests with a context manager.
Diffstat (limited to 'tests/admin_changelist')
-rw-r--r--tests/admin_changelist/tests.py12
1 files changed, 3 insertions, 9 deletions
diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py
index c12bfc7c93..ccf115a2e4 100644
--- a/tests/admin_changelist/tests.py
+++ b/tests/admin_changelist/tests.py
@@ -16,7 +16,7 @@ from django.db.models.lookups import Contains, Exact
from django.template import Context, Template, TemplateSyntaxError
from django.test import TestCase, override_settings
from django.test.client import RequestFactory
-from django.test.utils import CaptureQueriesContext
+from django.test.utils import CaptureQueriesContext, register_lookup
from django.urls import reverse
from django.utils import formats
@@ -480,8 +480,7 @@ class ChangeListTests(TestCase):
m = ConcertAdmin(Concert, custom_site)
m.search_fields = ['group__name__cc']
- Field.register_lookup(Contains, 'cc')
- try:
+ with register_lookup(Field, Contains, lookup_name='cc'):
request = self.factory.get('/', data={SEARCH_VAR: 'Hype'})
request.user = self.superuser
cl = m.get_changelist_instance(request)
@@ -491,8 +490,6 @@ class ChangeListTests(TestCase):
request.user = self.superuser
cl = m.get_changelist_instance(request)
self.assertCountEqual(cl.queryset, [])
- finally:
- Field._unregister_lookup(Contains, 'cc')
def test_spanning_relations_with_custom_lookup_in_search_fields(self):
hype = Group.objects.create(name='The Hype')
@@ -501,8 +498,7 @@ class ChangeListTests(TestCase):
Membership.objects.create(music=vox, group=hype)
# Register a custom lookup on IntegerField to ensure that field
# traversing logic in ModelAdmin.get_search_results() works.
- IntegerField.register_lookup(Exact, 'exactly')
- try:
+ with register_lookup(IntegerField, Exact, lookup_name='exactly'):
m = ConcertAdmin(Concert, custom_site)
m.search_fields = ['group__members__age__exactly']
@@ -515,8 +511,6 @@ class ChangeListTests(TestCase):
request.user = self.superuser
cl = m.get_changelist_instance(request)
self.assertCountEqual(cl.queryset, [])
- finally:
- IntegerField._unregister_lookup(Exact, 'exactly')
def test_custom_lookup_with_pk_shortcut(self):
self.assertEqual(CharPK._meta.pk.name, 'char_pk') # Not equal to 'pk'.