diff options
Diffstat (limited to 'tests/forms_tests/field_tests/test_decimalfield.py')
| -rw-r--r-- | tests/forms_tests/field_tests/test_decimalfield.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/forms_tests/field_tests/test_decimalfield.py b/tests/forms_tests/field_tests/test_decimalfield.py index 4e24d553f3..9d26bc88b0 100644 --- a/tests/forms_tests/field_tests/test_decimalfield.py +++ b/tests/forms_tests/field_tests/test_decimalfield.py @@ -152,6 +152,25 @@ class DecimalFieldTest(FormFieldAssertionsMixin, SimpleTestCase): with self.assertRaisesMessage(ValidationError, msg): f.clean("1.1") + def test_decimalfield_step_size_min_value(self): + f = DecimalField( + step_size=decimal.Decimal("0.3"), + min_value=decimal.Decimal("-0.4"), + ) + self.assertWidgetRendersTo( + f, + '<input name="f" min="-0.4" step="0.3" type="number" id="id_f" required>', + ) + msg = ( + "Ensure this value is a multiple of step size 0.3, starting from -0.4, " + "e.g. -0.4, -0.1, 0.2, and so on." + ) + with self.assertRaisesMessage(ValidationError, msg): + f.clean("1") + self.assertEqual(f.clean("0.2"), decimal.Decimal("0.2")) + self.assertEqual(f.clean(2), decimal.Decimal(2)) + self.assertEqual(f.step_size, decimal.Decimal("0.3")) + def test_decimalfield_scientific(self): f = DecimalField(max_digits=4, decimal_places=2) with self.assertRaisesMessage(ValidationError, "Ensure that there are no more"): |
