diff options
| author | Danilo Bargen | 2013-02-25 22:34:05 +0100 |
|---|---|---|
| committer | Danilo Bargen | 2013-02-25 22:34:05 +0100 |
| commit | 3e6f99e273b3ca4278c417f32f0db1b7bdfe408b (patch) | |
| tree | 05704c710637bb511cd71109aa43d3e235e285cf /rest_framework/tests/serializer.py | |
| parent | 8da83f0df9761550cbcac88850a659aab00a2506 (diff) | |
| download | django-rest-framework-3e6f99e273b3ca4278c417f32f0db1b7bdfe408b.tar.bz2 | |
Improved exception message for missing serializer model meta option
Diffstat (limited to 'rest_framework/tests/serializer.py')
| -rw-r--r-- | rest_framework/tests/serializer.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index 671494b5..af84c46b 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -91,6 +91,11 @@ class PositiveIntegerAsChoiceSerializer(serializers.ModelSerializer): fields = ['some_integer'] +class BrokenModelSerializer(serializers.ModelSerializer): + class Meta: + fields = ['some_field'] + + class BasicTests(TestCase): def setUp(self): self.comment = Comment( @@ -353,6 +358,18 @@ class ValidationTests(TestCase): self.assertIn('created', serializer.errors) + def test_missing_model_field_exception_msg(self): + """ + Assert that a meaningful exception message is outputted when the model + field is missing (e.g. when mistyping ``model``). + """ + try: + serializer = BrokenModelSerializer() + except AttributeError as e: + self.assertEquals(e.args[0], "Serializer class is missing 'model' Meta option") + except: + self.fail('Wrong exception type thrown.') + class CustomValidationTests(TestCase): class CommentSerializerWithFieldValidator(CommentSerializer): |
