Using a model serializer in order to try and reproduce the problem.

This commit is contained in:
Omer Katz 2014-02-13 09:38:36 +02:00
parent 56716f490b
commit bedc0f7e50

View File

@ -628,16 +628,26 @@ class DecimalFieldTest(TestCase):
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={})
class LongDecimalFieldModel(models.Model):
decimal_field = models.DecimalField(max_digits=20, decimal_places=10, default=0)
class DecimalSerializer((serializers.ModelSerializer):
class Meta:
model = LongDecimalFieldMode
decimal_field = serializers.DecimalField(required=False, decimal_places=2)
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):
class LongDecimalFieldModel(models.Model):
decimal_field = models.DecimalField(max_digits=20, decimal_places=10, default=0)
class DecimalSerializer((serializers.ModelSerializer):
class Meta:
model = LongDecimalFieldMode
decimal_field = serializers.DecimalField(required=False, decimal_places=2)
serializer = DecimalSerializer(data={})
self.assertTrue(serializer.is_valid())