Die Backend-e2e-Tests sind verlässlich grün und laufen automatisch.
Offen
Parallele Suites scheitern sporadisch mit „expired claim used up their attempts“ (vermutlich gemeinsamer DB-Zustand der Outbox-/Claim-Tests); mit --runInBand grün. Ursache finden und Suites isolieren (eigenes Schema je Worker oder gezielt serialisieren)
Die e2e-Tests laufen heute nur lokal: Das Backend-Dockerfile führt nur Lint, Typecheck und Unit-Tests aus („die e2e-Tests brauchen eine Datenbank“). Einen CI-Job mit Postgres-Service ergänzen (Runner docker-builder im Cluster)
## Ziel
Die Backend-e2e-Tests sind verlässlich grün und laufen automatisch.
## Offen
- [x] Parallele Suites scheitern sporadisch mit „expired claim used up their attempts“ (vermutlich gemeinsamer DB-Zustand der Outbox-/Claim-Tests); mit `--runInBand` grün. Ursache finden und Suites isolieren (eigenes Schema je Worker oder gezielt serialisieren)
- [ ] Die e2e-Tests laufen heute nur lokal: Das Backend-Dockerfile führt nur Lint, Typecheck und Unit-Tests aus („die e2e-Tests brauchen eine Datenbank“). Einen CI-Job mit Postgres-Service ergänzen (Runner `docker-builder` im Cluster)
## Grundlage
Session-Status vs-code-ff, `ApiCore-Backend/Dockerfile`, `.gitea/workflows/backend-image.yml`.
## Status
Code: Ursache behoben (main) · Geprüft: parallele e2e 3x grün (978 Tests) · Gemergt: ja · Produktiv: –
Stand: 2026-10-16 (Quelle: git origin/main af6d142b, CI grün, Session vs-code-ff)
Ursache war nicht die Outbox, sondern NotificationsService: Empfänger lesen und Benachrichtigungen schreiben liefen getrennt; ein paralleler Test löschte seinen Benutzer dazwischen → P2003 (Notification_userId_fkey) → Handler-Retry verzögert. Fix in 1a57de85: eine Transaktion mit FOR KEY SHARE auf die Empfängerzeilen; zwei e2e-Prüfungen gegen geteilten DB-Zustand entschärft. Parallele e2e (maxWorkers 4) 3x hintereinander grün, 97 Suites / 978 Tests. Offen bleibt der zweite Punkt: e2e als CI-Job mit Postgres-Service.
Ursache war nicht die Outbox, sondern NotificationsService: Empfänger lesen und Benachrichtigungen schreiben liefen getrennt; ein paralleler Test löschte seinen Benutzer dazwischen → P2003 (Notification_userId_fkey) → Handler-Retry verzögert. Fix in 1a57de85: eine Transaktion mit FOR KEY SHARE auf die Empfängerzeilen; zwei e2e-Prüfungen gegen geteilten DB-Zustand entschärft. Parallele e2e (maxWorkers 4) 3x hintereinander grün, 97 Suites / 978 Tests. Offen bleibt der zweite Punkt: e2e als CI-Job mit Postgres-Service.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ziel
Die Backend-e2e-Tests sind verlässlich grün und laufen automatisch.
Offen
--runInBandgrün. Ursache finden und Suites isolieren (eigenes Schema je Worker oder gezielt serialisieren)docker-builderim Cluster)Grundlage
Session-Status vs-code-ff,
ApiCore-Backend/Dockerfile,.gitea/workflows/backend-image.yml.Status
Code: Ursache behoben (main) · Geprüft: parallele e2e 3x grün (978 Tests) · Gemergt: ja · Produktiv: –
Stand: 2026-10-16 (Quelle: git origin/main
af6d142b, CI grün, Session vs-code-ff)Ursache war nicht die Outbox, sondern NotificationsService: Empfänger lesen und Benachrichtigungen schreiben liefen getrennt; ein paralleler Test löschte seinen Benutzer dazwischen → P2003 (Notification_userId_fkey) → Handler-Retry verzögert. Fix in
1a57de85: eine Transaktion mit FOR KEY SHARE auf die Empfängerzeilen; zwei e2e-Prüfungen gegen geteilten DB-Zustand entschärft. Parallele e2e (maxWorkers 4) 3x hintereinander grün, 97 Suites / 978 Tests. Offen bleibt der zweite Punkt: e2e als CI-Job mit Postgres-Service.