Files
officialpm_my-tesla/tests/test_scheduled_departure_status.py

31 lines
1.2 KiB
Python
Raw Normal View History

import unittest
from scripts.tesla import _scheduled_departure_status_json
class TestScheduledDepartureStatus(unittest.TestCase):
def test_scheduled_departure_status_json(self):
charge = {
'scheduled_departure_enabled': True,
'scheduled_departure_time': 7 * 60 + 30,
'preconditioning_enabled': False,
'off_peak_charging_enabled': True,
}
out = _scheduled_departure_status_json(charge)
self.assertEqual(out['scheduled_departure_enabled'], True)
self.assertEqual(out['scheduled_departure_time'], 450)
self.assertEqual(out['scheduled_departure_time_hhmm'], '07:30')
self.assertEqual(out['preconditioning_enabled'], False)
self.assertEqual(out['off_peak_charging_enabled'], True)
def test_scheduled_departure_status_json_missing(self):
out = _scheduled_departure_status_json({})
# Ensure keys exist with None values for stable JSON schemas.
self.assertIn('scheduled_departure_enabled', out)
self.assertIn('scheduled_departure_time', out)
self.assertIn('scheduled_departure_time_hhmm', out)
if __name__ == '__main__':
unittest.main()