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/tests | |
| 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/tests')
| -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() |
