Compare commits

..

4 Commits

+11 -12
View File
@@ -133,6 +133,8 @@ dotnet run --launch-profile swagger_dev
## Tests ## Tests
**Status:** 76 .NET-Tests + 132 Angular-Tests — alle grün.
### Backend (xUnit) ### Backend (xUnit)
```bash ```bash
@@ -146,6 +148,8 @@ dotnet test tests/Application.UnitTest
dotnet test tests/Application.FunctionalTest dotnet test tests/Application.FunctionalTest
``` ```
Getestete Komponenten: `Result`/`PagedResult` (Edge Cases), `JwtService` (Token-Generierung, Refresh-Validierung), `EmailService` (SMTP-Interaktion), `AuthenticationService`.
### Frontend (Karma + Jasmine) ### Frontend (Karma + Jasmine)
```bash ```bash
@@ -162,6 +166,13 @@ npm run test:coverage
# Report: src/ClientApp/coverage/index.html # Report: src/ClientApp/coverage/index.html
``` ```
```bash
# Headless (benötigt Chromium-Pfad)
CHROME_BIN=/usr/bin/chromium npx ng test --no-watch --browsers=ChromeHeadless
```
Getestete Komponenten: `tokenInterceptor` (401-Refresh-Flow), `HeaderComponent` (Logout/Rolle/Username), `authService` (HTTP-Login/Register/Renew), `DarkModeService` (localStorage-Persistenz), `ToastComponent` (Auto-Dismiss), `PopupModalComponent` (Inputs/Outputs), `ForgetPasswordPopupComponent` (Close/Error/Success).
--- ---
## NPM-Skripte (Frontend) ## NPM-Skripte (Frontend)
@@ -215,19 +226,7 @@ Basis: `http://localhost:5184/api` (Dev) / `https://localhost:7091/api`
Seed-Daten: SuperAdmin (ID 1) und Admin (ID 2) werden automatisch angelegt. Seed-Daten: SuperAdmin (ID 1) und Admin (ID 2) werden automatisch angelegt.
--- ---
## Docker
Es ist kein Docker-Setup im Projekt enthalten. Für PostgreSQL kann ein Docker-Container gestartet werden:
```bash
docker run -d --name postgres -e POSTGRES_PASSWORD=<passwort> -p 5432:5432 postgres:17
```
---
## Hinweise ## Hinweise
- Der JWT-Secret-Key in `appsettings.json` ist ein Platzhalter und sollte in Produktion überschrieben werden (z.B. über User Secrets, Umgebungsvariablen oder `appsettings.Production.json`). - Der JWT-Secret-Key in `appsettings.json` ist ein Platzhalter und sollte in Produktion überschrieben werden (z.B. über User Secrets, Umgebungsvariablen oder `appsettings.Production.json`).
- E-Mail-Versand verwendet Gmail SMTP es wird ein [App-Passwort](https://support.google.com/accounts/answer/185833) benötigt. - E-Mail-Versand verwendet Gmail SMTP es wird ein [App-Passwort](https://support.google.com/accounts/answer/185833) benötigt.
- Der ClientApp-README (generiert von Angular CLI) wurde auf die tatsächliche Angular-Version aktualisiert.