diff --git a/packages/insomnia-smoke-test/fixtures/files/dummy.pdf b/packages/insomnia-smoke-test/fixtures/files/dummy.pdf index 774c2ea70c..8cd2c288db 100644 Binary files a/packages/insomnia-smoke-test/fixtures/files/dummy.pdf and b/packages/insomnia-smoke-test/fixtures/files/dummy.pdf differ diff --git a/packages/insomnia-smoke-test/tests/smoke/app.test.ts b/packages/insomnia-smoke-test/tests/smoke/app.test.ts index 9d0d444788..ea6d13b7d9 100644 --- a/packages/insomnia-smoke-test/tests/smoke/app.test.ts +++ b/packages/insomnia-smoke-test/tests/smoke/app.test.ts @@ -91,6 +91,25 @@ test('can send requests', async ({ page, insomnia }) => { .toBeVisible(); await page.getByTestId('request-pane').getByRole('button', { name: 'Send' }).click(); await expect.soft(statusTag).toContainText('200 OK'); + + const pdfIframe = page.getByTestId('ResponsePDFView'); + await expect.soft(pdfIframe).toBeVisible(); + await expect.soft(pdfIframe).toHaveAttribute('src', /^blob:/); + + // find Electron/Chromium's built-in PDF viewer extension + await expect + .poll(() => page.frames().some(f => f.url().startsWith('chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai')), { + timeout: 5000, + message: 'Expected Chromium built-in PDF viewer extension frame to mount inside the PDF preview iframe', + }) + .toBe(true); + + await expect.soft(pdfIframe).toHaveScreenshot('dummy-pdf-preview.png', { + animations: 'disabled', + maxDiffPixelRatio: 0.15, // 15% discrepancy allowed for CI/environment differences + timeout: 5000, + }); + await page.getByRole('tab', { name: 'Console' }).click(); await page.locator('pre').filter({ hasText: '< Content-Type: application/pdf' }).click(); diff --git a/packages/insomnia-smoke-test/tests/smoke/app.test.ts-snapshots/dummy-pdf-preview-Smoke-darwin.png b/packages/insomnia-smoke-test/tests/smoke/app.test.ts-snapshots/dummy-pdf-preview-Smoke-darwin.png new file mode 100644 index 0000000000..bc1f311ea0 Binary files /dev/null and b/packages/insomnia-smoke-test/tests/smoke/app.test.ts-snapshots/dummy-pdf-preview-Smoke-darwin.png differ diff --git a/packages/insomnia-smoke-test/tests/smoke/app.test.ts-snapshots/dummy-pdf-preview-Smoke-linux.png b/packages/insomnia-smoke-test/tests/smoke/app.test.ts-snapshots/dummy-pdf-preview-Smoke-linux.png new file mode 100644 index 0000000000..e0687de949 Binary files /dev/null and b/packages/insomnia-smoke-test/tests/smoke/app.test.ts-snapshots/dummy-pdf-preview-Smoke-linux.png differ diff --git a/packages/insomnia-smoke-test/tests/smoke/app.test.ts-snapshots/dummy-pdf-preview-Smoke-win32.png b/packages/insomnia-smoke-test/tests/smoke/app.test.ts-snapshots/dummy-pdf-preview-Smoke-win32.png new file mode 100644 index 0000000000..5183119cee Binary files /dev/null and b/packages/insomnia-smoke-test/tests/smoke/app.test.ts-snapshots/dummy-pdf-preview-Smoke-win32.png differ