diff options
| author | Tom Christie | 2013-12-20 08:37:30 -0800 | 
|---|---|---|
| committer | Tom Christie | 2013-12-20 08:37:30 -0800 | 
| commit | 46906b2bdc6d16409fc26f7764a9fe357385ba04 (patch) | |
| tree | 7f5c229b8734ae3bdb9a86990289a5f3a948d047 /rest_framework | |
| parent | c66b0f88359d747876d7c51289970ce4e2522b66 (diff) | |
| parent | 71aa5f3c455db9bea5163dca70bfe6f3b3c924be (diff) | |
| download | django-rest-framework-46906b2bdc6d16409fc26f7764a9fe357385ba04.tar.bz2 | |
Merge pull request #1308 from lukaszb/missing-custom-validation-method-test
Added missing custom validation method test
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/tests/test_validation.py | 13 | 
1 files changed, 13 insertions, 0 deletions
diff --git a/rest_framework/tests/test_validation.py b/rest_framework/tests/test_validation.py index ce7022cd..3fb6ba37 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 TestPreSaveValidationExclusionsSerializer(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()  | 
