import unittest from unittest.mock import patch from modules import app_obd class CarConnectedFlagTest(unittest.TestCase): def setUp(self): app_obd._car_ever_connected = False def tearDown(self): app_obd._car_ever_connected = False def test_was_ever_connected_reads_persisted_flag(self): with patch("modules.app_sql.get_setting", return_value="1"): self.assertTrue(app_obd.was_car_ever_connected()) self.assertTrue(app_obd._car_ever_connected) def test_was_ever_connected_defaults_false(self): with patch("modules.app_sql.get_setting", return_value="0"): self.assertFalse(app_obd.was_car_ever_connected()) def test_persist_car_connected_writes_setting(self): with patch("modules.app_sql.set_setting") as mock_set: app_obd._persist_car_connected() mock_set.assert_called_once_with("car_ever_connected", "1") if __name__ == "__main__": unittest.main()