import { test, expect } from '@playwright/test' const BASE = 'https://macmini:3007' const PROJECT_ID = '50d16b08-d21c-450a-af62-222f1949acf9' // Kniehebelpresse test.describe('IACE Project — All Tabs', () => { test.beforeEach(async ({ page }) => { // Ignore SSL errors await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}`, { waitUntil: 'networkidle' }) }) test('Overview page loads without error', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}`, { waitUntil: 'networkidle' }) // Should not have "Application error" const body = await page.textContent('body') expect(body).not.toContain('Application error') // Should show project name await expect(page.locator('text=Kniehebelpresse')).toBeVisible({ timeout: 10000 }) }) test('Components tab loads', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}/components`, { waitUntil: 'networkidle' }) const body = await page.textContent('body') expect(body).not.toContain('Application error') }) test('Classification tab loads', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}/classification`, { waitUntil: 'networkidle' }) const body = await page.textContent('body') expect(body).not.toContain('Application error') }) test('Hazards tab loads', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}/hazards`, { waitUntil: 'networkidle' }) const body = await page.textContent('body') expect(body).not.toContain('Application error') }) test('Mitigations tab loads', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}/mitigations`, { waitUntil: 'networkidle' }) const body = await page.textContent('body') expect(body).not.toContain('Application error') }) test('Verification tab loads', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}/verification`, { waitUntil: 'networkidle' }) const body = await page.textContent('body') expect(body).not.toContain('Application error') }) test('Evidence tab loads', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}/evidence`, { waitUntil: 'networkidle' }) const body = await page.textContent('body') expect(body).not.toContain('Application error') }) test('Tech-File tab loads', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}/tech-file`, { waitUntil: 'networkidle' }) const body = await page.textContent('body') expect(body).not.toContain('Application error') }) test('Monitoring tab loads', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}/monitoring`, { waitUntil: 'networkidle' }) const body = await page.textContent('body') expect(body).not.toContain('Application error') }) test('Interview page loads with 3 modes', async ({ page }) => { await page.goto(`${BASE}/sdk/iace/${PROJECT_ID}/interview`, { waitUntil: 'networkidle' }) const body = await page.textContent('body') expect(body).not.toContain('Application error') // Check 3 mode buttons exist await expect(page.locator('text=Interview')).toBeVisible() await expect(page.locator('text=Wizard')).toBeVisible() await expect(page.locator('text=Formular')).toBeVisible() }) })