import { test, expect } from '@playwright/test'; test.describe('Admin Panel', () => { test.beforeEach(async ({ page }) => { await page.goto('/admin'); }); test('displays admin navigation', async ({ page }) => { await expect(page.getByRole('heading', { name: 'CV Admin' })).toBeVisible(); }); test('navigation links work', async ({ page }) => { await page.click('text=Erfahrung'); await expect(page).toHaveURL(/.*experience/); await page.click('text=Skills'); await expect(page).toHaveURL(/.*skills/); await page.click('text=Persönlich'); await expect(page).toHaveURL(/.*admin$/); }); test('personal form displays fields', async ({ page }) => { const form = page.locator('form'); await expect(form.locator('input[name="name"]')).toBeVisible(); await expect(form.locator('input[name="title"]')).toBeVisible(); await expect(form.locator('input[name="email"]')).toBeVisible(); }); test('can navigate to experience section', async ({ page }) => { await page.click('text=Erfahrung'); await expect(page.getByRole('heading', { name: 'Berufserfahrung' })).toBeVisible(); }); test('export button is present', async ({ page }) => { await expect(page.getByRole('button', { name: /json export/i })).toBeVisible(); }); });