Files
kilo-cv/tests/e2e/admin.spec.js
2026-02-23 13:48:13 +01:00

39 lines
1.3 KiB
JavaScript

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();
});
});