diff options
author | David Smith <smithdc@gmail.com> | 2020-09-25 12:10:45 +0200 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-09-25 12:33:54 +0200 |
commit | b8239cae19128012db453a2e17c4dd2def421018 (patch) | |
tree | 34b6de880d19346afcfc97b893c37c894680b1bb /tests/model_forms | |
parent | 997f87c5b03f4dfdb70b9bd71c889bd6bb3e72cc (diff) | |
download | django-b8239cae19128012db453a2e17c4dd2def421018.tar.gz |
Refs #28009 -- Added empty_value tests for CharField subclasses.
Diffstat (limited to 'tests/model_forms')
-rw-r--r-- | tests/model_forms/models.py | 3 | ||||
-rw-r--r-- | tests/model_forms/tests.py | 19 |
2 files changed, 18 insertions, 4 deletions
diff --git a/tests/model_forms/models.py b/tests/model_forms/models.py index 103ed71b44..1a2102f898 100644 --- a/tests/model_forms/models.py +++ b/tests/model_forms/models.py @@ -472,3 +472,6 @@ class Award(models.Model): class NullableUniqueCharFieldModel(models.Model): codename = models.CharField(max_length=50, blank=True, null=True, unique=True) + email = models.EmailField(blank=True, null=True) + slug = models.SlugField(blank=True, null=True) + url = models.URLField(blank=True, null=True) diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py index b7885c231e..9e900e35f4 100644 --- a/tests/model_forms/tests.py +++ b/tests/model_forms/tests.py @@ -301,19 +301,30 @@ class ModelFormBaseTest(TestCase): self.assertEqual(obj.name, '') def test_save_blank_null_unique_charfield_saves_null(self): - form_class = modelform_factory(model=NullableUniqueCharFieldModel, fields=['codename']) + form_class = modelform_factory(model=NullableUniqueCharFieldModel, fields='__all__') empty_value = '' if connection.features.interprets_empty_strings_as_nulls else None - - form = form_class(data={'codename': ''}) + data = { + 'codename': '', + 'email': '', + 'slug': '', + 'url': '', + } + form = form_class(data=data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(form.instance.codename, empty_value) + self.assertEqual(form.instance.email, empty_value) + self.assertEqual(form.instance.slug, empty_value) + self.assertEqual(form.instance.url, empty_value) # Save a second form to verify there isn't a unique constraint violation. - form = form_class(data={'codename': ''}) + form = form_class(data=data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(form.instance.codename, empty_value) + self.assertEqual(form.instance.email, empty_value) + self.assertEqual(form.instance.slug, empty_value) + self.assertEqual(form.instance.url, empty_value) def test_missing_fields_attribute(self): message = ( |