diff options
| author | Mark Aaron Shirley | 2013-04-18 10:28:20 -0700 |
|---|---|---|
| committer | Mark Aaron Shirley | 2013-04-18 10:28:20 -0700 |
| commit | fdc5cc3d81679d30cd20acf063dc7dc74ad17d7a (patch) | |
| tree | fcc112e4a6c25495989cee5de84cb9658f604509 /rest_framework/tests/relations_nested.py | |
| parent | c7e000e46e831a254689faac44ea44ebafe3cd61 (diff) | |
| download | django-rest-framework-fdc5cc3d81679d30cd20acf063dc7dc74ad17d7a.tar.bz2 | |
Fix model serializer nestesd delete behavior
Diffstat (limited to 'rest_framework/tests/relations_nested.py')
| -rw-r--r-- | rest_framework/tests/relations_nested.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/rest_framework/tests/relations_nested.py b/rest_framework/tests/relations_nested.py index 20683d4a..22c98e7f 100644 --- a/rest_framework/tests/relations_nested.py +++ b/rest_framework/tests/relations_nested.py @@ -287,3 +287,22 @@ class ReverseNestedOneToManyTests(TestCase): ] self.assertEqual(serializer.data, expected) + + def test_one_to_many_delete(self): + data = {'id': 1, 'name': 'target-1', 'sources': [{'id': 1, 'name': 'source-1'}, + {'id': 3, 'name': 'source-3'}]} + instance = OneToManyTarget.objects.get(pk=1) + serializer = self.Serializer(instance, data=data) + self.assertTrue(serializer.is_valid()) + serializer.save() + + # Ensure source 2 is deleted, and everything else is as + # expected. + queryset = OneToManyTarget.objects.all() + serializer = self.Serializer(queryset) + expected = [ + {'id': 1, 'name': 'target-1', 'sources': [{'id': 1, 'name': 'source-1'}, + {'id': 3, 'name': 'source-3'}]} + + ] + self.assertEqual(serializer.data, expected) |
