fix: improve support for date, datetime fields in grids, forms
This commit is contained in:
parent
eda2326a97
commit
3cad7f1b13
8 changed files with 234 additions and 6 deletions
|
@ -162,6 +162,32 @@ class TestForm(TestCase):
|
|||
widget = form.make_widget('fdajvdafjjf')
|
||||
self.assertIsNone(widget)
|
||||
|
||||
def test_set_default_widgets(self):
|
||||
model = self.app.model
|
||||
|
||||
# no defaults for "plain" schema
|
||||
form = self.make_form(fields=['foo', 'bar'])
|
||||
self.assertEqual(form.widgets, {})
|
||||
|
||||
# no defaults for "plain" mapped class
|
||||
form = self.make_form(model_class=model.Setting)
|
||||
self.assertEqual(form.widgets, {})
|
||||
|
||||
class MyWidget(widgets.Widget):
|
||||
pass
|
||||
|
||||
# widget set for datetime mapped field
|
||||
form = self.make_form(model_class=model.Upgrade)
|
||||
self.assertIn('created', form.widgets)
|
||||
self.assertIsNot(form.widgets['created'], MyWidget)
|
||||
self.assertNotIsInstance(form.widgets['created'], MyWidget)
|
||||
|
||||
# widget *not* set for datetime, if override present
|
||||
form = self.make_form(model_class=model.Upgrade,
|
||||
widgets={'created': MyWidget()})
|
||||
self.assertIn('created', form.widgets)
|
||||
self.assertIsInstance(form.widgets['created'], MyWidget)
|
||||
|
||||
def test_set_grid(self):
|
||||
form = self.make_form(fields=['foo', 'bar'])
|
||||
self.assertNotIn('foo', form.widgets)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue