diff options
| author | Vladislav Vlastovskiy | 2014-03-20 01:49:30 +0400 |
|---|---|---|
| committer | Vladislav Vlastovskiy | 2014-03-20 01:49:30 +0400 |
| commit | 19c03f4a60f339397b8ed03c9e6f20b3c604ffc3 (patch) | |
| tree | 608dc469eb92b7b29b66ca3f9685369a5d9b73ae /rest_framework/tests/test_serializer.py | |
| parent | abe14c06f78de3b1ab20ed73f0ee5691f5224f94 (diff) | |
| download | django-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.py | 26 |
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 |
