aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAider Ibragimov2015-02-18 21:00:12 +0300
committerAider Ibragimov2015-02-18 21:00:12 +0300
commit3d85473edf847ba64aa499b336ca21f6b3d3c6b8 (patch)
treeb88a1984c62b349619515fb682e8d147dd8c7fa3 /tests
parent7b639c0cd0676172cc8502e833f5b708f39f9a83 (diff)
downloaddjango-rest-framework-3d85473edf847ba64aa499b336ca21f6b3d3c6b8.tar.bz2
Fix UniqueTogetherValidator for NULL values
Diffstat (limited to 'tests')
-rw-r--r--tests/test_validators.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/tests/test_validators.py b/tests/test_validators.py
index 072cec36..185febf8 100644
--- a/tests/test_validators.py
+++ b/tests/test_validators.py
@@ -76,8 +76,8 @@ class TestUniquenessValidation(TestCase):
# -----------------------------------
class UniquenessTogetherModel(models.Model):
- race_name = models.CharField(max_length=100)
- position = models.IntegerField()
+ race_name = models.CharField(max_length=100, null=True)
+ position = models.IntegerField(null=True)
class Meta:
unique_together = ('race_name', 'position')
@@ -108,8 +108,8 @@ class TestUniquenessTogetherValidation(TestCase):
expected = dedent("""
UniquenessTogetherSerializer():
id = IntegerField(label='ID', read_only=True)
- race_name = CharField(max_length=100, required=True)
- position = IntegerField(required=True)
+ race_name = CharField(allow_null=True, max_length=100, required=True)
+ position = IntegerField(allow_null=True, required=True)
class Meta:
validators = [<UniqueTogetherValidator(queryset=UniquenessTogetherModel.objects.all(), fields=('race_name', 'position'))>]
""")
@@ -178,10 +178,20 @@ class TestUniquenessTogetherValidation(TestCase):
expected = dedent("""
ExcludedFieldSerializer():
id = IntegerField(label='ID', read_only=True)
- race_name = CharField(max_length=100)
+ race_name = CharField(allow_null=True, max_length=100, required=False)
""")
assert repr(serializer) == expected
+ def test_ignore_validation_for_null_fields(self):
+ UniquenessTogetherModel.objects.create(
+ race_name=None,
+ position=None
+ )
+ data = {'race_name': None, 'position': None}
+ serializer = UniquenessTogetherSerializer(data=data)
+
+ assert serializer.is_valid()
+
# Tests for `UniqueForDateValidator`
# ----------------------------------