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
25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# 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
|
|
```
|