23 lines
1.1 KiB
TypeScript
23 lines
1.1 KiB
TypeScript
import { AcInfinityMode, modeFromNumeric, resolveMode } from "../src/domain/ClimateSnapshot";
|
|
|
|
describe("ClimateSnapshot mode helpers", () => {
|
|
it("maps known numeric modes and falls back to unknown", () => {
|
|
expect(modeFromNumeric(1)).toBe(AcInfinityMode.Off);
|
|
expect(modeFromNumeric(2)).toBe(AcInfinityMode.On);
|
|
expect(modeFromNumeric(3)).toBe(AcInfinityMode.Auto);
|
|
expect(modeFromNumeric(4)).toBe(AcInfinityMode.TimerToOn);
|
|
expect(modeFromNumeric(5)).toBe(AcInfinityMode.TimerToOff);
|
|
expect(modeFromNumeric(6)).toBe(AcInfinityMode.Cycle);
|
|
expect(modeFromNumeric(7)).toBe(AcInfinityMode.Schedule);
|
|
expect(modeFromNumeric(8)).toBe(AcInfinityMode.Vpd);
|
|
expect(modeFromNumeric(0)).toBe(AcInfinityMode.Unknown);
|
|
expect(modeFromNumeric(undefined)).toBe(AcInfinityMode.Unknown);
|
|
expect(modeFromNumeric(null)).toBe(AcInfinityMode.Unknown);
|
|
});
|
|
|
|
it("prefers runtime mode unless runtime is unknown", () => {
|
|
expect(resolveMode(AcInfinityMode.On, AcInfinityMode.Auto)).toBe(AcInfinityMode.On);
|
|
expect(resolveMode(AcInfinityMode.Unknown, AcInfinityMode.Vpd)).toBe(AcInfinityMode.Vpd);
|
|
});
|
|
});
|