import { describe, expect, it, vi } from 'vitest'; import { createGenerationRouteRenderer } from '../../src/main/engine/GenerationRouteRendererFactory'; describe('GenerationRouteRendererFactory', () => { it('normalizes route keys and memoizes html rendering calls', async () => { const renderWithContext = vi.fn().mockResolvedValue('ok'); const renderRoute = createGenerationRouteRenderer({ renderWithContext, context: { projectContext: { projectId: 'p', dataDir: '/tmp', projectName: 'P', projectDescription: 'D', }, metadata: { name: 'P', description: 'D', }, menu: { items: [] }, maxPostsPerPage: 50, }, }); const a = await renderRoute('/foo/'); const b = await renderRoute('/foo'); expect(a).toBe('ok'); expect(b).toBe('ok'); expect(renderWithContext).toHaveBeenCalledTimes(1); expect(renderWithContext).toHaveBeenCalledWith('/foo', expect.any(Object)); }); });