diff options
| author | Shawn Lewis | 2012-02-23 16:26:02 -0800 |
|---|---|---|
| committer | Shawn Lewis | 2012-02-23 16:28:01 -0800 |
| commit | 98c16e6da84a9938c73ed9e0ff8c6b42d24b098f (patch) | |
| tree | 74884f5671ad082f0121ae73ab999219d57329f7 | |
| parent | 718381523543d226c30f374dd234a535f2a7a5f7 (diff) | |
| download | django-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.py | 21 |
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 |
