Files

23 lines
1.2 KiB
TypeScript

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([]);
});
});