23 lines
1.2 KiB
TypeScript
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([]);
|
|
});
|
|
});
|