import { test as setup } from '@playwright/test'; import path from 'path'; import { fileURLToPath } from 'url'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const authFile = path.join(__dirname, '.auth/user.json'); /** * Logs in once and saves the session cookie so all E2E tests can reuse it. * Configure credentials via environment variables: * E2E_USERNAME (default: admin) * E2E_PASSWORD (default: admin123) */ setup('authenticate', async ({ page }) => { const username = process.env.E2E_USERNAME ?? 'admin@familyarchive.local'; const password = process.env.E2E_PASSWORD ?? 'admin123'; await page.goto('/login'); await page.getByLabel(/e-mail/i).fill(username); await page.getByLabel(/passwort/i).fill(password); await page.getByRole('button', { name: 'Anmelden' }).click(); await page.waitForURL('/'); await page.context().storageState({ path: authFile }); });