diff --git a/plugins-external/faker/src/index.ts b/plugins-external/faker/src/index.ts index 4299734d..77f86831 100755 --- a/plugins-external/faker/src/index.ts +++ b/plugins-external/faker/src/index.ts @@ -29,6 +29,7 @@ const modules = [ function normalizeResult(result: unknown): string { if (typeof result === 'string') return result; + if (result instanceof Date) return result.toISOString(); return JSON.stringify(result); } diff --git a/plugins-external/faker/tests/init.test.ts b/plugins-external/faker/tests/init.test.ts index e344e5ae..823188a9 100644 --- a/plugins-external/faker/tests/init.test.ts +++ b/plugins-external/faker/tests/init.test.ts @@ -9,4 +9,18 @@ describe('template-function-faker', () => { // 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'); + + expect(fn?.onRender).toBeTypeOf('function'); + + const result = await fn!.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$/); + }); });