3
0
Fork 0

fix: add render_percent() method for Grid

also shortcut for grid.set_renderer()
This commit is contained in:
Lance Edgar 2025-01-25 22:34:49 -06:00
parent a66312b667
commit 29d3183a88
2 changed files with 34 additions and 0 deletions

View file

@ -1409,6 +1409,24 @@ class TestGrid(WebTestCase):
value = decimal.Decimal('-42.42')
self.assertEqual(grid.render_currency(obj, 'foo', value), '($42.42)')
def test_render_percent(self):
grid = self.make_grid(columns=['foo', 'bar'])
obj = MagicMock()
# null
self.assertEqual(grid.render_percent(obj, 'foo', None), "")
# typical
self.assertEqual(grid.render_percent(obj, 'foo', 12.3419), '12.34 %')
# more decimal places
self.assertEqual(grid.render_percent(obj, 'foo', 12.3419, decimals=3), '12.342 %')
self.assertEqual(grid.render_percent(obj, 'foo', 12.3419, decimals=4), '12.3419 %')
# negative
self.assertEqual(grid.render_percent(obj, 'foo', -12.3419), '(12.34 %)')
self.assertEqual(grid.render_percent(obj, 'foo', -12.3419, decimals=3), '(12.342 %)')
def test_render_quantity(self):
grid = self.make_grid(columns=['foo', 'bar'])
obj = MagicMock()