aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_validators.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_validators.py')
-rw-r--r--tests/test_validators.py39
1 files changed, 38 insertions, 1 deletions
diff --git a/tests/test_validators.py b/tests/test_validators.py
index 5adb7678..6cc52c83 100644
--- a/tests/test_validators.py
+++ b/tests/test_validators.py
@@ -176,7 +176,7 @@ class TestUniquenessForDateValidation(TestCase):
UniqueForDateSerializer(validators=[<UniqueForDateValidator(queryset=UniqueForDateModel.objects.all(), field='slug', date_field='published')>]):
id = IntegerField(label='ID', read_only=True)
slug = CharField(max_length=100)
- published = DateField()
+ published = DateField(required=True)
""")
assert repr(serializer) == expected
@@ -215,3 +215,40 @@ class TestUniquenessForDateValidation(TestCase):
'slug': 'existing',
'published': datetime.date(2000, 1, 1)
}
+
+
+class HiddenFieldUniqueForDateModel(models.Model):
+ slug = models.CharField(max_length=100, unique_for_date='published')
+ published = models.DateTimeField(auto_now_add=True)
+
+
+class TestHiddenFieldUniquenessForDateValidation(TestCase):
+ def test_repr_date_field_not_included(self):
+ class TestSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = HiddenFieldUniqueForDateModel
+ fields = ('id', 'slug')
+
+ serializer = TestSerializer()
+ expected = dedent("""
+ TestSerializer(validators=[<UniqueForDateValidator(queryset=HiddenFieldUniqueForDateModel.objects.all(), field='slug', date_field='published')>]):
+ id = IntegerField(label='ID', read_only=True)
+ slug = CharField(max_length=100)
+ published = HiddenField(default=CreateOnlyDefault(<function now>))
+ """)
+ assert repr(serializer) == expected
+
+ def test_repr_date_field_included(self):
+ class TestSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = HiddenFieldUniqueForDateModel
+ fields = ('id', 'slug', 'published')
+
+ serializer = TestSerializer()
+ expected = dedent("""
+ TestSerializer(validators=[<UniqueForDateValidator(queryset=HiddenFieldUniqueForDateModel.objects.all(), field='slug', date_field='published')>]):
+ id = IntegerField(label='ID', read_only=True)
+ slug = CharField(max_length=100)
+ published = DateTimeField(default=CreateOnlyDefault(<function now>), read_only=True)
+ """)
+ assert repr(serializer) == expected