import { describe, expect, it } from "vite-plus/test"; describe("template-function-faker", () => { it("exports all expected template functions", async () => { const { plugin } = await import("../src/index"); const names = plugin.templateFunctions?.map((fn) => fn.name).sort() ?? []; // Snapshot the full list of exported function names so we catch any // accidental additions, removals, or renames across faker upgrades. expect(names).toMatchSnapshot(); }); it("renders date results as unquoted ISO strings", async () => { const { plugin } = await import("../src/index"); const fn = plugin.templateFunctions?.find((fn) => fn.name === "faker.date.future"); // oxlint-disable-next-line unbound-method const onRender = fn?.onRender; expect(onRender).toBeTypeOf("function"); if (onRender == null) { throw new Error("Expected template function 'faker.date.future' to define onRender"); } const result = await onRender( {} as Parameters[0], { values: {} } as Parameters[1], ); expect(result).toMatch(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/); }); });