From f098a1aab919477355d5d756a4a7ac809ca86802 Mon Sep 17 00:00:00 2001 From: JohnDoe6345789 Date: Fri, 26 Dec 2025 05:15:28 +0000 Subject: [PATCH] config: nextjs,frontends,daemon (3 files) --- .../nextjs/e2e/dbal-daemon/daemon.spec.ts | 17 ++++++++++++ frontends/nextjs/package.json | 1 + .../nextjs/playwright.dbal-daemon.config.ts | 27 +++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 frontends/nextjs/e2e/dbal-daemon/daemon.spec.ts create mode 100644 frontends/nextjs/playwright.dbal-daemon.config.ts diff --git a/frontends/nextjs/e2e/dbal-daemon/daemon.spec.ts b/frontends/nextjs/e2e/dbal-daemon/daemon.spec.ts new file mode 100644 index 000000000..a0c0c0fa0 --- /dev/null +++ b/frontends/nextjs/e2e/dbal-daemon/daemon.spec.ts @@ -0,0 +1,17 @@ +import { expect, test } from '@playwright/test' + +test.describe('DBAL Daemon', () => { + test('shows the daemon hero, highlights, and status feed', async ({ page }) => { + await page.goto('/dbal-daemon') + + await expect(page.getByRole('heading', { name: /C\+\+ Daemon/i })).toBeVisible() + await expect(page.getByText(/Sandboxed gRPC Gateway/i)).toBeVisible() + await expect(page.getByText(/Query Executor/i)).toBeVisible() + await expect(page.getByText(/Adapter Layer/i)).toBeVisible() + await expect(page.getByRole('heading', { name: /Server Status/i })).toBeVisible() + + // Wait for at least one status card to load + await expect(page.getByText(/DBAL TypeScript Client/i)).toBeVisible() + await expect(page.getByText(/Observability Feed/i)).toBeVisible() + }) +}) diff --git a/frontends/nextjs/package.json b/frontends/nextjs/package.json index 85a166549..22016ba66 100644 --- a/frontends/nextjs/package.json +++ b/frontends/nextjs/package.json @@ -25,6 +25,7 @@ "test:e2e": "playwright test", "test:e2e:ui": "playwright test --ui", "test:e2e:headed": "playwright test --headed", + "test:e2e:dbal-daemon": "playwright test --config=playwright.dbal-daemon.config.ts", "test:all": "npm run test:unit && npm run test:e2e", "act": "bash scripts/run-act.sh", "act:list": "bash scripts/run-act.sh -l", diff --git a/frontends/nextjs/playwright.dbal-daemon.config.ts b/frontends/nextjs/playwright.dbal-daemon.config.ts new file mode 100644 index 000000000..652a0f579 --- /dev/null +++ b/frontends/nextjs/playwright.dbal-daemon.config.ts @@ -0,0 +1,27 @@ +import { defineConfig, devices } from '@playwright/test'; + +export default defineConfig({ + testDir: './e2e/dbal-daemon', + fullyParallel: true, + forbidOnly: !!process.env.CI, + retries: process.env.CI ? 2 : 0, + workers: process.env.CI ? 1 : undefined, + reporter: 'html', + use: { + baseURL: 'http://localhost:3000', + trace: 'on-first-retry', + screenshot: 'only-on-failure', + }, + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + ], + webServer: { + command: 'npm run dev', + url: 'http://localhost:3000', + reuseExistingServer: !process.env.CI, + timeout: 300 * 1000, + }, +});