3
0
Fork 0

fix: accept dict instead of true enum, for Grid.set_enum()

This commit is contained in:
Lance Edgar 2026-01-02 19:17:45 -06:00
parent 3f502fdc73
commit a17d7da74c
2 changed files with 44 additions and 9 deletions

View file

@ -1602,15 +1602,30 @@ class TestGrid(WebTestCase):
grid = self.make_grid(columns=["foo", "bar"])
obj = {"status": None}
# null
# true enum, null
value = grid.render_enum(obj, "status", None, enum=enum.UpgradeStatus)
self.assertIsNone(value)
# normal
# true enum, normal value
obj["status"] = enum.UpgradeStatus.SUCCESS
value = grid.render_enum(obj, "status", "SUCCESS", enum=enum.UpgradeStatus)
self.assertEqual(value, "success")
# dict enum
statuses = {
enum.UpgradeStatus.SUCCESS.name: "success",
enum.UpgradeStatus.FAILURE.name: "failure",
}
# dict enum, null
value = grid.render_enum(obj, "status", None, enum=statuses)
self.assertIsNone(value)
# true enum, normal value
obj["status"] = enum.UpgradeStatus.SUCCESS.value
value = grid.render_enum(obj, "status", "SUCCESS", enum=statuses)
self.assertEqual(value, "success")
def test_render_percent(self):
grid = self.make_grid(columns=["foo", "bar"])
obj = MagicMock()