aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/serializer.py
diff options
context:
space:
mode:
authorDanilo Bargen2013-02-25 22:34:05 +0100
committerDanilo Bargen2013-02-25 22:34:05 +0100
commit3e6f99e273b3ca4278c417f32f0db1b7bdfe408b (patch)
tree05704c710637bb511cd71109aa43d3e235e285cf /rest_framework/tests/serializer.py
parent8da83f0df9761550cbcac88850a659aab00a2506 (diff)
downloaddjango-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.py17
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):