Files
yaak/plugins-external/faker/tests/init.test.ts
Gregory Schier 0b250ff5b5 Fix lint
2026-03-02 07:52:08 -08:00

31 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'vitest';
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');
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$/);
});
});