aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests
diff options
context:
space:
mode:
authorMarkus Törnqvist2013-05-18 17:44:40 +0300
committerMarkus Törnqvist2013-05-18 17:44:40 +0300
commit2795e842d60c4f1759129ab46bad6ba3e62195aa (patch)
tree4472f01125181b09aa9de23740eef2487194d476 /rest_framework/tests
parente68ea16d7a8b94b2e975d3b4407059f02906bca3 (diff)
downloaddjango-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.py45
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.')
+