diff options
| author | Tom Christie | 2014-10-28 16:21:49 +0000 |
|---|---|---|
| committer | Tom Christie | 2014-10-28 16:21:49 +0000 |
| commit | 9ebaabd6eb31e18cf0bb1c70893f719f18ecb0f9 (patch) | |
| tree | b3718c7e155e3d3c97666ce2cfd832e0a8381de0 /tests/test_validators.py | |
| parent | 702f47700de2c10f26f06b23099740c408ffe797 (diff) | |
| download | django-rest-framework-9ebaabd6eb31e18cf0bb1c70893f719f18ecb0f9.tar.bz2 | |
unique_for_date/unique_for_month/unique_for_year
Diffstat (limited to 'tests/test_validators.py')
| -rw-r--r-- | tests/test_validators.py | 39 |
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 |
