diff --git a/src/vehicle.ts b/src/vehicle.ts index 3b4e806..e09b92d 100644 --- a/src/vehicle.ts +++ b/src/vehicle.ts @@ -13,6 +13,7 @@ const Models: Record = { Y: "Model Y", C: "Cybertruck", T: "Semi", + A: "Cybercab", }; export default class Vehicle { diff --git a/test/vehicle.test.ts b/test/vehicle.test.ts new file mode 100644 index 0000000..5ee3d03 --- /dev/null +++ b/test/vehicle.test.ts @@ -0,0 +1,21 @@ +import { describe, expect, it } from "vitest"; +import TeslaFleetApi from "../src/teslafleetapi.js"; +import Vehicle from "../src/vehicle.js"; + +describe("Vehicle.model", () => { + const api = new TeslaFleetApi({ accessToken: "test-token", region: "na" }); + const vehicle = new Vehicle(api); + + it.each([ + ["5YJSA1E14FF000001", "Model S"], + ["5YJ3E1EA1KF000001", "Model 3"], + ["5YJXCAE43LF123456", "Model X"], + ["5YJYGDEE1MF000001", "Model Y"], + ["7G2CEKED0RA000001", "Cybertruck"], + ["7G2TARED8RA000001", "Semi"], + ["7G2AARED8RA000001", "Cybercab"], + ["5YJZZZ0000ZZZZZZZ", "Unknown"], + ])("maps VIN %s to %s", (vin, expected) => { + expect(vehicle.model(vin)).toBe(expected); + }); +});