Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 62a31d449b | |||
| 66a360c63f | |||
| 42a45aeead | |||
| e482f40f8e |
@@ -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.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user