31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
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()
|