Fixed #6856 -- solved a case where generic view delete method generated incorrect OpenAPI response body schema

This commit is contained in:
Dima Knivets 2019-08-09 15:28:38 +03:00
parent f7dc6b5656
commit e15177383c
2 changed files with 30 additions and 0 deletions

View File

@ -485,6 +485,13 @@ class AutoSchema(ViewInspector):
else:
response_schema = item_schema
if method == 'DELETE':
return {
'204': {
'description': ''
}
}
return {
'200': {
'content': {

View File

@ -264,6 +264,29 @@ class TestOperationIntrospection(TestCase):
},
}
def test_delete_response_body_generation(self):
"""Test that a view's delete method generates a proper response body schema."""
path = '/{id}/'
method = 'DELETE'
class View(generics.DestroyAPIView):
serializer_class = views.ExampleSerializer
view = create_view(
View,
method,
create_request(path),
)
inspector = AutoSchema()
inspector.view = view
responses = inspector._get_responses(path, method)
assert responses == {
'204': {
'description': '',
},
}
def test_retrieve_response_body_generation(self):
"""Test that a list of properties is returned for retrieve item views."""
path = '/{id}/'