Skip to content

Commit

Permalink
Add a shim for QuerySetEqual to support both Django 3.2 and Django 5.1
Browse files Browse the repository at this point in the history
  • Loading branch information
albertyw committed Aug 17, 2024
1 parent 6a526be commit e72b9e9
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions project/tests/test_view_requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,19 @@ def test_order_by(self):


class TestContext(TestCase):
def assertQuerySetEqual(*args, **kwargs):
"""
A shim for QuerySetEqual to enable support for multiple versions of Django
TODO: delete this after support for Django 3.2 is dropped
Reference: https://docs.djangoproject.com/en/5.0/topics/testing/tools/#django.test.TransactionTestCase.assertQuerySetEqual
"""
if hasattr(super(), 'assertQuerySetEqual'):
# Django > 3.2
super().assertQuerySetEqual(*args, **kwargs)
else:
# Django < 5.1
super().assertQuerysetEqual(*args, **kwargs)

def test_default(self):
request = Mock(spec_set=['GET', 'session'])
request.session = {}
Expand All @@ -38,7 +51,7 @@ def test_default(self):
'options_order_by': RequestsView().options_order_by,
'options_order_dir': RequestsView().options_order_dir,
}, context))
self.assertQuerysetEqual(context['options_paths'], RequestsView()._get_paths())
self.assertQuerySetEqual(context['options_paths'], RequestsView()._get_paths())
self.assertNotIn('path', context)
self.assertIn('results', context)

Expand All @@ -60,7 +73,7 @@ def test_get(self):
'options_order_by': RequestsView().options_order_by,
'options_order_dir': RequestsView().options_order_dir,
}, context))
self.assertQuerysetEqual(context['options_paths'], RequestsView()._get_paths())
self.assertQuerySetEqual(context['options_paths'], RequestsView()._get_paths())
self.assertIn('results', context)

def test_post(self):
Expand All @@ -74,7 +87,7 @@ def test_post(self):
'overalltime': {'typ': 'TimeSpentOnQueriesFilter', 'value': 100, 'str': 'DB Time >= 100'}
},
}, context))
self.assertQuerysetEqual(context['options_paths'], RequestsView()._get_paths())
self.assertQuerySetEqual(context['options_paths'], RequestsView()._get_paths())
self.assertIn('results', context)

def test_view_without_session_and_auth_middlewares(self):
Expand Down

0 comments on commit e72b9e9

Please sign in to comment.