Add account hierarchy framework with migrations, RLS policies, and UI components

This commit is contained in:
T. Zehetbauer
2026-03-31 22:18:04 +02:00
parent 7e7da0b465
commit 59546ad6d2
262 changed files with 11671 additions and 3927 deletions

View File

@@ -4,7 +4,9 @@
import { test, expect } from '@playwright/test';
test.describe('Course Management', () => {
test('create course, enroll participant, check capacity, waitlist', async ({ page }) => {
test('create course, enroll participant, check capacity, waitlist', async ({
page,
}) => {
// Create course with capacity 2
// Enroll participant 1 → status: enrolled
// Enroll participant 2 → status: enrolled

View File

@@ -15,7 +15,9 @@ test.describe('Member Management', () => {
await expect(page.locator('h1')).toContainText('Mitglieder');
});
test('application workflow: submit → review → approve → member created', async ({ page }) => {
test('application workflow: submit → review → approve → member created', async ({
page,
}) => {
// Submit application
// Review application
// Approve → verify member auto-created

View File

@@ -4,7 +4,9 @@
import { test, expect } from '@playwright/test';
test.describe('Module Builder', () => {
test('create module, add fields, insert record, query, update, soft-delete', async ({ page }) => {
test('create module, add fields, insert record, query, update, soft-delete', async ({
page,
}) => {
// Login
await page.goto('/auth/sign-in');
await page.fill('input[name="email"]', 'test@example.com');

View File

@@ -4,7 +4,9 @@
import { test, expect } from '@playwright/test';
test.describe('Newsletter', () => {
test('create campaign, select recipients from members, preview, send', async ({ page }) => {
test('create campaign, select recipients from members, preview, send', async ({
page,
}) => {
// Create newsletter
// Add recipients from member filter (status=active, hasEmail=true)
// Preview with variable substitution

View File

@@ -4,7 +4,9 @@
import { test, expect } from '@playwright/test';
test.describe('SEPA / Finance', () => {
test('create SEPA direct debit batch, add items, generate XML', async ({ page }) => {
test('create SEPA direct debit batch, add items, generate XML', async ({
page,
}) => {
// Create batch
// Add items with valid IBANs
// Generate XML