From cab6772dabd4079b097d11fb01694428813e96c5 Mon Sep 17 00:00:00 2001 From: Siddharth Kumar Sah Date: Sun, 5 Apr 2026 23:04:09 +0800 Subject: [PATCH] test: add e2e test for pdf-to-image tool --- tests/e2e/pdf-to-image.spec.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests/e2e/pdf-to-image.spec.ts diff --git a/tests/e2e/pdf-to-image.spec.ts b/tests/e2e/pdf-to-image.spec.ts new file mode 100644 index 00000000..5999f30a --- /dev/null +++ b/tests/e2e/pdf-to-image.spec.ts @@ -0,0 +1,32 @@ +import path from "node:path"; +import { expect, test, waitForProcessing } from "./helpers"; + +const PDF_FIXTURE = path.join(process.cwd(), "tests", "fixtures", "test-3page.pdf"); + +test.describe("PDF to Image tool", () => { + test("converts a PDF page to an image", async ({ loggedInPage: page }) => { + await page.goto("/pdf-to-image"); + + // Upload PDF via file input + const fileInput = page.locator("input[type='file'][accept='application/pdf']"); + await fileInput.setInputFiles(PDF_FIXTURE); + + // Wait for page count to appear + await expect(page.getByText("3 pages")).toBeVisible({ timeout: 10_000 }); + + // Set pages to just page 1 for a single-image response + await page.fill("#pdf-pages", "1"); + + // Click convert + await page.getByTestId("pdf-to-image-submit").click(); + + // Wait for processing + await waitForProcessing(page); + + // Verify download link appears + await expect(page.getByTestId("pdf-to-image-download")).toBeVisible({ + timeout: 15_000, + }); + await expect(page.getByTestId("pdf-to-image-download")).toContainText("Download Image"); + }); +});