|
22 | 22 |
|
23 | 23 | from rest_framework import serializers
|
24 | 24 | from rest_framework.compat import DurationField as ModelDurationField
|
25 |
| -from rest_framework.compat import DecimalValidator, unicode_repr |
| 25 | +from rest_framework.compat import unicode_repr |
26 | 26 |
|
27 | 27 |
|
28 | 28 | def dedent(blocktext):
|
@@ -872,30 +872,40 @@ class DecimalFieldModel(models.Model):
|
872 | 872 |
|
873 | 873 |
|
874 | 874 | class TestDecimalFieldMappings(TestCase):
|
875 |
| - @pytest.mark.skipif(DecimalValidator is not None, |
876 |
| - reason='DecimalValidator is available in Django 1.9+') |
877 |
| - def test_decimal_field_has_no_decimal_validator(self): |
| 875 | + def test_decimal_field_has_decimal_validator(self): |
878 | 876 | """
|
879 |
| - Test that a DecimalField has no validators before Django 1.9. |
| 877 | + Test that a `DecimalField` has no `DecimalValidator`. |
880 | 878 | """
|
881 | 879 | class TestSerializer(serializers.ModelSerializer):
|
882 | 880 | class Meta:
|
883 | 881 | model = DecimalFieldModel
|
884 | 882 |
|
885 | 883 | serializer = TestSerializer()
|
886 | 884 |
|
887 |
| - assert len(serializer.fields['decimal_field'].validators) == 0 |
| 885 | + assert len(serializer.fields['decimal_field'].validators) == 2 |
888 | 886 |
|
889 |
| - @pytest.mark.skipif(DecimalValidator is None, |
890 |
| - reason='DecimalValidator is available in Django 1.9+') |
891 |
| - def test_decimal_field_has_decimal_validator(self): |
| 887 | + def test_min_value_is_passed(self): |
892 | 888 | """
|
893 |
| - Test that a DecimalField has DecimalValidator in Django 1.9+. |
| 889 | + Test that the `MinValueValidator` is converted to the `min_value` |
| 890 | + argument for the field. |
894 | 891 | """
|
895 | 892 | class TestSerializer(serializers.ModelSerializer):
|
896 | 893 | class Meta:
|
897 | 894 | model = DecimalFieldModel
|
898 | 895 |
|
899 | 896 | serializer = TestSerializer()
|
900 | 897 |
|
901 |
| - assert len(serializer.fields['decimal_field'].validators) == 2 |
| 898 | + assert serializer.fields['decimal_field'].min_value == 1 |
| 899 | + |
| 900 | + def test_max_value_is_passed(self): |
| 901 | + """ |
| 902 | + Test that the `MaxValueValidator` is converted to the `max_value` |
| 903 | + argument for the field. |
| 904 | + """ |
| 905 | + class TestSerializer(serializers.ModelSerializer): |
| 906 | + class Meta: |
| 907 | + model = DecimalFieldModel |
| 908 | + |
| 909 | + serializer = TestSerializer() |
| 910 | + |
| 911 | + assert serializer.fields['decimal_field'].max_value == 3 |
0 commit comments