From b04fd3d0503a289508eadccb044d8d4ac00f3980 Mon Sep 17 00:00:00 2001 From: eofs Date: Mon, 14 Jan 2013 14:32:10 +0200 Subject: [PATCH] Test case --- rest_framework/tests/serializer.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index bd96ba23e..f9abe0f6b 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -613,7 +613,6 @@ class CallableDefaultValueTests(TestCase): self.assertEquals(instance.pk, 1) self.assertEquals(instance.text, 'overridden') - class ManyRelatedTests(TestCase): def test_reverse_relations(self): post = BlogPost.objects.create(title="Test blog post") @@ -638,6 +637,30 @@ class ManyRelatedTests(TestCase): self.assertEqual(serializer.data, expected) + def test_include_reverse_relations(self): + post = BlogPost.objects.create(title="Test blog post") + post.blogpostcomment_set.create(text="I hate this blog post") + post.blogpostcomment_set.create(text="I love this blog post") + + class BlogPostCommentSerializer(serializers.Serializer): + text = serializers.CharField() + + class BlogPostSerializer(serializers.ModelSerializer): + class Meta: + model = BlogPost + include_reverse_relations = True + depth = 1 + + serializer = BlogPostSerializer(instance=post) + expected = { + 'id': 1, 'title': u'Test blog post', 'writer': None, + 'blogpostcomment_set': [ + {'id': 1, 'text': u'I hate this blog post', 'blog_post': 1}, + {'id': 2, 'text': u'I love this blog post', 'blog_post': 1} + ] + } + self.assertEqual(serializer.data, expected) + def test_callable_source(self): post = BlogPost.objects.create(title="Test blog post") post.blogpostcomment_set.create(text="I love this blog post") @@ -901,3 +924,4 @@ class NestedSerializerContextTests(TestCase): # This will raise RuntimeError if context doesn't get passed correctly to the nested Serializers AlbumCollectionSerializer(album_collection, context={'context_item': 'album context'}).data +