aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/nested_relations.py
diff options
context:
space:
mode:
authorTrey Hunner2012-11-14 15:15:35 -0800
committerMark Aaron Shirley2012-12-19 07:30:19 -0800
commitcbf342900515859f4322d273a7ef8988a119f507 (patch)
tree228f518300932fc956f333271f8f219584009bb8 /rest_framework/tests/nested_relations.py
parentf92c5b28ade6d01f0b52fe59bbc8cdbf44080e92 (diff)
downloaddjango-rest-framework-cbf342900515859f4322d273a7ef8988a119f507.tar.bz2
Add test for deleting a reverse fk relation
Diffstat (limited to 'rest_framework/tests/nested_relations.py')
-rw-r--r--rest_framework/tests/nested_relations.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/rest_framework/tests/nested_relations.py b/rest_framework/tests/nested_relations.py
index b5daea89..93d95622 100644
--- a/rest_framework/tests/nested_relations.py
+++ b/rest_framework/tests/nested_relations.py
@@ -82,3 +82,19 @@ class ReverseForeignKeyTests(TestCase):
expected[0]['sources'][0]['name'] = 'source-1-changed'
expected[0]['sources'][2]['name'] = 'source-3-changed'
self.assertEquals(serializer.data, expected)
+
+ def test_reverse_foreign_key_delete(self):
+ data = deepcopy(self.target_data)
+ del data['sources'][2]
+ instance = ForeignKeyTarget.objects.get(pk=1)
+ serializer = ForeignKeyTargetSerializer(instance, data=data)
+ self.assertTrue(serializer.is_valid())
+ self.assertEquals(serializer.data, data)
+ serializer.save()
+
+ # Ensure target 1 has 2 sources and everything else is as expected
+ queryset = ForeignKeyTarget.objects.all()
+ serializer = ForeignKeyTargetSerializer(queryset)
+ expected = deepcopy(self.data)
+ del expected[0]['sources'][2]
+ self.assertEquals(serializer.data, expected)