diff options
| author | Mark Hughes | 2014-12-03 12:30:15 +0000 | 
|---|---|---|
| committer | Mark Hughes | 2014-12-03 12:30:15 +0000 | 
| commit | 55528addf97c1d3ee24bb3332fb6dcb5496de158 (patch) | |
| tree | 581d0d926a3c0a84c21c592b9e473e6cc331f927 /tests/test_validators.py | |
| parent | c5a2d501e56201c437118aa65004b33d20216b55 (diff) | |
| download | django-rest-framework-55528addf97c1d3ee24bb3332fb6dcb5496de158.tar.bz2 | |
Added test to show potential issue with UniqueValidator being added to the underlying Django model.
Diffstat (limited to 'tests/test_validators.py')
| -rw-r--r-- | tests/test_validators.py | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/tests/test_validators.py b/tests/test_validators.py index 1df0641c..9226cc7a 100644 --- a/tests/test_validators.py +++ b/tests/test_validators.py @@ -20,6 +20,15 @@ class UniquenessSerializer(serializers.ModelSerializer):          model = UniquenessModel +class AnotherUniquenessModel(models.Model): +    code = models.IntegerField(unique=True) + + +class AnotherUniquenessSerializer(serializers.ModelSerializer): +    class Meta: +        model = AnotherUniquenessModel + +  class TestUniquenessValidation(TestCase):      def setUp(self):          self.instance = UniquenessModel.objects.create(username='existing') @@ -51,6 +60,17 @@ class TestUniquenessValidation(TestCase):          assert serializer.is_valid()          assert serializer.validated_data == {'username': 'existing'} +    def test_doesnt_pollute_model(self): +        instance = AnotherUniquenessModel.objects.create(code='100') +        serializer = AnotherUniquenessSerializer(instance) +        self.assertEqual( +            AnotherUniquenessModel._meta.get_field('code').validators, []) + +        # Accessing data shouldn't effect validators on the model +        serializer.data +        self.assertEqual( +            AnotherUniquenessModel._meta.get_field('code').validators, []) +  # Tests for `UniqueTogetherValidator`  # ----------------------------------- | 
