diff options
| author | Kapil Bansal <kapilbansal.gbpecdelhi@gmail.com> | 2022-05-12 11:30:47 +0200 |
|---|---|---|
| committer | Carlton Gibson <carlton@noumenal.es> | 2022-05-12 14:16:52 +0200 |
| commit | 3a82b5f655446f0ca89e3b6a92b100aa458f348f (patch) | |
| tree | 6e600054369b9316865b3b5b3ab1838769a2b54e /tests/forms_tests | |
| parent | 68da6b389c403cb91650754be0e2287696807333 (diff) | |
Fixed #32559 -- Added 'step_size’ to numeric form fields.
Co-authored-by: Jacob Rief <jacob.rief@uibk.ac.at>
Diffstat (limited to 'tests/forms_tests')
| -rw-r--r-- | tests/forms_tests/field_tests/test_floatfield.py | 15 | ||||
| -rw-r--r-- | tests/forms_tests/field_tests/test_integerfield.py | 14 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tests/forms_tests/field_tests/test_floatfield.py b/tests/forms_tests/field_tests/test_floatfield.py index f6022807be..94676fb9ee 100644 --- a/tests/forms_tests/field_tests/test_floatfield.py +++ b/tests/forms_tests/field_tests/test_floatfield.py @@ -70,6 +70,21 @@ class FloatFieldTest(FormFieldAssertionsMixin, SimpleTestCase): self.assertEqual(f.max_value, 1.5) self.assertEqual(f.min_value, 0.5) + def test_floatfield_4(self): + f = FloatField(step_size=0.02) + self.assertWidgetRendersTo( + f, + '<input name="f" step="0.02" type="number" id="id_f" required>', + ) + msg = "'Ensure this value is a multiple of step size 0.02.'" + with self.assertRaisesMessage(ValidationError, msg): + f.clean("0.01") + self.assertEqual(2.34, f.clean("2.34")) + self.assertEqual(2.1, f.clean("2.1")) + self.assertEqual(-0.50, f.clean("-.5")) + self.assertEqual(-1.26, f.clean("-1.26")) + self.assertEqual(f.step_size, 0.02) + def test_floatfield_widget_attrs(self): f = FloatField(widget=NumberInput(attrs={"step": 0.01, "max": 1.0, "min": 0.0})) self.assertWidgetRendersTo( diff --git a/tests/forms_tests/field_tests/test_integerfield.py b/tests/forms_tests/field_tests/test_integerfield.py index 15314d53a4..1361b5cc9e 100644 --- a/tests/forms_tests/field_tests/test_integerfield.py +++ b/tests/forms_tests/field_tests/test_integerfield.py @@ -112,6 +112,20 @@ class IntegerFieldTest(FormFieldAssertionsMixin, SimpleTestCase): self.assertEqual(f.max_value, 20) self.assertEqual(f.min_value, 10) + def test_integerfield_6(self): + f = IntegerField(step_size=3) + self.assertWidgetRendersTo( + f, + '<input name="f" step="3" type="number" id="id_f" required>', + ) + with self.assertRaisesMessage( + ValidationError, "'Ensure this value is a multiple of step size 3.'" + ): + f.clean("10") + self.assertEqual(12, f.clean(12)) + self.assertEqual(12, f.clean("12")) + self.assertEqual(f.step_size, 3) + def test_integerfield_localized(self): """ A localized IntegerField's widget renders to a text input without any |
