aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukasz Balcerzak2013-12-20 17:16:24 +0100
committerLukasz Balcerzak2013-12-20 17:16:24 +0100
commit71aa5f3c455db9bea5163dca70bfe6f3b3c924be (patch)
tree0c9383f27c425de686d10b2b32a1d5020d93ae52
parent02ae1682b5585581e88bbd996f7cb7fd22b146f7 (diff)
downloaddjango-rest-framework-71aa5f3c455db9bea5163dca70bfe6f3b3c924be.tar.bz2
Added missing custom validation method test
-rw-r--r--rest_framework/tests/test_validation.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/rest_framework/tests/test_validation.py b/rest_framework/tests/test_validation.py
index ebfdff9c..371697f8 100644
--- a/rest_framework/tests/test_validation.py
+++ b/rest_framework/tests/test_validation.py
@@ -47,6 +47,12 @@ class ShouldValidateModel(models.Model):
class ShouldValidateModelSerializer(serializers.ModelSerializer):
renamed = serializers.CharField(source='should_validate_field', required=False)
+ def validate_renamed(self, attrs, source):
+ value = attrs[source]
+ if len(value) < 3:
+ raise serializers.ValidationError('Minimum 3 characters.')
+ return attrs
+
class Meta:
model = ShouldValidateModel
fields = ('renamed',)
@@ -63,6 +69,13 @@ class TestPreSaveValidationExclusions(TestCase):
self.assertEqual(serializer.is_valid(), False)
+class TestCustomValidationMethods(TestCase):
+ def test_custom_validation_method_is_executed(self):
+ serializer = ShouldValidateModelSerializer(data={'renamed': 'fo'})
+ self.assertFalse(serializer.is_valid())
+ self.assertIn('renamed', serializer.errors)
+
+
class ValidationSerializer(serializers.Serializer):
foo = serializers.CharField()