Write test for failing URL param format kwarg

This commit is contained in:
Chris Muthig 2020-05-02 19:53:32 -07:00
parent 5b388e8f83
commit 8f138afd9f
No known key found for this signature in database
GPG Key ID: 28E4EB85B5AB189A

View File

@ -136,3 +136,31 @@ class TestCustomSettings(TestCase):
response = self.view(request)
assert response.status_code == 400
assert response.data == {'error': 'SyntaxError'}
class FormatView(APIView):
def get(self, request, *args, **kwargs):
return Response({'format': self.format_kwarg})
class TestAPIViewFormat(TestCase):
def setUp(self):
self.view = FormatView.as_view()
def test_uses_kwargs_format(self):
request = factory.get('/')
response = self.view(request, format='json')
assert response.data == {'format': 'json'}
def test_uses_url_format(self):
request = factory.get('/test?format=json')
response = self.view(request)
assert response.data == {'format': 'json'}
def test_prefers_kwarg_over_url_format(self):
request = factory.get('/test?format=json')
response = self.view(request, format='api')
assert response.data == {'format': 'api'}