diff options
| author | BrickXu | 2014-12-05 13:30:56 +0800 |
|---|---|---|
| committer | BrickXu | 2014-12-05 13:30:56 +0800 |
| commit | 4042180392fb7809d1c8d2f6ca0bc6e18c114e6c (patch) | |
| tree | 5fab017db281948eecf54d9dd8d5f0a8b323fa77 /tests/test_model_serializer.py | |
| parent | 81870b6e1a7b0c3c149d4bfba0e20924ebf1b187 (diff) | |
| parent | e8cbf41bd9066a21bf102bb60fbb42b4b15e05f6 (diff) | |
| download | django-rest-framework-4042180392fb7809d1c8d2f6ca0bc6e18c114e6c.tar.bz2 | |
Merge pull request #3 from tomchristie/master
Merge upstream
Diffstat (limited to 'tests/test_model_serializer.py')
| -rw-r--r-- | tests/test_model_serializer.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_model_serializer.py b/tests/test_model_serializer.py index 3aec0da0..1bcd58e0 100644 --- a/tests/test_model_serializer.py +++ b/tests/test_model_serializer.py @@ -26,6 +26,10 @@ class CustomField(models.Field): pass +class OneFieldModel(models.Model): + char_field = models.CharField(max_length=100) + + class RegularFieldsModel(models.Model): """ A model class for testing regular flat fields. @@ -68,6 +72,26 @@ class FieldOptionsModel(models.Model): choices_field = models.CharField(max_length=100, choices=COLOR_CHOICES) +class TestModelSerializer(TestCase): + def test_create_method(self): + class TestSerializer(serializers.ModelSerializer): + non_model_field = serializers.CharField() + + class Meta: + model = OneFieldModel + fields = ('char_field', 'non_model_field') + + serializer = TestSerializer(data={ + 'char_field': 'foo', + 'non_model_field': 'bar', + }) + serializer.is_valid() + with self.assertRaises(TypeError) as excinfo: + serializer.save() + msginitial = 'Got a `TypeError` when calling `OneFieldModel.objects.create()`.' + assert str(excinfo.exception).startswith(msginitial) + + class TestRegularFieldMappings(TestCase): def test_regular_fields(self): """ |
