Files
buzz-sheet/components/public/comparison-context.test.tsx
T
gunshiz bec24ad00b
CI / Verify (push) Successful in 2m34s
CI / Build immutable images and deploy (push) Successful in 4m1s
feat : dd up up
2026-10-07 18:15:27 +07:00

28 lines
1.3 KiB
TypeScript

import { renderToStaticMarkup } from "react-dom/server";
import { describe, expect, it } from "vitest";
import { ComparisonContext } from "./comparison-context";
describe("public comparison explanations", () => {
it("keeps each damage metric's 100% rows separate", () => {
const rows = [
{ weapon: { name: "Team reference" }, refinement: "5", overallPercent: "100", personalPercent: "110" },
{ weapon: { name: "Personal reference" }, refinement: "1", overallPercent: "105", personalPercent: "100" },
];
const team = renderToStaticMarkup(<ComparisonContext rows={rows} metric="overallPercent" />);
const personal = renderToStaticMarkup(<ComparisonContext rows={rows} metric="personalPercent" />);
expect(team).toContain("Team reference R5");
expect(team).not.toContain("Personal reference");
expect(personal).toContain("Personal reference R1");
expect(personal).not.toContain("Team reference");
});
it("does not invent a reference when no row is 100%", () => {
const html = renderToStaticMarkup(<ComparisonContext rows={[
{ weapon: { name: "Only choice" }, refinement: "1", overallPercent: "109", personalPercent: null },
]} metric="overallPercent" />);
expect(html).toContain("ดูหมายเหตุ");
expect(html).not.toContain("Only choice");
});
});