import { test, expect } from '@playwright/test' /** * Smoke against local API (+ optional UI). Profile: compose microvps-full. * * Env: * - EVOBGP_E2E_API_URL (default http://127.0.0.1:8080) * - EVOBGP_E2E_BASE_URL (default http://127.0.0.1:5173) * - EVOBGP_E2E_TOKEN (default dev) */ const apiBase = process.env.EVOBGP_E2E_API_URL ?? 'http://127.0.0.1:8080' const uiBase = process.env.EVOBGP_E2E_BASE_URL ?? 'http://127.0.0.1:5173' const token = process.env.EVOBGP_E2E_TOKEN ?? 'dev' test.describe('EvoBGP smoke', () => { test('API health and modules list', async ({ request }) => { const health = await request.get(`${apiBase}/v1/health`) expect(health.ok()).toBeTruthy() const mods = await request.get(`${apiBase}/v1/modules?limit=10`, { headers: { Authorization: `Bearer ${token}` }, }) expect([200, 401]).toContain(mods.status()) }) test('UI loads when available', async ({ page }) => { test.skip(!process.env.EVOBGP_E2E_UI, 'set EVOBGP_E2E_UI=1 to enable UI smoke') await page.goto(uiBase) await page.waitForLoadState('domcontentloaded') await expect(page.locator('body')).toBeVisible() }) })