From 36dbe941135e4f992bbe0a4f56fe7c29172b9e8f Mon Sep 17 00:00:00 2001 From: Kuba Orlik Date: Tue, 5 Aug 2025 16:21:18 +0200 Subject: [PATCH] More data in backend fixture --- tests/admin.test.ts | 8 ++++---- tests/backend-fixture.ts | 26 ++++++++++++++------------ tests/simple-crud.test.ts | 4 ++-- tests/tekst.test.ts | 4 ++-- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/tests/admin.test.ts b/tests/admin.test.ts index 7c5258f..1a46700 100644 --- a/tests/admin.test.ts +++ b/tests/admin.test.ts @@ -1,7 +1,7 @@ import { test, expect } from "./backend-fixture.js"; -test.beforeEach(async ({ page, backendUrl }) => { - await page.goto(backendUrl); +test.beforeEach(async ({ page, backend }) => { + await page.goto(backend.url); await page.getByRole("link", { name: "Go to Admin" }).click(); await page.getByPlaceholder("text").click(); await page.getByPlaceholder("text").fill("admin"); @@ -21,7 +21,7 @@ test("Basic flow of adding a navbar link", async ({ page }) => { await expect(page).toHaveScreenshot(); }); -test("Basic flow of creating a page", async ({ page, backendUrl }) => { +test("Basic flow of creating a page", async ({ page, backend }) => { await page.getByRole("link", { name: "Edit Pages" }).click(); await page.getByRole("link", { name: "Create" }).click(); await page.getByLabel("url").click(); @@ -30,6 +30,6 @@ test("Basic flow of creating a page", async ({ page, backendUrl }) => { await page.getByLabel("heading").fill("My Heading"); await page.getByLabel("description").fill("My Description"); await page.getByRole("button", { name: "Wyƛlij" }).click(); - await page.goto(`${backendUrl}/my-page/`); + await page.goto(`${backend.url}/my-page/`); await expect(page).toHaveScreenshot(); }); diff --git a/tests/backend-fixture.ts b/tests/backend-fixture.ts index 65f20e0..6cf6723 100644 --- a/tests/backend-fixture.ts +++ b/tests/backend-fixture.ts @@ -10,7 +10,7 @@ import { MongoClient } from "mongodb"; import { MONGO_PORT, MONGO_HOST } from "../src/back/config.js"; type TestFixtures = { - backendUrl: string; + backend: { url: string; env: Record }; setMarkdownValue: (field_name: string, value: string) => Promise; }; @@ -81,7 +81,7 @@ async function dropMongoDB(mongo_db_name: string) { } export const test = base.extend({ - backendUrl: async ({}, use, { file, titlePath }) => { + backend: async ({}, use, { file, titlePath }) => { const port = await getPort(); const mongo_db_name = `test-app-${uuid()}`; const killswitch_port = await getPort(); @@ -93,6 +93,16 @@ export const test = base.extend({ await fs.mkdir(coverage_temp_dir, { recursive: true, }); + const env = { + ...process.env, + SEALIOUS_PORT: `${port}`, + SEALIOUS_MONGO_DB_NAME: mongo_db_name, + ...(process.env.TESTS_RUN_IN_DOCKER + ? { MEILISEARCH_HOST: `http://meilisearch:7700` } + : {}), + SEALIOUS_KILLSWITCH_PORT: `${killswitch_port}`, + }; + const backendProcess = spawn( c8, [ @@ -107,15 +117,7 @@ export const test = base.extend({ "dist/back/index.js", ], { - env: { - ...process.env, - SEALIOUS_PORT: `${port}`, - SEALIOUS_MONGO_DB_NAME: mongo_db_name, - ...(process.env.TESTS_RUN_IN_DOCKER - ? { MEILISEARCH_HOST: `http://meilisearch:7700` } - : {}), - SEALIOUS_KILLSWITCH_PORT: `${killswitch_port}`, - }, + env, stdio: "inherit", } ); @@ -141,7 +143,7 @@ export const test = base.extend({ }); await waitForHttpPort({ port, timeout: 10000 }); - await use(`http://${app_host}:${port}`); + await use({ url: `http://${app_host}:${port}`, env }); triggerKillswitch(killswitch_port); await onEndPromise; }, diff --git a/tests/simple-crud.test.ts b/tests/simple-crud.test.ts index ba1fda2..3193f01 100644 --- a/tests/simple-crud.test.ts +++ b/tests/simple-crud.test.ts @@ -1,7 +1,7 @@ import { test, expect } from "./backend-fixture"; -test("test", async ({ page, backendUrl }) => { - await page.goto(`${backendUrl}/dev/simple-crud-test/`); +test("test", async ({ page, backend }) => { + await page.goto(`${backend.url}/dev/simple-crud-test/`); await expect(page).toHaveScreenshot(); await page.getByRole("link", { name: "Create" }).click(); await expect(page).toHaveScreenshot(); diff --git a/tests/tekst.test.ts b/tests/tekst.test.ts index a83f490..ea0d931 100644 --- a/tests/tekst.test.ts +++ b/tests/tekst.test.ts @@ -1,8 +1,8 @@ import { test, expect } from "./backend-fixture.js"; import { setTimeout as sleep } from "node:timers/promises"; -test("Tekst component", async ({ page, backendUrl, setMarkdownValue }) => { - await page.goto(`${backendUrl}/components`); +test("Tekst component", async ({ page, backend, setMarkdownValue }) => { + await page.goto(`${backend.url}/components`); await page.waitForFunction(() => typeof (window as any).CodeMirror !== "undefined"); await sleep(5000); await page.locator('select[name="component"]').selectOption("tekst");