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 | |
| parent | e68ea16d7a8b94b2e975d3b4407059f02906bca3 (diff) | |
| download | django-rest-framework-2795e842d60c4f1759129ab46bad6ba3e62195aa.tar.bz2 | |
Two test cases for html rendering of API with labelized model
| -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.') +  | 
