1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Refs #28009 -- Added empty_value tests for CharField subclasses.

This commit is contained in:
David Smith
2020-09-25 12:10:45 +02:00
committed by Mariusz Felisiak
parent 997f87c5b0
commit b8239cae19
6 changed files with 36 additions and 4 deletions

View File

@@ -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 = (