diff options
| author | Tom Christie | 2012-12-08 12:29:35 +0000 |
|---|---|---|
| committer | Tom Christie | 2012-12-08 12:29:35 +0000 |
| commit | f72be7b8faf4489c904bb6df97d51274872315bb (patch) | |
| tree | ec61b2a8ee778840b0d476e103db29aef92494cd /rest_framework/tests/pk_relations.py | |
| parent | c1be29418b7cd8f2b44a7c3273cc79f024fa8c45 (diff) | |
| download | django-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.py | 19 |
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) |
