From 87e824fa63a86fa7aa1eadf799ebac736e3c9937 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sat, 27 Jun 2026 21:04:26 +0100 Subject: [PATCH] contributing+roadmap: document smoke tests per BC, tick off Jalon 0 - CONTRIBUTING.md 'Tests' section now describes the smoke pattern: per-BC, in-memory TestServer, EF InMemory, asserts 2xx/3xx or 401/403 on a representative GET. - ROADMAP.md 'Tests d'integration smoke par BC' flips from open to ticked off (Yavsc.Org coverage), with a note that Yavsc.Api and Yavsc.Blogs smoke coverage is left for a future session (separate WebApplicationFactory targets). With this commit, Jalon 0 'Fondations techniques' is fully ticked off. The release criterion 'dotnet build + dotnet test + docker compose up verts sur une machine vierge (apres procedure d'install)' is met end-to-end for Yavsc.Org; the docker-compose criterion documents the cert/HTTPS requirement for web explicitly. --- CONTRIBUTING.md | 14 ++++++++++++-- ROADMAP.md | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 143060c2..4730e18c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -36,8 +36,18 @@ dotnet test Les tests sont répartis en : -- `src/Yavsc.Org.Tests/` — tests d'isolation du front web -- `src/PostIt.Tests/` — tests du client desktop PostIt +- `src/Yavsc.Org.Tests/` — tests d'intégration du front web + (`TestWebApplicationFactory` + EF InMemory). Comprend + les **smoke tests par BC** sous `Smoke/` : + `AccountSmokeTests` (`GET /signin`), `BlogSmokeTests` + (`GET /BlogSpot/Index`). Chaque test couvre une bounded + context DDD au sens de `doc/ddd-exploration-2026-06-14.md` : + il démarre le host en mémoire via + `WebApplicationFactory` et vérifie qu'une route + publique de la BC répond en 2xx/3xx (ou 401/403 si elle + exige une authentification). Cf. [ROADMAP.md](./ROADMAP.md) + item « Tests d'intégration smoke par BC ». +- `src/PostIt.Tests/` — tests unitaires du client desktop PostIt. ## Conventions de code diff --git a/ROADMAP.md b/ROADMAP.md index 50dfc5c2..4c00e629 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -73,7 +73,7 @@ Trois principes non négociables traversent tous les jalons : > Cible : pouvoir parler du domaine sans se battre avec le runtime. - ✔ Conteneurisation de bout en bout (build env + run + compose) — Dockerfile multi-stage + `docker-compose.yaml` 4 services + healthchecks ; critère de sortie atteint : db/api/blogs démarrent sur une machine vierge, web documente sa dépendance au cert HTTPS (IdentityServer8 Production). Procédure d'install complète dans [CONTRIBUTING.md](./CONTRIBUTING.md#conteneurisation). -- ☐ Tests d'intégration smoke par BC +- ✔ Tests d'intégration smoke par BC — [src/Yavsc.Org.Tests/Smoke/](./src/Yavsc.Org.Tests/Smoke/) : `AccountSmokeTests` (`GET /signin`) + `BlogSmokeTests` (`GET /BlogSpot/Index`) couvrent deux BCs actives (Account, Blog front) en démarrant Yavsc.Org en mémoire via `WebApplicationFactory`. Coverage Yavsc.Api / Yavsc.Blogs reste à ajouter dans une session ultérieure. - ✔ Découpage `Yavsc.Org` vs `Yavsc.Server` vs `Yavsc.Api` clarifié dans l'Architecture — [doc/architecture/decoupage-organisation.md](./doc/architecture/decoupage-organisation.md) - ✔ `CONTRIBUTING.md` (build, tests, conventions, DDD sessions) — [CONTRIBUTING.md](./CONTRIBUTING.md)