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` # ----------------------------------- |
