diff options
| author | Baptiste Mispelon <bmispelon@gmail.com> | 2022-02-14 12:27:26 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-14 12:46:46 +0100 |
| commit | 9bb13def5d416ff3d5d1928a2def5babac0e19f6 (patch) | |
| tree | 62e69d4a28e054f4fd0089ff01d8eeace64d2402 /tests/test_utils/tests.py | |
| parent | 261885e4c16a252999ac6ff7d911b7dc50f862f9 (diff) | |
Refs #33348 -- Made SimpleTestCase.assertFormsetErrors() raise an error when form_index is too big.
Diffstat (limited to 'tests/test_utils/tests.py')
| -rw-r--r-- | tests/test_utils/tests.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py index bfc9633122..038e79732b 100644 --- a/tests/test_utils/tests.py +++ b/tests/test_utils/tests.py @@ -1629,6 +1629,33 @@ class AssertFormsetErrorTests(SimpleTestCase): ) self.assertFormsetError(response, "formset", None, None, "error") + def test_form_index_too_big(self): + msg = ( + "The formset <TestFormset: bound=True valid=False total_forms=1> only has " + "1 form." + ) + response = mock.Mock(context=[{}, {"formset": TestFormset.invalid()}]) + with self.assertRaisesMessage(AssertionError, msg): + self.assertFormsetError(response, "formset", 2, "field", "error") + + def test_form_index_too_big_plural(self): + formset = TestFormset( + { + "form-TOTAL_FORMS": "2", + "form-INITIAL_FORMS": "0", + "form-0-field": "valid", + "form-1-field": "valid", + } + ) + formset.full_clean() + msg = ( + "The formset <TestFormset: bound=True valid=True total_forms=2> only has 2 " + "forms." + ) + response = mock.Mock(context=[{}, {"formset": formset}]) + with self.assertRaisesMessage(AssertionError, msg): + self.assertFormsetError(response, "formset", 2, "field", "error") + def test_formset_named_form(self): formset = TestFormset.invalid() # The mocked context emulates the template-based rendering of the |
