Files
HiveGrid-Wireframes/hivegrid-cloud/apps/web/app/components/ui/tables/TableSimple.performance.test.ts
T

22 lines
982 B
TypeScript

// @vitest-environment node
import fs from "node:fs";
import path from "node:path";
import { describe, expect, it } from "vitest";
const sourcePath = path.resolve(process.cwd(), "apps/web/app/components/ui/tables/TableSimple.tsx");
describe("TableSimple render performance", () => {
it("precomputes repeated table collections outside the row render path", () => {
const source = fs.readFileSync(sourcePath, "utf8");
expect(source).toContain("const visibleHeaders = useMemo");
expect(source).toContain("const firstColumnActions = useMemo");
expect(source).toContain("const trailingActions = useMemo");
expect(source).toContain("const selectedRowsSet = useMemo");
expect(source).not.toContain("actions.filter((f) => f.firstColumn)");
expect(source).not.toContain("actions.filter((f) => !f.firstColumn)");
expect(source).not.toContain("headers.filter((f) => !f.hidden)");
expect(source).not.toContain("selectedRows?.includes(item)");
});
});