aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/pk_relations.py
diff options
context:
space:
mode:
authorTom Christie2012-12-08 12:29:35 +0000
committerTom Christie2012-12-08 12:29:35 +0000
commitf72be7b8faf4489c904bb6df97d51274872315bb (patch)
treeec61b2a8ee778840b0d476e103db29aef92494cd /rest_framework/tests/pk_relations.py
parentc1be29418b7cd8f2b44a7c3273cc79f024fa8c45 (diff)
downloaddjango-rest-framework-f72be7b8faf4489c904bb6df97d51274872315bb.tar.bz2
Add test for m2m create
Diffstat (limited to 'rest_framework/tests/pk_relations.py')
-rw-r--r--rest_framework/tests/pk_relations.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/rest_framework/tests/pk_relations.py b/rest_framework/tests/pk_relations.py
index 53245d94..3fb3a07b 100644
--- a/rest_framework/tests/pk_relations.py
+++ b/rest_framework/tests/pk_relations.py
@@ -130,6 +130,25 @@ class PKManyToManyTests(TestCase):
]
self.assertEquals(serializer.data, expected)
+ def test_many_to_many_create(self):
+ data = {'id': 4, 'name': u'source-4', 'targets': [1, 3]}
+ serializer = ManyToManySourceSerializer(data=data)
+ self.assertTrue(serializer.is_valid())
+ obj = serializer.save()
+ self.assertEquals(serializer.data, data)
+ self.assertEqual(obj.name, u'source-4')
+
+ # Ensure source 4 is added, and everything else is as expected
+ queryset = ManyToManySource.objects.all()
+ serializer = ManyToManySourceSerializer(queryset)
+ expected = [
+ {'id': 1, 'name': u'source-1', 'targets': [1]},
+ {'id': 2, 'name': u'source-2', 'targets': [1, 2]},
+ {'id': 3, 'name': u'source-3', 'targets': [1, 2, 3]},
+ {'id': 4, 'name': u'source-4', 'targets': [1, 3]},
+ ]
+ self.assertEquals(serializer.data, expected)
+
def test_reverse_many_to_many_create(self):
data = {'id': 4, 'name': u'target-4', 'sources': [1, 3]}
serializer = ManyToManyTargetSerializer(data=data)