8
8
9
9
from rest_framework import status
10
10
from rest_framework .decorators import api_view , renderer_classes
11
+ from rest_framework .exceptions import ValidationError
11
12
from rest_framework .renderers import TemplateHTMLRenderer
12
13
from rest_framework .response import Response
13
14
@@ -34,10 +35,17 @@ def not_found(request):
34
35
raise Http404 ()
35
36
36
37
38
+ @api_view (('GET' ,))
39
+ @renderer_classes ((TemplateHTMLRenderer ,))
40
+ def validation_error (request ):
41
+ raise ValidationError ('error' )
42
+
43
+
37
44
urlpatterns = [
38
45
path ('' , example ),
39
46
path ('permission_denied' , permission_denied ),
40
47
path ('not_found' , not_found ),
48
+ path ('validation_error' , validation_error ),
41
49
]
42
50
43
51
@@ -91,6 +99,12 @@ def test_permission_denied_html_view(self):
91
99
self .assertEqual (response .content , b"403 Forbidden" )
92
100
self .assertEqual (response ['Content-Type' ], 'text/html; charset=utf-8' )
93
101
102
+ def test_validation_error_html_view (self ):
103
+ response = self .client .get ('/validation_error' )
104
+ self .assertEqual (response .status_code , status .HTTP_400_BAD_REQUEST )
105
+ self .assertEqual (response .content , b"400 Bad Request" )
106
+ self .assertEqual (response ['Content-Type' ], 'text/html; charset=utf-8' )
107
+
94
108
# 2 tests below are based on order of if statements in corresponding method
95
109
# of TemplateHTMLRenderer
96
110
def test_get_template_names_returns_own_template_name (self ):
0 commit comments