mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-07 13:54:47 +03:00
Write failing test scenario to support issue #4463.
- Demonstrate that an explicitly defined "list" view is not included in the schema generator Document when a "detail" view also exists.
This commit is contained in:
parent
07efbdb45e
commit
41967a9e6b
|
@ -216,3 +216,36 @@ class TestSchemaGenerator(TestCase):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
self.assertEquals(schema, expected)
|
self.assertEquals(schema, expected)
|
||||||
|
|
||||||
|
|
||||||
|
class SnippetListView(APIView):
|
||||||
|
def get(self, *args, **kwargs):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class SnippetDetailView(APIView):
|
||||||
|
def get(self, *args, **kwargs):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@unittest.skipUnless(coreapi, 'coreapi is not installed')
|
||||||
|
class TestDocumentLinksOnExplicitlyDefinedPatterns(TestCase):
|
||||||
|
"""
|
||||||
|
Given a "list" and "detail" view with explicitly defined urlpatterns,
|
||||||
|
and that the views support common HTTP methods, Document Link objects
|
||||||
|
should be created for both the "list" and "detail" endpoints.
|
||||||
|
"""
|
||||||
|
def setUp(self):
|
||||||
|
self.patterns = [
|
||||||
|
url('^snippets/?$', SnippetListView.as_view()),
|
||||||
|
url('^snippets/(?P<pk>\d+)/?$', SnippetDetailView.as_view()),
|
||||||
|
]
|
||||||
|
self.generator = SchemaGenerator(title='Test View', patterns=self.patterns)
|
||||||
|
self.document = self.generator.get_schema()
|
||||||
|
|
||||||
|
def test_there_should_be_a_link_to_the_snippets_list_view(self):
|
||||||
|
expected = '/snippets/'
|
||||||
|
snippets = self.document._data['snippets']
|
||||||
|
urls = [link.url for link in snippets._data.values()]
|
||||||
|
|
||||||
|
self.assertIn(expected, urls)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user