mirror of
https://github.com/Hestia-Homes/assessment-model.git
synced 2026-07-22 08:48:34 +00:00
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { parsePreSap } from "./utils";
|
|
|
|
describe("parsePreSap", () => {
|
|
it("returns null for null", () => {
|
|
expect(parsePreSap(null)).toBeNull();
|
|
});
|
|
|
|
it("returns null for undefined", () => {
|
|
expect(parsePreSap(undefined)).toBeNull();
|
|
});
|
|
|
|
it("returns null for empty string", () => {
|
|
expect(parsePreSap("")).toBeNull();
|
|
});
|
|
|
|
it("parses new format with letter prefix", () => {
|
|
expect(parsePreSap("D55")).toEqual({ letter: "D", display: "D55" });
|
|
});
|
|
|
|
it("derives letter for legacy numeric-only format", () => {
|
|
expect(parsePreSap("56")).toEqual({ letter: "D", display: "D56" });
|
|
});
|
|
|
|
it("handles other EPC bands correctly", () => {
|
|
expect(parsePreSap("G10")).toEqual({ letter: "G", display: "G10" });
|
|
expect(parsePreSap("A95")).toEqual({ letter: "A", display: "A95" });
|
|
});
|
|
|
|
it("trims surrounding whitespace", () => {
|
|
expect(parsePreSap(" D55 ")).toEqual({ letter: "D", display: "D55" });
|
|
});
|
|
|
|
it("normalises letter to uppercase", () => {
|
|
expect(parsePreSap("d55")).toEqual({ letter: "D", display: "D55" });
|
|
});
|
|
});
|