fix: add render_date()
method for grids
and corresponding built-in for set_renderer()
This commit is contained in:
parent
52a6bbf0f0
commit
a405b19217
2 changed files with 54 additions and 6 deletions
|
@ -213,7 +213,7 @@ class TestGrid(WebTestCase):
|
|||
obj = MagicMock(foo=42.00)
|
||||
self.assertEqual(grid.renderers['foo'](obj, 'foo', 42.00), '42')
|
||||
|
||||
def test_set_default_renderer(self):
|
||||
def test_set_default_renderers(self):
|
||||
model = self.app.model
|
||||
|
||||
# no defaults for "plain" schema
|
||||
|
@ -249,6 +249,18 @@ class TestGrid(WebTestCase):
|
|||
self.assertIn('executing', grid.renderers)
|
||||
self.assertIs(grid.renderers['executing'], myrender)
|
||||
|
||||
# nb. as of writing we have no Date columns in default schema,
|
||||
# so must invent one to test that type
|
||||
class SomeFoolery(model.Base):
|
||||
__tablename__ = 'somefoolery'
|
||||
id = sa.Column(sa.Integer(), primary_key=True)
|
||||
created = sa.Column(sa.Date())
|
||||
|
||||
# renderer set for date mapped field
|
||||
grid = self.make_grid(model_class=SomeFoolery)
|
||||
self.assertIn('created', grid.renderers)
|
||||
self.assertIsNot(grid.renderers['created'], myrender)
|
||||
|
||||
def test_linked_columns(self):
|
||||
grid = self.make_grid(columns=['foo', 'bar'])
|
||||
self.assertEqual(grid.linked_columns, [])
|
||||
|
@ -1415,6 +1427,20 @@ class TestGrid(WebTestCase):
|
|||
# zero is *not* empty string (with this renderer)
|
||||
self.assertEqual(grid.render_quantity(obj, 'foo', 0), "0")
|
||||
|
||||
def test_render_date(self):
|
||||
grid = self.make_grid(columns=['foo', 'bar'])
|
||||
|
||||
# null
|
||||
obj = MagicMock(dt=None)
|
||||
result = grid.render_date(obj, 'dt', None)
|
||||
self.assertIsNone(result)
|
||||
|
||||
# typical
|
||||
dt = datetime.date(2025, 1, 13)
|
||||
obj = MagicMock(dt=dt)
|
||||
result = grid.render_date(obj, 'dt', str(dt))
|
||||
self.assertEqual(result, '2025-01-13')
|
||||
|
||||
def test_render_datetime(self):
|
||||
grid = self.make_grid(columns=['foo', 'bar'])
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue