aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/test_serializer.py
diff options
context:
space:
mode:
authorVladislav Vlastovskiy2014-03-20 01:49:30 +0400
committerVladislav Vlastovskiy2014-03-20 01:49:30 +0400
commit19c03f4a60f339397b8ed03c9e6f20b3c604ffc3 (patch)
tree608dc469eb92b7b29b66ca3f9685369a5d9b73ae /rest_framework/tests/test_serializer.py
parentabe14c06f78de3b1ab20ed73f0ee5691f5224f94 (diff)
downloaddjango-rest-framework-19c03f4a60f339397b8ed03c9e6f20b3c604ffc3.tar.bz2
Added test writable star source
Uses nested serializer with parent object
Diffstat (limited to 'rest_framework/tests/test_serializer.py')
-rw-r--r--rest_framework/tests/test_serializer.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/rest_framework/tests/test_serializer.py b/rest_framework/tests/test_serializer.py
index 85a899c5..b78ceaa6 100644
--- a/rest_framework/tests/test_serializer.py
+++ b/rest_framework/tests/test_serializer.py
@@ -508,6 +508,32 @@ class ValidationTests(TestCase):
)
self.assertEqual(serializer.is_valid(), True)
+ def test_writable_star_source_on_nested_serializer_with_parent_object(self):
+ class Serializer(serializers.Serializer):
+ title = serializers.WritableField(source='title')
+
+ class AlbumSerializer(serializers.ModelSerializer):
+ nested = Serializer(source='*')
+
+ class Meta:
+ model = Album
+ fields = ('nested',)
+
+ class PhotoSerializer(serializers.ModelSerializer):
+ album = AlbumSerializer(source='album')
+
+ class Meta:
+ model = Photo
+ fields = ('album', )
+
+ photo = Photo(album=Album())
+
+ data = {'album': {'nested': {'title': 'test'}}}
+
+ serializer = PhotoSerializer(photo, data=data)
+ self.assertEqual(serializer.is_valid(), True)
+ self.assertEqual(serializer.data, data)
+
def test_writable_star_source_with_inner_source_fields(self):
"""
Tests that a serializer with source="*" correctly expands the