Testfaelle
15 Testfaelle nach ISO/IEC/IEEE 29119. Gruppiert nach Typ: unit (isolierte Fachlogik), integration (Ports plus Adapter plus externe Mocks), e2e (End-to-End Browser oder cURL), akzeptanz (fachliche Abnahme). Automatisierte Tests sind gekennzeichnet.
UNIT (2)
T-RACI-01 RACI-Bewertung atomar gleich 100% [auto]
- Vorbereitung
- Migration 011 gelaufen.
- Schritte
- 1. AVG(bewertung_atomar) berechnen.
- Erwartetes Ergebnis
- Wert >= 0.95.
T-UC10-02 Magic-Code Login mit unbekannter E-Mail [AK AC02-UC10]
- Vorbereitung
- Keine Mensch-Zeile fuer die angefragte E-Mail existiert.
- Schritte
- 1. E-Mail eingeben, Code anfragen.
- Erwartetes Ergebnis
- Generische Erfolgsmeldung, keine Eintrag in magic_code_login, kein Code-Mail versendet.
INTEGRATION (8)
T-UC02-01 Abo-Start nach Angebot-Annahme [AK AC01-UC02]
- Vorbereitung
- Ein Angebot mit Token abc123 und status=offen existiert, Signature ist gueltig.
- Schritte
- 1. GET /annahme?token=abc123. 2. Service ruft PayPal-Subscription.create auf (Mock).
- Erwartetes Ergebnis
- Status abgeschlossen in Angebots-Lauf, neuer abo_management-Eintrag mit PayPal-Subscription-ID, Buchung angelegt, Willkommens-Mail versendet.
T-UC03-02 Ebook-Kauf Fehlerpfad: PayPal verweigert [AK AC02-UC03]
- Vorbereitung
- Ebook aktiv, PayPal-Mock antwortet mit DENIED auf capture.
- Schritte
- 1. Klick Kaufen, Adressen, PayPal-Kurzflow mit DENIED. 2. Webhook ignoriert (kein completed).
- Erwartetes Ergebnis
- Kein Profil aktiviert, keine Rechnung, Retry-Info-Mail an Kaeufer.
T-UC04-01 Monatsabo-Zahlung Webhook COMPLETED [AK AC01-UC04]
- Vorbereitung
- Aktives Abo und PayPal-Signature-Secret konfiguriert.
- Schritte
- 1. POST /webhook/paypal mit gueltig signiertem PAYMENT.SALE.COMPLETED Event. 2. Idempotenz via event.id.
- Erwartetes Ergebnis
- abonnement_zahlungen neuer Eintrag bezahlt=true, Lexoffice-Rechnung erstellt, Monatsrechnungs-Mail versendet.
T-UC04-02 Monatsabo-Zahlung Webhook DENIED [AK AC02-UC04]
- Vorbereitung
- Aktives Abo mit vergangener Faelligkeit.
- Schritte
- 1. POST /webhook/paypal mit DENIED-Event. 2. Mahnwesen-Trigger.
- Erwartetes Ergebnis
- Neuer mahnwesen-Eintrag Stufe 1, Mahnstufe-1-Mail im Out-Box.
T-UC05-01 Mahnstufe-3 Eskalation zu Abo-Pause [AK AC01-UC05]
- Vorbereitung
- Zwei Mahnungen vergangen, Rechnung weiterhin unbezahlt, 7 weitere Tage ohne Zahlung.
- Schritte
- 1. Mahnwesen-Zyklus triggern. 2. Status auf Mahnstufe 3. 3. Warte 7 Tage (Test ueberspringt via Uhrzeit-Mock).
- Erwartetes Ergebnis
- Abo-Status=pausiert, Profil aktiv=false, E-Mail Stufe 3 versendet.
T-UC07-01 Dozent bestaetigt Modul-Abschluss [AK AC01-UC07]
- Vorbereitung
- Teilnehmer war in letztem Termin anwesend, Aufgaben sind erfuellt.
- Schritte
- 1. Dozent ruft Bestaetigungs-Seite auf. 2. Bestaetigung abschicken.
- Erwartetes Ergebnis
- Modul-Fortschritt abgeschlossen=true, bestaetigt_durch=Dozent, leistungsdatum gesetzt, ggf. Zertifikat-Prozess gestartet.
T-UC09-01 Dozenten-Honorar mit Admin-Freigabe [AK AC01-UC09]
- Vorbereitung
- Dozent hat Termine gehalten, Leistungszeitraum liegt vor.
- Schritte
- 1. Honorar-Erfassung. 2. Admin-Freigabe. 3. Lexoffice-Gutschrift-API. 4. PayPal-Payout.
- Erwartetes Ergebnis
- Honorar-Datensatz bezahlt=true, gutschrift_nr und paypal_transaction_id gesetzt, Profil-Eintrag vorhanden.
T-UC09-02 Dozenten-Honorar PayPal-Payout-Failure [AK AC02-UC09]
- Vorbereitung
- Honorar freigegeben, PayPal-Payout-Mock antwortet mit Failed.
- Schritte
- 1. Payout-Trigger. 2. Webhook fuehrt Failed zurueck.
- Erwartetes Ergebnis
- Status bleibt bezahlt=false, Admin-Ticket im Support-Queue.
E2E (5)
T-UC01-01 B2B-Angebot Happy-Path per Form-Submit [AK AC01-UC01]
- Vorbereitung
- Ein aktives Produkt mit abrechnungsmodell=monatsabo liegt vor. Interessent ruft Angebotsseite auf.
- Schritte
- 1. Laufzeit 24 waehlen. 2. Firma Beispiel AG mit Adresse eingeben. 3. Ansprechpartner mit E-Mail hinzufuegen. 4. Formular abschicken.
- Erwartetes Ergebnis
- HTTP 200 Redirect auf Dankeseite, planung_prozess_lauf Eintrag mit status aktiv, Lexoffice-Angebot mit ID in Payload, E-Mail im Out-Box.
T-UC03-01 Ebook-Kauf mit erfolgreicher PayPal-Zahlung [AK AC01-UC03]
- Vorbereitung
- Ein aktives Ebook-Produkt und PayPal-Testkonto. Kaeufer-Adressen liegen vor.
- Schritte
- 1. Klick auf Kaufen. 2. Adresse eingeben. 3. PayPal-Flow durchlaufen, Capture OK. 4. Zurueck zur App.
- Erwartetes Ergebnis
- HTTP 200, Lexoffice-Rechnung erzeugt, Downloads-Eintrag vom Typ ebook im Profil, Magic-Code-Mail versendet.
T-UC06-01 Kurs-Durchfuehrung planen und veroeffentlichen [AK AC01-UC06]
- Vorbereitung
- Produkt mit monatsabo existiert, Termine und Dozenten stehen zur Verfuegung.
- Schritte
- 1. Admin legt Durchfuehrung an. 2. Termine planen. 3. Dozenten zuweisen. 4. Auf aktiv setzen.
- Erwartetes Ergebnis
- Durchfuehrung Status=aktiv und oeffentlich buchbar, Termine persistent, Dozent zugewiesen.
T-UC08-01 Zertifikat-Ausstellung und Hash-Verifikation [AK AC01-UC08]
- Vorbereitung
- Alle Module sind abgeschlossen, Buchung bezahlt.
- Schritte
- 1. Zertifikats-Prozess triggern. 2. PDF wird erzeugt. 3. SHA-256 berechnet. 4. Datensatz gespeichert.
- Erwartetes Ergebnis
- Zertifikat mit unique zertifikat_nr und nicht leerem verifikations_hash, status=gueltig, versendet=true.
T-UC10-01 Magic-Code Login Happy-Path [AK AC01-UC10]
- Vorbereitung
- Mensch mit E-Mail existiert, E-Mail-Versand ist funktional.
- Schritte
- 1. E-Mail eingeben, senden. 2. Magic-Code-Link im Postfach klicken (Mock: direkter Code-Abruf).
- Erwartetes Ergebnis
- Session cookie gesetzt, Benutzer-Profil.aktiv=true, Last-Login aktualisiert, session_regenerate_id wurde aufgerufen.