import { describe, expect, it } from "vitest"; import { comparisonDelta, comparisonReferenceNames } from "./comparison"; describe("weapon comparison context", () => { it("shows relative gains and losses, including decimals", () => { expect(comparisonDelta("109")).toBe("+9% จากค่าฐาน"); expect(comparisonDelta("98.5")).toBe("-1.5% จากค่าฐาน"); expect(comparisonDelta("100")).toBe("เท่าค่าฐาน"); }); it("does not present missing or placeholder numbers as damage losses", () => { for (const value of [null, "0", "invalid"]) expect(comparisonDelta(value)).toBeNull(); }); it("keeps team and personal reference rows separate", () => { const rows = [ { weapon: { name: "Team reference" }, refinement: "5", overallPercent: "100", personalPercent: "110" }, { weapon: { name: "Personal reference" }, refinement: "1", overallPercent: "105", personalPercent: "100" }, ]; expect(comparisonReferenceNames(rows, "overallPercent")).toEqual(["Team reference R5"]); expect(comparisonReferenceNames(rows, "personalPercent")).toEqual(["Personal reference R1"]); expect(comparisonReferenceNames(rows.slice(0, 1), "personalPercent")).toEqual([]); }); });