aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Lewis2012-02-23 16:26:02 -0800
committerShawn Lewis2012-02-23 16:28:01 -0800
commit98c16e6da84a9938c73ed9e0ff8c6b42d24b098f (patch)
tree74884f5671ad082f0121ae73ab999219d57329f7
parent718381523543d226c30f374dd234a535f2a7a5f7 (diff)
downloaddjango-rest-framework-98c16e6da84a9938c73ed9e0ff8c6b42d24b098f.tar.bz2
Test for issue #178.
This failing test shows that the serializer implementation breaks when a related serializer is passed in via include rather than via fields.
-rw-r--r--djangorestframework/tests/serializer.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/djangorestframework/tests/serializer.py b/djangorestframework/tests/serializer.py
index e8580610..834a60d0 100644
--- a/djangorestframework/tests/serializer.py
+++ b/djangorestframework/tests/serializer.py
@@ -104,6 +104,27 @@ class TestFieldNesting(TestCase):
self.assertEqual(SerializerM2().serialize(self.m2), {'field': {'field1': u'foo'}})
self.assertEqual(SerializerM3().serialize(self.m3), {'field': {'field2': u'bar'}})
+ def test_serializer_no_fields(self):
+ """
+ Test related serializer works when the fields attr isn't present. Fix for
+ #178.
+ """
+ class NestedM2(Serializer):
+ fields = ('field1', )
+
+ class NestedM3(Serializer):
+ fields = ('field2', )
+
+ class SerializerM2(Serializer):
+ include = [('field', NestedM2)]
+ exclude = ('id', )
+
+ class SerializerM3(Serializer):
+ fields = [('field', NestedM3)]
+
+ self.assertEqual(SerializerM2().serialize(self.m2), {'field': {'field1': u'foo'}})
+ self.assertEqual(SerializerM3().serialize(self.m3), {'field': {'field2': u'bar'}})
+
def test_serializer_classname_nesting(self):
"""
Test related model serialization