From 24572a17be95a655ef56cabea06539aab8259258 Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Wed, 12 Feb 2014 22:05:57 +0200 Subject: [PATCH] Added tests for default decimal value quantization. --- rest_framework/tests/test_fields.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/rest_framework/tests/test_fields.py b/rest_framework/tests/test_fields.py index e127feef9..1b5345ee1 100644 --- a/rest_framework/tests/test_fields.py +++ b/rest_framework/tests/test_fields.py @@ -626,7 +626,23 @@ class DecimalFieldTest(TestCase): self.assertFalse(DecimalSerializer(data={'decimal_field': '8000'}).is_valid()) self.assertFalse(DecimalSerializer(data={'decimal_field': '9900'}).is_valid()) self.assertFalse(DecimalSerializer(data={'decimal_field': '9001.234'}).is_valid()) - + + def test_decimal_is_not_quantized_when_decimal_places_is_none(self): + class DecimalSerializer(serializers.Serializer): + decimal_field = serializers.DecimalField(required=False) + serializer = DecimalSerializer(data={}) + + self.assertTrue(serializer.is_valid()) + self.assertTrue(serializer.data['decimal_field'].as_tuple().exponent, 0) + + def test_decimal_is_quantized_when_decimal_places_is_provided(self): + class DecimalSerializer(serializers.Serializer): + decimal_field = serializers.DecimalField(required=False, decimal_places=2) + serializer = DecimalSerializer(data={}) + + self.assertTrue(serializer.is_valid()) + self.assertTrue(serializer.data['decimal_field'].as_tuple().exponent, -2) + def test_raise_max_value(self): """ Make sure max_value violations raises ValidationError