Пример #1
0
 def test_default(self):
     """
     If `default` is set, then omitted values get the default input.
     """
     field = serializers.IntegerField(default=123)
     output = field.run_validation()
     assert output is 123
Пример #2
0
 def test_not_required(self):
     """
     If `required=False` then a field may be omitted from the input.
     """
     field = serializers.IntegerField(required=False)
     with pytest.raises(serializers.SkipField):
         field.run_validation()
Пример #3
0
 class TestSerializer(serializers.Serializer):
     integers = serializers.ListSerializer(
         child=serializers.ListSerializer(
             child=serializers.IntegerField()))
     booleans = serializers.ListSerializer(
         child=serializers.ListSerializer(
             child=serializers.BooleanField()))
Пример #4
0
 def test_allow_null(self):
     """
     If `allow_null=True` then `None` is a valid input.
     """
     field = serializers.IntegerField(allow_null=True)
     output = field.run_validation(None)
     assert output is None
 class ExampleSerializer(serializers.Serializer):
     choice_field = serializers.ChoiceField(['red', 'green', 'blue'])
     integer_field = serializers.IntegerField(min_value=1,
                                              max_value=1000)
     char_field = serializers.CharField(required=False,
                                        min_length=3,
                                        max_length=40)
Пример #6
0
 def test_disallow_null(self):
     """
     By default `None` is not a valid input.
     """
     field = serializers.IntegerField()
     with pytest.raises(serializers.ValidationError) as exc_info:
         field.run_validation(None)
     assert exc_info.value.detail == ['This field may not be null.']
Пример #7
0
        class TestSerializer(serializers.Serializer):
            integers = serializers.ListSerializer(
                child=serializers.IntegerField())
            booleans = serializers.ListSerializer(
                child=serializers.BooleanField())

            def create(self, validated_data):
                return BasicObject(**validated_data)
Пример #8
0
 def test_required(self):
     """
     By default a field must be included in the input.
     """
     field = serializers.IntegerField()
     with pytest.raises(serializers.ValidationError) as exc_info:
         field.run_validation()
     assert exc_info.value.detail == ['This field is required.']
Пример #9
0
class TestListField(FieldValues):
    """
    Values for `ListField` with IntegerField as child.
    """
    valid_inputs = [([1, 2, 3], [1, 2, 3]), (['1', '2', '3'], [1, 2, 3])]
    invalid_inputs = [('not a list',
                       ['Expected a list of items but got type "str".']),
                      ([1, 2, 'error'], ['A valid integer is required.'])]
    outputs = [([1, 2, 3], [1, 2, 3]), (['1', '2', '3'], [1, 2, 3])]
    field = serializers.ListField(child=serializers.IntegerField())
Пример #10
0
class TestIntegerField(FieldValues):
    """
    Valid and invalid values for `IntegerField`.
    """
    valid_inputs = {'1': 1, '0': 0, 1: 1, 0: 0, 1.0: 1, 0.0: 0, '1.0': 1}
    invalid_inputs = {
        0.5: ['A valid integer is required.'],
        'abc': ['A valid integer is required.'],
        '0.5': ['A valid integer is required.']
    }
    outputs = {'1': 1, '0': 0, 1: 1, 0: 0, 1.0: 1, 0.0: 0}
    field = serializers.IntegerField()
Пример #11
0
class TestMinMaxIntegerField(FieldValues):
    """
    Valid and invalid values for `IntegerField` with min and max limits.
    """
    valid_inputs = {
        '1': 1,
        '3': 3,
        1: 1,
        3: 3,
    }
    invalid_inputs = {
        0: ['Ensure this value is greater than or equal to 1.'],
        4: ['Ensure this value is less than or equal to 3.'],
        '0': ['Ensure this value is greater than or equal to 1.'],
        '4': ['Ensure this value is less than or equal to 3.'],
    }
    outputs = {}
    field = serializers.IntegerField(min_value=1, max_value=3)
Пример #12
0
 class IntegerListSerializer(serializers.ListSerializer):
     child = serializers.IntegerField()
Пример #13
0
 class TestSerializer(serializers.Serializer):
     write_only = serializers.IntegerField(write_only=True)
     readable = serializers.IntegerField()
Пример #14
0
 class TestSerializer(serializers.Serializer):
     initial_field = serializers.IntegerField(initial=123)
     blank_field = serializers.IntegerField()
Пример #15
0
 class BookSerializer(serializers.Serializer):
     id = serializers.IntegerField()
     title = serializers.CharField(max_length=100)
     author = serializers.CharField(max_length=100)
Пример #16
0
 class Nested(serializers.Serializer):
     more_text = serializers.CharField(max_length=100)
     amount = serializers.IntegerField()
Пример #17
0
 class ExampleSerializer(serializers.Serializer):
     text = serializers.CharField(max_length=100)
     amount = serializers.IntegerField()
        class ExampleSerializer(serializers.Serializer):
            char = serializers.CharField()
            integer = serializers.IntegerField()

            def validate(self, attrs):
                raise serializers.ValidationError({'char': 'Field error'})
 class ExampleSerializer(serializers.Serializer):
     incorrect_name = serializers.IntegerField()
 class NestedSerializer2(serializers.Serializer):
     c = serializers.IntegerField()
     d = serializers.IntegerField()
Пример #21
0
 class TestSerializer(serializers.Serializer):
     read_only = serializers.ReadOnlyField()
     writable = serializers.IntegerField()
 class ExampleSerializer(serializers.Serializer):
     char = serializers.CharField()
     integer = serializers.IntegerField()
Пример #23
0
 class TestSerializer(serializers.Serializer):
     labeled = serializers.IntegerField(label='My label')
 class ExampleSerializer(serializers.Serializer):
     choice_field = serializers.ChoiceField(['red', 'green', 'blue'])
     integer_field = serializers.IntegerField(max_value=10)
     char_field = serializers.CharField(required=False)
 class NestedSerializer1(serializers.Serializer):
     a = serializers.IntegerField()
     b = serializers.IntegerField()
 class NestedSerializer(serializers.Serializer):
     one = serializers.IntegerField(max_value=10)
     two = serializers.IntegerField(max_value=10)