summaryrefslogtreecommitdiff
path: root/tests/model_forms
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_forms')
-rw-r--r--tests/model_forms/models.py2
-rw-r--r--tests/model_forms/tests.py52
2 files changed, 54 insertions, 0 deletions
diff --git a/tests/model_forms/models.py b/tests/model_forms/models.py
index 1b64477a20..f873cfea97 100644
--- a/tests/model_forms/models.py
+++ b/tests/model_forms/models.py
@@ -120,9 +120,11 @@ class PublicationDefaults(models.Model):
CATEGORY_CHOICES = ((1, 'Games'), (2, 'Comics'), (3, 'Novel'))
title = models.CharField(max_length=30)
date_published = models.DateField(default=datetime.date.today)
+ datetime_published = models.DateTimeField(default=datetime.datetime(2000, 1, 1))
mode = models.CharField(max_length=2, choices=MODE_CHOICES, default=default_mode)
category = models.IntegerField(choices=CATEGORY_CHOICES, default=default_category)
active = models.BooleanField(default=True)
+ file = models.FileField(default='default.txt')
class Author(models.Model):
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py
index 3a73cc8d55..de7c36271f 100644
--- a/tests/model_forms/tests.py
+++ b/tests/model_forms/tests.py
@@ -617,6 +617,58 @@ class ModelFormBaseTest(TestCase):
m1 = mf1.save(commit=False)
self.assertEqual(m1.mode, mode)
+ def test_default_splitdatetime_field(self):
+ class PubForm(forms.ModelForm):
+ datetime_published = forms.SplitDateTimeField(required=False)
+
+ class Meta:
+ model = PublicationDefaults
+ fields = ('datetime_published',)
+
+ mf1 = PubForm({})
+ self.assertEqual(mf1.errors, {})
+ m1 = mf1.save(commit=False)
+ self.assertEqual(m1.datetime_published, datetime.datetime(2000, 1, 1))
+
+ mf2 = PubForm({'datetime_published_0': '2010-01-01', 'datetime_published_1': '0:00:00'})
+ self.assertEqual(mf2.errors, {})
+ m2 = mf2.save(commit=False)
+ self.assertEqual(m2.datetime_published, datetime.datetime(2010, 1, 1))
+
+ def test_default_filefield(self):
+ class PubForm(forms.ModelForm):
+ class Meta:
+ model = PublicationDefaults
+ fields = ('file',)
+
+ mf1 = PubForm({})
+ self.assertEqual(mf1.errors, {})
+ m1 = mf1.save(commit=False)
+ self.assertEqual(m1.file.name, 'default.txt')
+
+ mf2 = PubForm({}, {'file': SimpleUploadedFile('name', b'foo')})
+ self.assertEqual(mf2.errors, {})
+ m2 = mf2.save(commit=False)
+ self.assertEqual(m2.file.name, 'name')
+
+ def test_selectdatewidget(self):
+ class PubForm(forms.ModelForm):
+ date_published = forms.DateField(required=False, widget=forms.SelectDateWidget)
+
+ class Meta:
+ model = PublicationDefaults
+ fields = ('date_published',)
+
+ mf1 = PubForm({})
+ self.assertEqual(mf1.errors, {})
+ m1 = mf1.save(commit=False)
+ self.assertEqual(m1.date_published, datetime.date.today())
+
+ mf2 = PubForm({'date_published_year': '2010', 'date_published_month': '1', 'date_published_day': '1'})
+ self.assertEqual(mf2.errors, {})
+ m2 = mf2.save(commit=False)
+ self.assertEqual(m2.date_published, datetime.date(2010, 1, 1))
+
class FieldOverridesByFormMetaForm(forms.ModelForm):
class Meta: