summaryrefslogtreecommitdiff
path: root/tests/forms_tests/field_tests/test_decimalfield.py
diff options
context:
space:
mode:
authorJacob Rief <jacob.rief@gmail.com>2023-04-08 22:10:17 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-06-16 08:38:28 +0200
commit1fe0b167af3611cca79e8a8092ee929312193c6f (patch)
treebfdc7ee5dd09b1f194b7308932b6de46c2881374 /tests/forms_tests/field_tests/test_decimalfield.py
parent549d6ffeb6d626b023acc40c3bb2093b4b25b3d6 (diff)
Fixed #34473 -- Fixed step validation for form fields with non-zero minimum value.
Diffstat (limited to 'tests/forms_tests/field_tests/test_decimalfield.py')
-rw-r--r--tests/forms_tests/field_tests/test_decimalfield.py19
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"):