3
0
Fork 0

fix: improve built-in grid renderer logic

- add `render_batch_id()`
- allow kwargs for `render_currency()`
- caller may specify built-in renderer w/ string identifier
This commit is contained in:
Lance Edgar 2025-01-06 16:56:31 -06:00
parent 2de08ad50d
commit b3f1f8b6d9
2 changed files with 59 additions and 4 deletions

View file

@ -208,6 +208,11 @@ class TestGrid(WebTestCase):
self.assertIsNot(grid.renderers['foo'], render2)
self.assertEqual(grid.renderers['foo'](None, None, None), 42)
# can use built-in string shortcut
grid.set_renderer('foo', 'quantity')
obj = MagicMock(foo=42.00)
self.assertEqual(grid.renderers['foo'](obj, 'foo', 42.00), '42')
def test_set_default_renderer(self):
model = self.app.model
@ -1343,6 +1348,17 @@ class TestGrid(WebTestCase):
# rendering methods
##############################
def test_render_batch_id(self):
grid = self.make_grid(columns=['foo', 'bar'])
# null
obj = MagicMock(foo=None)
self.assertEqual(grid.render_batch_id(obj, 'foo', None), "")
# int
obj = MagicMock(foo=42)
self.assertEqual(grid.render_batch_id(obj, 'foo', 42), "00000042")
def test_render_boolean(self):
grid = self.make_grid(columns=['foo', 'bar'])