Files
psa_car_controller/tests/test_db.py
T

28 lines
1.1 KiB
Python

import unittest
from sqlite3.dbapi2 import IntegrityError
from psa_car_controller.psacc.model.battery_soh import BatterySoh
from psa_car_controller.psacc.repository.db import Database
from tests.utils import get_new_test_db, compare_dict, get_date, vehicule_list
class TestUnit(unittest.TestCase):
def test_record_soh(self):
get_new_test_db()
car = vehicule_list[0]
soh_list = [99.0, 96.0, 90.2]
for x in range(len(soh_list)):
Database.record_battery_soh(car.vin, get_date(x), soh_list[x])
compare_dict(vars(BatterySoh(car.vin,
[get_date(0), get_date(1), get_date(2)],
soh_list)),
vars(Database.get_soh_by_vin(car.vin))
)
self.assertEqual(soh_list[-1], Database.get_last_soh_by_vin(car.vin))
def test_record_same_soh(self):
get_new_test_db()
car = vehicule_list[0]
Database.record_battery_soh(car.vin, get_date(0), 99.0)
self.assertRaises(IntegrityError, Database.record_battery_soh, car.vin, get_date(0), 99.0)