feat: harden content workflows and staging smoke tests
CI — Test & Build / 🧪 Run Tests & Generate Reports (push) Waiting to run
CI — Test & Build / 🏗️ Build Docker Image (push) Blocked by required conditions
CI — Test & Build / 🐳 Docker integration & API E2E (push) Blocked by required conditions
CI — Test & Build / 🌐 Staging Playwright smoke (push) Waiting to run

This commit is contained in:
Do Siki
2026-08-17 16:08:57 +02:00
parent 35e341d5b2
commit 0047e1b441
28 changed files with 1208 additions and 360 deletions
+24
View File
@@ -0,0 +1,24 @@
# Kapcsolatfelvételi üzenetek perzisztenciája
## Működés
A `POST /api/contact` érvényes, nem spamnek minősített üzenetet a MongoDB `contact_submissions` kollekciójába ment. A rekord a következő, feldolgozáshoz szükséges mezőket tartalmazza:
- név, e-mail cím, tárgy és üzenet;
- GDPR-hozzájárulás;
- `new` feldolgozási státusz;
- szerveroldali `createdAt` időbélyeg.
A végpont csak sikeres `insertOne` után ad 200-as választ, és visszaadja a `submissionId` azonosítót. Ha az adatbázis nem érhető el vagy az írás hibás, 500-as választ küld; a felhasználó nem kap hamis sikerjelzést.
## Ellenőrzések
- Unit teszt: sikeres mentésnél a beszúrandó dokumentum és válasz-ID ellenőrzése; MongoDB-hibánál 500-as válasz.
- Docker integrációs teszt: a `POST /api/contact` után a teszt azonosító alapján visszaolvassa a MongoDB-dokumentumot.
A Docker integráció a `docker-compose.dev.yml` szerinti `http://localhost:8080` alkalmazás- és `localhost:27018` MongoDB-portot használja. A futtatáshoz Docker daemon szükséges:
```sh
npm run docker:dev
npm run test:integration
```