mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-28 08:59:54 +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('/'))
|
schema = generator.get_schema(request=create_request('/'))
|
||||||
assert schema['paths']['/test/{id}/']['get']['tags'] == ['example1', 'example2']
|
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):
|
def test_auto_generated_viewset_tags(self):
|
||||||
class ExampleIPViewSet(views.ExampleTagsViewSet):
|
class ExampleIPViewSet(views.ExampleTagsViewSet):
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Reference in New Issue
Block a user