diff --git a/tests/e2e/README.md b/tests/e2e/README.md index 35eb6276..0c5ac287 100644 --- a/tests/e2e/README.md +++ b/tests/e2e/README.md @@ -26,7 +26,7 @@ mvn -q -pl server -DskipTests package cd tests/e2e npm install npx playwright install --with-deps chromium -pip3 install -r tests/e2e/requirements.txt +pip3 install -r requirements.txt ``` 3. Generate fixtures and start fixture server: diff --git a/tests/e2e/scripts/generate-fixtures.mjs b/tests/e2e/scripts/generate-fixtures.mjs index c35db03f..6d4efe01 100644 --- a/tests/e2e/scripts/generate-fixtures.mjs +++ b/tests/e2e/scripts/generate-fixtures.mjs @@ -1,8 +1,10 @@ import fs from 'node:fs'; import path from 'node:path'; import { execFileSync } from 'node:child_process'; +import { fileURLToPath } from 'node:url'; -const fixturesDir = path.resolve(process.cwd(), 'tests/e2e/fixtures'); +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const fixturesDir = path.resolve(__dirname, '..', 'fixtures'); fs.mkdirSync(fixturesDir, { recursive: true }); const write = (name, content) => fs.writeFileSync(path.join(fixturesDir, name), content); diff --git a/tests/e2e/specs/preview-smoke.spec.ts b/tests/e2e/specs/preview-smoke.spec.ts index 8d307a94..42a7420a 100644 --- a/tests/e2e/specs/preview-smoke.spec.ts +++ b/tests/e2e/specs/preview-smoke.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test'; +import { test, expect, request as playwrightRequest } from '@playwright/test'; const fixtureBase = process.env.FIXTURE_BASE_URL || 'http://127.0.0.1:18080'; @@ -11,12 +11,14 @@ async function openPreview(request: any, fileUrl: string) { return request.get(`/onlinePreview?url=${encoded}`); } -test.beforeAll(async ({ request }) => { +test.beforeAll(async () => { + const api = await playwrightRequest.newContext(); const required = ['sample.txt', 'sample.docx', 'sample.xlsx', 'sample.pptx', 'sample.zip']; for (const name of required) { - const resp = await request.get(`${fixtureBase}/${name}`); + const resp = await api.get(`${fixtureBase}/${name}`); expect(resp.ok(), `fixture missing or unavailable: ${name}`).toBeTruthy(); } + await api.dispose(); }); test('01 home/index reachable', async ({ request }) => {