summaryrefslogtreecommitdiff
path: root/tests/test_utils
diff options
context:
space:
mode:
authorBaptiste Mispelon <bmispelon@gmail.com>2021-11-20 19:56:39 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-11-26 13:10:43 +0100
commit9ac92b1efc5ff90e7cce5c47fbd05887d403e4cd (patch)
tree30b99df2ee386699117a662377b5729cf13f0292 /tests/test_utils
parent68144f40490b2572c8da4341742b9e387e3f6bdd (diff)
downloaddjango-9ac92b1efc5ff90e7cce5c47fbd05887d403e4cd.tar.gz
Refs #33301 -- Made SimpleTestCase.assertFormError()/assertFormsetErrors() raise ValueError for non test client responses.
Diffstat (limited to 'tests/test_utils')
-rw-r--r--tests/test_utils/tests.py28
1 files changed, 21 insertions, 7 deletions
diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py
index fbff188576..47ce93e2ca 100644
--- a/tests/test_utils/tests.py
+++ b/tests/test_utils/tests.py
@@ -558,14 +558,10 @@ class AssertTemplateUsedContextManagerTests(SimpleTestCase):
def test_assert_used_on_http_response(self):
response = HttpResponse()
- error_msg = (
- 'assertTemplateUsed() and assertTemplateNotUsed() are only '
- 'usable on responses fetched using the Django test Client.'
- )
- with self.assertRaisesMessage(ValueError, error_msg):
+ msg = '%s() is only usable on responses fetched using the Django test Client.'
+ with self.assertRaisesMessage(ValueError, msg % 'assertTemplateUsed'):
self.assertTemplateUsed(response, 'template.html')
-
- with self.assertRaisesMessage(ValueError, error_msg):
+ with self.assertRaisesMessage(ValueError, msg % 'assertTemplateNotUsed'):
self.assertTemplateNotUsed(response, 'template.html')
@@ -1288,6 +1284,15 @@ class TestFormset(formset_factory(TestForm)):
class AssertFormErrorTests(SimpleTestCase):
+ def test_non_client_response(self):
+ msg = (
+ 'assertFormError() is only usable on responses fetched using the '
+ 'Django test Client.'
+ )
+ response = HttpResponse()
+ with self.assertRaisesMessage(ValueError, msg):
+ self.assertFormError(response, 'formset', 0, 'field', 'invalid value')
+
def test_response_with_no_context(self):
msg = 'Response did not use any contexts to render the response'
response = mock.Mock(context=[])
@@ -1384,6 +1389,15 @@ class AssertFormsetErrorTests(SimpleTestCase):
'form-0-field': field_value,
}
+ def test_non_client_response(self):
+ msg = (
+ 'assertFormsetError() is only usable on responses fetched using '
+ 'the Django test Client.'
+ )
+ response = HttpResponse()
+ with self.assertRaisesMessage(ValueError, msg):
+ self.assertFormsetError(response, 'formset', 0, 'field', 'invalid value')
+
def test_response_with_no_context(self):
msg = 'Response did not use any contexts to render the response'
response = mock.Mock(context=[])