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$/); }); });