From ae02a9bb210aecce1b1c84d60ee9a8a8968f6ab4 Mon Sep 17 00:00:00 2001 From: Jorn van Wier Date: Thu, 2 Apr 2020 11:38:57 +0200 Subject: [PATCH] add test for URLPathVersioning reverse fallback --- tests/test_versioning.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/test_versioning.py b/tests/test_versioning.py index d4e269df3..2a6155240 100644 --- a/tests/test_versioning.py +++ b/tests/test_versioning.py @@ -151,6 +151,7 @@ class TestURLReversing(URLPatternsTestCase, APITestCase): urlpatterns = [ url(r'^v1/', include((included, 'v1'), namespace='v1')), url(r'^another/$', dummy_view, name='another'), + url(r'^(?P.+)/unversioned/$', dummy_view, name='unversioned'), url(r'^(?P[v1|v2]+)/another/$', dummy_view, name='another'), ] @@ -198,6 +199,14 @@ class TestURLReversing(URLPatternsTestCase, APITestCase): response = view(request) assert response.data == {'url': 'http://testserver/another/'} + # Test fallback when kwargs is not None + request = factory.get('/v1/endpoint/') + request.versioning_scheme = scheme() + request.version = 'v1' + + reversed_url = reverse('unversioned', request=request, kwargs={'foo': 'bar'}) + assert reversed_url == 'http://testserver/bar/unversioned/' + def test_reverse_namespace_versioning(self): class FakeResolverMatch: namespace = 'v1'