aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/test_relations_nested.py
diff options
context:
space:
mode:
authorYuri Prezument2013-08-12 21:02:59 +0300
committerYuri Prezument2013-08-12 21:06:37 +0300
commit901d2b0eb8270befa051510e190f3d5679086c7f (patch)
treec0b7203f63dea735004a79b193a3795a950d8f1b /rest_framework/tests/test_relations_nested.py
parentabe655e061871a568cccf473414e350f3eb61d8b (diff)
downloaddjango-rest-framework-901d2b0eb8270befa051510e190f3d5679086c7f.tar.bz2
Failing test case for nullifying nested object
Diffstat (limited to 'rest_framework/tests/test_relations_nested.py')
-rw-r--r--rest_framework/tests/test_relations_nested.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/rest_framework/tests/test_relations_nested.py b/rest_framework/tests/test_relations_nested.py
index 30229687..d393b0c3 100644
--- a/rest_framework/tests/test_relations_nested.py
+++ b/rest_framework/tests/test_relations_nested.py
@@ -180,6 +180,25 @@ class ForwardNestedOneToOneTests(TestCase):
]
self.assertEqual(serializer.data, expected)
+ def test_one_to_one_update_to_null(self):
+ data = {'id': 3, 'name': 'source-3-updated', 'target': None}
+ instance = OneToOneSource.objects.get(pk=3)
+ serializer = self.Serializer(instance, data=data)
+ self.assertTrue(serializer.is_valid())
+ obj = serializer.save()
+
+ self.assertEqual(serializer.data, data)
+ self.assertEqual(obj.name, 'source-3-updated')
+ self.assertEqual(obj.target, None)
+
+ queryset = OneToOneSource.objects.all()
+ serializer = self.Serializer(queryset, many=True)
+ expected = [
+ {'id': 1, 'name': 'source-1', 'target': {'id': 1, 'name': 'target-1'}},
+ {'id': 2, 'name': 'source-2', 'target': {'id': 2, 'name': 'target-2'}},
+ {'id': 3, 'name': 'source-3-updated', 'target': None}
+ ]
+ self.assertEqual(serializer.data, expected)
# TODO: Nullable 1-1 tests
# def test_one_to_one_delete(self):