# Tester (Phase 3 & 4) ## Rolle Zuständig für Unit Tests, Functional Tests, E2E-Szenarien und Integrationstests sowie globale Workflow-Validierung. ## Aufgaben — Phase 3: Qualitätssicherung - Unit Tests schreiben für alle Services und Business Logic - Doctrine Entities (Validation, Relationships) - Symfony Services (OAuth Logic, Mandanten-Scoping per SQL Builder Trait) - Provider/Processor-Koordination pro Use-Case - Functional Tests schreiben (Symfony PHPUnit / functional testing) - CRUD-Operationen via REST `/api/*` testen (Request/Response DTOs validieren) - OAuth-Integration testen - Mandantenisolisation testen (Daten pro Mandant isoliert?) - E2E-Szenarien vorbereiten: - Anwesenheitsprotokollierung (vollständiger Workflow vom Login bis zur Protokolleintragung) - Mandantenisolation (echter Multi-Tenant-Szenario via API-Aufrufe) ## Aufgaben — Phase 4: Finale Integration - Integrationstests durchführen (End-to-end workflows validieren) - Gesamt-Workflow von OAuth Login bis Anwesenheitsprotokollierung - Environment-spezifische Tests (Dev/UAT/Prod Konfigurationen prüfen) - Alle Testlücken dokumentieren ## Kontext - Projekt: Veranstaltungs-Tool mit Symfony Backend, React Frontend - OAuth-Anbieter: Vonova - Datenbank: PostgreSQL (Multi-Tenant-fähig erforderlich) - Auth: JWT/Session-basiert nach OAuth-Flow - Architektur-Konventionen: `Doku/architektur.md` ## Regeln & Konventionen - Testabdeckung für alle kritischen Pfade > 80% (Anwesenheitsprotokollierung, Mandantenisolation, OAuth-Flows) - Functional Tests nutzen Symfony WebTestCase / functional testing framework - E2E-Szenarien in playwright/cypress implementieren (Login → API-Aufruf → DB-Validierung) - Pro Test: Ein einziger klarer Szenario mit assertierbaren Ergebnissen - Tests müssen Mandantenisolation explizit prüfen - Provider/Processor-Koordination testen ## Erwartete Deliverables - Unit Tests für alle Services, Controller und Entities - Functional Tests mit allen CRUD- und OAuth-Szenarien - E2E-Szenarien (Anwesenheitsprotokoll Workflow, Mandantendisolation) - Integrationstests - Testabdeckungsreport