diff --git a/src/features/pdf-export/__tests__/integration.test.ts b/src/features/pdf-export/__tests__/integration.test.ts index f74a779..b36fe3d 100644 --- a/src/features/pdf-export/__tests__/integration.test.ts +++ b/src/features/pdf-export/__tests__/integration.test.ts @@ -9,6 +9,7 @@ import type { Pool } from 'pg' // Mock Playwright for renderer tests vi.mock('playwright', () => { const mockPage = { + setDefaultTimeout: vi.fn(), setContent: vi.fn().mockResolvedValue(undefined), pdf: vi.fn().mockResolvedValue(Buffer.from('pdf binary content')), close: vi.fn().mockResolvedValue(undefined), diff --git a/src/features/pdf-export/__tests__/renderer.test.ts b/src/features/pdf-export/__tests__/renderer.test.ts index 855b96d..025e9df 100644 --- a/src/features/pdf-export/__tests__/renderer.test.ts +++ b/src/features/pdf-export/__tests__/renderer.test.ts @@ -5,6 +5,7 @@ import type { PDFTemplateData } from '../types' // Mock Playwright vi.mock('playwright', () => { const mockPage = { + setDefaultTimeout: vi.fn(), setContent: vi.fn().mockResolvedValue(undefined), pdf: vi.fn().mockResolvedValue(Buffer.from('mock pdf content')), close: vi.fn().mockResolvedValue(undefined), @@ -85,11 +86,13 @@ describe('PDFRenderer', () => { const mockBrowser = await (chromium.launch as any)() const mockPage = await mockBrowser.newPage() + // Playwright's page.pdf() has no `timeout` option -- the timeout is set via + // page.setDefaultTimeout() before the call instead (see renderer.ts). expect(mockPage.pdf).toHaveBeenCalledWith({ format: 'A4', margin: { top: '0', right: '0', bottom: '0', left: '0' }, - timeout: 30000, }) + expect(mockPage.setDefaultTimeout).toHaveBeenCalledWith(30000) }) it('should respect custom timeout', async () => { @@ -102,11 +105,7 @@ describe('PDFRenderer', () => { const mockBrowser = await (chromium.launch as any)() const mockPage = await mockBrowser.newPage() - expect(mockPage.pdf).toHaveBeenCalledWith( - expect.objectContaining({ - timeout: customTimeout, - }) - ) + expect(mockPage.setDefaultTimeout).toHaveBeenCalledWith(customTimeout) }) it('should close page after rendering', async () => {