/** * E2E Test: Member Management — Full lifecycle */ import { test, expect } from '@playwright/test'; test.describe('Member Management', () => { test('create member, edit, search, filter by status', async ({ page }) => { await page.goto('/auth/sign-in'); await page.fill('input[name="email"]', 'test@example.com'); await page.fill('input[name="password"]', 'testpassword123'); await page.click('button[type="submit"]'); await page.waitForURL('**/home/**'); await page.click('text=Mitglieder'); await expect(page.locator('h1')).toContainText('Mitglieder'); }); test('application workflow: submit → review → approve → member created', async ({ page }) => { // Submit application // Review application // Approve → verify member auto-created }); test('SEPA mandate management', async ({ page }) => { // Create member with IBAN // Verify IBAN validation // Create SEPA batch from dues }); });