34 lines
1005 B
TypeScript
34 lines
1005 B
TypeScript
/**
|
|
* 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: _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: _page,
|
|
}) => {
|
|
// Submit application
|
|
// Review application
|
|
// Approve → verify member auto-created
|
|
});
|
|
|
|
test('SEPA mandate management', async ({ page: _page }) => {
|
|
// Create member with IBAN
|
|
// Verify IBAN validation
|
|
// Create SEPA batch from dues
|
|
});
|
|
});
|