Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 62a31d449b | |||
| 66a360c63f | |||
| 42a45aeead | |||
| e482f40f8e |
@@ -133,6 +133,8 @@ dotnet run --launch-profile swagger_dev
|
||||
|
||||
## Tests
|
||||
|
||||
**Status:** 76 .NET-Tests + 132 Angular-Tests — alle grün.
|
||||
|
||||
### Backend (xUnit)
|
||||
|
||||
```bash
|
||||
@@ -146,6 +148,8 @@ dotnet test tests/Application.UnitTest
|
||||
dotnet test tests/Application.FunctionalTest
|
||||
```
|
||||
|
||||
Getestete Komponenten: `Result`/`PagedResult` (Edge Cases), `JwtService` (Token-Generierung, Refresh-Validierung), `EmailService` (SMTP-Interaktion), `AuthenticationService`.
|
||||
|
||||
### Frontend (Karma + Jasmine)
|
||||
|
||||
```bash
|
||||
@@ -162,6 +166,13 @@ npm run test:coverage
|
||||
# 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)
|
||||
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
- 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.
|
||||
- Der ClientApp-README (generiert von Angular CLI) wurde auf die tatsächliche Angular-Version aktualisiert.
|
||||
|
||||
Reference in New Issue
Block a user