mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-28 00:49:49 +03:00
add test case for method override use case
This commit is contained in:
parent
95831b5be1
commit
f438f14d13
|
@ -708,6 +708,28 @@ class TestOperationIntrospection(TestCase):
|
|||
schema = generator.get_schema(request=create_request('/'))
|
||||
assert schema['paths']['/test/{id}/']['get']['tags'] == ['example1', 'example2']
|
||||
|
||||
def test_overridden_get_tags_method(self):
|
||||
class MySchema(AutoSchema):
|
||||
def get_tags(self, path, method):
|
||||
if path.endswith('/new/'):
|
||||
tags = ['tag1', 'tag2']
|
||||
elif path.endswith('/old/'):
|
||||
tags = ['tag2', 'tag3']
|
||||
else:
|
||||
tags = ['tag4', 'tag5']
|
||||
|
||||
return tags
|
||||
|
||||
class ExampleStringTagsViewSet(views.ExampleGenericViewSet):
|
||||
schema = MySchema()
|
||||
|
||||
router = routers.SimpleRouter()
|
||||
router.register('example', ExampleStringTagsViewSet, basename="example")
|
||||
generator = SchemaGenerator(patterns=router.urls)
|
||||
schema = generator.get_schema(request=create_request('/'))
|
||||
assert schema['paths']['/example/new/']['get']['tags'] == ['tag1', 'tag2']
|
||||
assert schema['paths']['/example/old/']['get']['tags'] == ['tag2', 'tag3']
|
||||
|
||||
def test_auto_generated_viewset_tags(self):
|
||||
class ExampleIPViewSet(views.ExampleTagsViewSet):
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue
Block a user