feat(199): Integrationstests für Auth, Listen und Mail-Accounts #212

Merged
admin-mrrm merged 5 commits from feat-199-integration-tests into main 2026-05-08 19:44:18 +02:00
Owner

Summary

  • Vitest-Setup mit @swc/wasm (pure-JS, funktioniert auf ARM/Termux ohne native Binaries)
  • auth.int-spec: JWT-Validierung — kein Token → 401, ungültiger Token → 401, gültiger Token → 200
  • lists.int-spec: Vollständiger CRUD inkl. Item-Anlage (9 Tests)
  • mail.int-spec: Account-CRUD + leere Tag-Liste; ImapService per overrideProvider gemockt (5 Tests)
  • cleanDb-Helper truncated alle relevanten Tabellen vor jedem Test
  • Drone CI: PostgreSQL-Service-Container + test:integration-Schritt
  • Fix: MailAccountsService.create gibt encryptedPassword nicht mehr in der Response zurück

Test plan

  • pnpm test:integration im apps/api-Verzeichnis läuft durch (17/17 grün)
  • Drone-Pipeline führt test:integration mit PostgreSQL-Service erfolgreich aus
  • POST /mail/accounts Response enthält kein encryptedPassword

Closes #199

🤖 Generated with Claude Code

## Summary - Vitest-Setup mit `@swc/wasm` (pure-JS, funktioniert auf ARM/Termux ohne native Binaries) - `auth.int-spec`: JWT-Validierung — kein Token → 401, ungültiger Token → 401, gültiger Token → 200 - `lists.int-spec`: Vollständiger CRUD inkl. Item-Anlage (9 Tests) - `mail.int-spec`: Account-CRUD + leere Tag-Liste; `ImapService` per `overrideProvider` gemockt (5 Tests) - `cleanDb`-Helper truncated alle relevanten Tabellen vor jedem Test - Drone CI: PostgreSQL-Service-Container + `test:integration`-Schritt - Fix: `MailAccountsService.create` gibt `encryptedPassword` nicht mehr in der Response zurück ## Test plan - [ ] `pnpm test:integration` im `apps/api`-Verzeichnis läuft durch (17/17 grün) - [ ] Drone-Pipeline führt `test:integration` mit PostgreSQL-Service erfolgreich aus - [ ] `POST /mail/accounts` Response enthält kein `encryptedPassword` Closes #199 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(199): Integrationstests für Auth, Listen und Mail-Accounts
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
afc95057eb
- Vitest-Setup mit @swc/wasm (pure-JS, läuft auf Termux/ARM)
- auth.int-spec: JWT-Validierung mit Mock-JWKS-Server (jose)
- lists.int-spec: vollständiger CRUD inkl. Items
- mail.int-spec: Account-CRUD + Tags; ImapService gemockt
- cleanDb-Helper für isolierte beforeEach-Bereinigung
- Drone CI: PostgreSQL-Service + test:integration-Schritt
- MailAccountsService.create gibt encryptedPassword nicht mehr zurück

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Merge branch 'main' into feat-199-integration-tests
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
daddcf2ae9
fix(199): @swc/wasm als devDependency; unit-test an encryptedPassword-Fix anpassen
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
41150535b6
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(199): shared-types Alias und Sentry SSR-Externals in Vitest-Config
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
751593619d
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(api): env-Schema akzeptiert fehlende optionale Variablen (z.string().optional())
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
83665ea38c
z.string() ohne .optional() schlägt fehl wenn die Variable komplett fehlt,
nicht nur wenn sie leer ist. Betrifft KC_ISSUER, KC_JWKS_URI etc. in CI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
admin-mrrm deleted branch feat-199-integration-tests 2026-05-08 19:44:18 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
admin-mrrm/mrrmlabapp!212
No description provided.