diff options
| author | Baptiste Mispelon <bmispelon@gmail.com> | 2022-02-15 10:28:26 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-15 10:30:20 +0100 |
| commit | f7e0bffa2e9c8820c008e742f76b71feaf7dd89f (patch) | |
| tree | 1acb52c7e2b0be1c0db7fec02ce838b8b0c0abeb | |
| parent | d4c9dab74bc29c240c33879a1167e5fd0971c7bc (diff) | |
Refs #33348 -- Made SimpleTestCase.assertFormError() raise ValueError when "field" is passed without "form_index".
| -rw-r--r-- | django/test/testcases.py | 4 | ||||
| -rw-r--r-- | tests/test_utils/tests.py | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/django/test/testcases.py b/django/test/testcases.py index 5533c01db4..3758671117 100644 --- a/django/test/testcases.py +++ b/django/test/testcases.py @@ -658,6 +658,10 @@ class SimpleTestCase(unittest.TestCase): stacklevel=2, ) errors = [] + + if form_index is None and field is not None: + raise ValueError("You must use field=None with form_index=None.") + # Put error(s) into a list to simplify processing. errors = to_list(errors) diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py index 92778439ed..f62a473357 100644 --- a/tests/test_utils/tests.py +++ b/tests/test_utils/tests.py @@ -1603,6 +1603,17 @@ class AssertFormsetErrorTests(SimpleTestCase): ) self.assertFormsetError(response, "formset", None, None, "error") + def test_non_form_errors_with_field(self): + response = mock.Mock( + context=[ + {}, + {"formset": TestFormset.invalid(nonform=True)}, + ] + ) + msg = "You must use field=None with form_index=None." + with self.assertRaisesMessage(ValueError, msg): + self.assertFormsetError(response, "formset", None, "field", "error") + def test_form_index_too_big(self): msg = ( "The formset <TestFormset: bound=True valid=False total_forms=1> only has " |
