mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-16 19:41:06 +03:00
Two test cases for html rendering of API with labelized model
This commit is contained in:
parent
e68ea16d7a
commit
2795e842d6
|
@ -1,14 +1,18 @@
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
from rest_framework.tests.models import BasicModel, BasicModelSerializer
|
||||||
from rest_framework.compat import patterns, url, include
|
from rest_framework.compat import patterns, url, include
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.views import APIView
|
from rest_framework.views import APIView
|
||||||
|
from rest_framework import generics
|
||||||
|
from rest_framework import routers
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
from rest_framework.renderers import (
|
from rest_framework.renderers import (
|
||||||
BaseRenderer,
|
BaseRenderer,
|
||||||
JSONRenderer,
|
JSONRenderer,
|
||||||
BrowsableAPIRenderer
|
BrowsableAPIRenderer
|
||||||
)
|
)
|
||||||
|
from rest_framework import viewsets
|
||||||
from rest_framework.settings import api_settings
|
from rest_framework.settings import api_settings
|
||||||
from rest_framework.compat import six
|
from rest_framework.compat import six
|
||||||
|
|
||||||
|
@ -65,11 +69,27 @@ class HTMLView1(APIView):
|
||||||
return Response('text')
|
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('',
|
urlpatterns = patterns('',
|
||||||
url(r'^.*\.(?P<format>.+)$', MockView.as_view(renderer_classes=[RendererA, RendererB])),
|
url(r'^.*\.(?P<format>.+)$', MockView.as_view(renderer_classes=[RendererA, RendererB])),
|
||||||
url(r'^$', MockView.as_view(renderer_classes=[RendererA, RendererB])),
|
url(r'^$', MockView.as_view(renderer_classes=[RendererA, RendererB])),
|
||||||
url(r'^html$', HTMLView.as_view()),
|
url(r'^html$', HTMLView.as_view()),
|
||||||
url(r'^html1$', HTMLView1.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'))
|
url(r'^restframework', include('rest_framework.urls', namespace='rest_framework'))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -173,3 +193,28 @@ class Issue122Tests(TestCase):
|
||||||
Test if no infinite recursion occurs.
|
Test if no infinite recursion occurs.
|
||||||
"""
|
"""
|
||||||
self.client.get('/html1')
|
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.')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user