diff options
| author | Tom Christie | 2014-09-19 16:43:13 +0100 | 
|---|---|---|
| committer | Tom Christie | 2014-09-19 16:43:13 +0100 | 
| commit | cf72b9a8b755652cec4ad19a27488e3a79c2e401 (patch) | |
| tree | c9720850a9b670d62028c8451e1cbbd69b3fc6bb /tests/test_model_serializer.py | |
| parent | b361c54c5c198583e5085cf49ef44291ec09d2e8 (diff) | |
| download | django-rest-framework-cf72b9a8b755652cec4ad19a27488e3a79c2e401.tar.bz2 | |
Moar tests
Diffstat (limited to 'tests/test_model_serializer.py')
| -rw-r--r-- | tests/test_model_serializer.py | 33 | 
1 files changed, 33 insertions, 0 deletions
| diff --git a/tests/test_model_serializer.py b/tests/test_model_serializer.py index d518dd58..d9f9efbe 100644 --- a/tests/test_model_serializer.py +++ b/tests/test_model_serializer.py @@ -473,3 +473,36 @@ class TestIntegration(TestCase):              'through': []          }          self.assertEqual(serializer.data, expected) + + +# Tests for bulk create using `ListSerializer`. + +class BulkCreateModel(models.Model): +    name = models.CharField(max_length=10) + + +class TestBulkCreate(TestCase): +    def test_bulk_create(self): +        class BasicModelSerializer(serializers.ModelSerializer): +            class Meta: +                model = BulkCreateModel +                fields = ('name',) + +        class BulkCreateSerializer(serializers.ListSerializer): +            child = BasicModelSerializer() + +        data = [{'name': 'a'}, {'name': 'b'}, {'name': 'c'}] +        serializer = BulkCreateSerializer(data=data) +        assert serializer.is_valid() + +        # Objects are returned by save(). +        instances = serializer.save() +        assert len(instances) == 3 +        assert [item.name for item in instances] == ['a', 'b', 'c'] + +        # Objects have been created in the database. +        assert BulkCreateModel.objects.count() == 3 +        assert list(BulkCreateModel.objects.values_list('name', flat=True)) == ['a', 'b', 'c'] + +        # Serializer returns correct data. +        assert serializer.data == data | 
