diff options
| author | Markus Törnqvist | 2013-05-18 17:44:40 +0300 |
|---|---|---|
| committer | Markus Törnqvist | 2013-05-18 17:44:40 +0300 |
| commit | 2795e842d60c4f1759129ab46bad6ba3e62195aa (patch) | |
| tree | 4472f01125181b09aa9de23740eef2487194d476 /rest_framework/tests | |
| parent | e68ea16d7a8b94b2e975d3b4407059f02906bca3 (diff) | |
| download | django-rest-framework-2795e842d60c4f1759129ab46bad6ba3e62195aa.tar.bz2 | |
Two test cases for html rendering of API with labelized model
Diffstat (limited to 'rest_framework/tests')
| -rw-r--r-- | rest_framework/tests/response.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/rest_framework/tests/response.py b/rest_framework/tests/response.py index aecf83f4..d49aaa1f 100644 --- a/rest_framework/tests/response.py +++ b/rest_framework/tests/response.py @@ -1,14 +1,18 @@ from __future__ import unicode_literals from django.test import TestCase +from rest_framework.tests.models import BasicModel, BasicModelSerializer from rest_framework.compat import patterns, url, include from rest_framework.response import Response from rest_framework.views import APIView +from rest_framework import generics +from rest_framework import routers from rest_framework import status from rest_framework.renderers import ( BaseRenderer, JSONRenderer, BrowsableAPIRenderer ) +from rest_framework import viewsets from rest_framework.settings import api_settings from rest_framework.compat import six @@ -65,11 +69,27 @@ class HTMLView1(APIView): return Response('text') +class HTMLNewModelViewSet(viewsets.ModelViewSet): + model = BasicModel + + +class HTMLNewModelView(generics.ListCreateAPIView): + renderer_classes = (BrowsableAPIRenderer,) + permission_classes = [] + serializer_class = BasicModelSerializer + model = BasicModel + + +new_model_viewset_router = routers.DefaultRouter() +new_model_viewset_router.register(r'', HTMLNewModelViewSet) + urlpatterns = patterns('', url(r'^.*\.(?P<format>.+)$', MockView.as_view(renderer_classes=[RendererA, RendererB])), url(r'^$', MockView.as_view(renderer_classes=[RendererA, RendererB])), url(r'^html$', HTMLView.as_view()), url(r'^html1$', HTMLView1.as_view()), + url(r'^html_new_model$', HTMLNewModelView.as_view()), + url(r'^html_new_model_viewset', include(new_model_viewset_router.urls)), url(r'^restframework', include('rest_framework.urls', namespace='rest_framework')) ) @@ -173,3 +193,28 @@ class Issue122Tests(TestCase): Test if no infinite recursion occurs. """ self.client.get('/html1') + + +class Issue467Tests(TestCase): + """ + Tests for #467 + """ + + urls = 'rest_framework.tests.response' + + def test_viewset_label_help_text(self): + param = '?%s=%s' % ( + api_settings.URL_ACCEPT_OVERRIDE, + 'text/html' + ) + resp = self.client.get('/html_new_model_viewset/' + param) + self.assertEqual(resp['Content-Type'], 'text/html') + self.assertContains(resp, 'Text comes here') + self.assertContains(resp, 'Text description.') + + def test_form_has_label_and_help_text(self): + resp = self.client.get('/html_new_model') + self.assertEqual(resp['Content-Type'], 'text/html') + self.assertContains(resp, 'Text comes here') + self.assertContains(resp, 'Text description.') + |
