Add Pico alarm view model

This commit is contained in:
2026-06-03 02:47:05 -06:00
parent 93c677a3e1
commit c3ebaf6beb
2 changed files with 119 additions and 0 deletions
+45
View File
@@ -583,3 +583,48 @@ def test_system_view_model():
assert vm["wifi_api"] == "Available"
assert vm["sensors"] == "3 / 4 OK"
assert vm["ignition"] == "Off"
def test_alarm_view_model_no_alarms():
from ui.alarm_view_model import AlarmViewModel
vm = AlarmViewModel([])
assert vm.count() == 0
assert vm.has_alarms() is False
assert vm.has_critical() is False
assert vm.should_buzz() is False
assert vm.primary_alarm() is None
assert vm.as_list() == []
def test_alarm_view_model_critical_alarm():
from ui.alarm_view_model import AlarmViewModel
vm = AlarmViewModel(["fridge_zone_1_high"])
assert vm.count() == 1
assert vm.has_alarms() is True
assert vm.has_critical() is True
assert vm.should_buzz() is True
primary = vm.primary_alarm()
assert primary["severity"] == "critical"
assert primary["title"] == "Fridge Zone 1 High Temp"
def test_alarm_view_model_sensor_failure():
from ui.alarm_view_model import AlarmViewModel
vm = AlarmViewModel(["sensor_failure:outside"])
assert vm.has_alarms() is True
assert vm.has_critical() is False
assert vm.should_buzz() is False
alarm = vm.primary_alarm()
assert alarm["severity"] == "warning"
assert alarm["title"] == "Sensor Failure"
assert alarm["detail"] == "Outside"