Add Pico alarm view model
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user