Files
yaak/plugins-external/faker/tests/init.test.ts
Gregory Schier b4a1c418bb Run oxfmt across repo, add format script and docs
Add .oxfmtignore to skip generated bindings and wasm-pack output.
Add npm format script, update DEVELOPMENT.md for Vite+ toolchain,
and format all non-generated files with oxfmt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:15:49 -07:00

32 lines
1.2 KiB
TypeScript

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<typeof onRender>[0],
{ values: {} } as Parameters<typeof onRender>[1],
);
expect(result).toMatch(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/);
});
});