Fix slow OBD value load on dashboard (BUG-19)
This commit is contained in:
@@ -72,5 +72,59 @@ class ClearDtcCodesTest(unittest.TestCase):
|
||||
mock_mark.assert_called_once()
|
||||
|
||||
|
||||
class EmitCurrentStateTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self._saved = {
|
||||
name: getattr(app_obd, name)
|
||||
for name in (
|
||||
"speed", "rpm", "coolant_temp", "fuel_level",
|
||||
"throttle_position", "mil_on", "dtc_codes",
|
||||
)
|
||||
}
|
||||
|
||||
def tearDown(self):
|
||||
for name, value in self._saved.items():
|
||||
setattr(app_obd, name, value)
|
||||
|
||||
def _emitted(self, mock_emit):
|
||||
return {call.args[0]: call.args[1] for call in mock_emit.call_args_list}
|
||||
|
||||
def test_connected_emits_current_values(self):
|
||||
app_obd.speed = 42.5
|
||||
app_obd.rpm = 1200
|
||||
app_obd.coolant_temp = 88.0
|
||||
app_obd.fuel_level = 60.0
|
||||
app_obd.throttle_position = 12.0
|
||||
app_obd.mil_on = False
|
||||
app_obd.dtc_codes = []
|
||||
with patch.object(app_obd, "_is_car_connected", return_value=True), \
|
||||
patch("modules.app_events.socketio.emit") as mock_emit:
|
||||
app_obd.emit_current_state()
|
||||
emitted = self._emitted(mock_emit)
|
||||
self.assertEqual(emitted["obd_status"], "Connected")
|
||||
self.assertEqual(emitted["obd_rpm"], 1200)
|
||||
self.assertEqual(emitted["obd_coolant_temp"], 88.0)
|
||||
self.assertEqual(emitted["obd_fuel_level"], 60.0)
|
||||
self.assertEqual(emitted["obd_throttle"], 12.0)
|
||||
# speed is emitted as [time, speed]
|
||||
self.assertEqual(emitted["obd_speed"][1], 42.5)
|
||||
|
||||
def test_disconnected_emits_dashes(self):
|
||||
app_obd.rpm = None
|
||||
app_obd.coolant_temp = None
|
||||
app_obd.fuel_level = None
|
||||
app_obd.throttle_position = None
|
||||
with patch.object(app_obd, "_is_car_connected", return_value=False), \
|
||||
patch("modules.app_events.socketio.emit") as mock_emit:
|
||||
app_obd.emit_current_state()
|
||||
emitted = self._emitted(mock_emit)
|
||||
self.assertEqual(emitted["obd_status"], "Disconnected")
|
||||
self.assertEqual(emitted["obd_speed"], "-")
|
||||
self.assertEqual(emitted["obd_rpm"], "-")
|
||||
self.assertEqual(emitted["obd_coolant_temp"], "-")
|
||||
self.assertEqual(emitted["obd_fuel_level"], "-")
|
||||
self.assertEqual(emitted["obd_throttle"], "-")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user