mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-08 06:14:47 +03:00
Add test for serializer loading of data from 'multipart' format requests re: bug discovered in #2485
This commit is contained in:
parent
db73833d13
commit
5bdfb6fb15
|
@ -1,3 +1,5 @@
|
||||||
|
from collections import OrderedDict
|
||||||
|
|
||||||
from django.http import QueryDict
|
from django.http import QueryDict
|
||||||
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
@ -43,6 +45,9 @@ class TestNestedSerializer:
|
||||||
|
|
||||||
|
|
||||||
class TestNotRequiredNestedSerializer:
|
class TestNotRequiredNestedSerializer:
|
||||||
|
|
||||||
|
expected = {'nested': OrderedDict([('one', 1)])}
|
||||||
|
|
||||||
def setup(self):
|
def setup(self):
|
||||||
class NestedSerializer(serializers.Serializer):
|
class NestedSerializer(serializers.Serializer):
|
||||||
one = serializers.IntegerField(max_value=10)
|
one = serializers.IntegerField(max_value=10)
|
||||||
|
@ -60,6 +65,7 @@ class TestNotRequiredNestedSerializer:
|
||||||
input_data = {'nested': {'one': '1'}}
|
input_data = {'nested': {'one': '1'}}
|
||||||
serializer = self.Serializer(data=input_data)
|
serializer = self.Serializer(data=input_data)
|
||||||
assert serializer.is_valid()
|
assert serializer.is_valid()
|
||||||
|
assert serializer.data == self.expected
|
||||||
|
|
||||||
def test_multipart_validate(self):
|
def test_multipart_validate(self):
|
||||||
input_data = QueryDict('')
|
input_data = QueryDict('')
|
||||||
|
@ -69,6 +75,7 @@ class TestNotRequiredNestedSerializer:
|
||||||
input_data = QueryDict('nested[one]=1')
|
input_data = QueryDict('nested[one]=1')
|
||||||
serializer = self.Serializer(data=input_data)
|
serializer = self.Serializer(data=input_data)
|
||||||
assert serializer.is_valid()
|
assert serializer.is_valid()
|
||||||
|
assert serializer.data == self.expected
|
||||||
|
|
||||||
|
|
||||||
class TestNestedSerializerWithMany:
|
class TestNestedSerializerWithMany:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user