Show each printer on the fleet page as a status gauge.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Joshua King
2026-10-20 15:13:24 -04:00
co-authored by Cursor
parent 4626019a3e
commit 360e86e46a
6 changed files with 537 additions and 698 deletions
+10 -10
View File
@@ -152,19 +152,19 @@ class FleetTests(unittest.TestCase):
page = package['lvgl']['pages'][0]
self.assertEqual(page['id'], 'fleet_page')
self.assertFalse(page.get('skip'))
rows = [widget['obj'] for widget in page['widgets']
if 'obj' in widget and str(widget['obj'].get('id', '')).endswith('_overview_row')]
self.assertEqual([row['id'][:-len('_overview_row')] for row in rows],
arcs = [widget['arc'] for widget in page['widgets'] if 'arc' in widget]
self.assertEqual([arc['id'][:-len('_overview_arc')] for arc in arcs],
[printer['id'] for printer in self.printers])
previous = 46
for row, printer in zip(rows, self.printers):
self.assertEqual(row['on_click'], [{'lvgl.page.show': printer['id'] + '_page'}])
self.assertGreaterEqual(row['y'], previous)
self.assertLessEqual(row['y'] + row['height'], 440)
previous = row['y'] + row['height']
for arc, printer in zip(arcs, self.printers):
self.assertEqual(arc['on_click'], [{'lvgl.page.show': printer['id'] + '_page'}])
self.assertEqual(arc['width'], 154)
self.assertEqual(arc['start_angle'], 135)
self.assertLessEqual(arc['x'] + arc['width'], 800)
self.assertLessEqual(arc['y'] + arc['height'], 480)
code = next(script['then'][0]['lambda'] for script in package['script'] if script['id'] == 'fleet_refresh')
for printer in self.printers:
self.assertIn(f'id({printer["id"]}_overview_status)', code)
self.assertIn(f'id({printer["id"]}_overview_arc)', code)
self.assertIn(f'id({printer["id"]}_overview_detail)', code)
shown = [step['if']['condition']['lvgl.page.is_showing'] for step in package['interval'][0]['then']]
self.assertIn('fleet_page', shown)
charming = next(item for item in package['lvgl']['pages'] if item['id'] == 'prints_charming_page')