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<Program>
  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.
This commit is contained in:
Paul Schneider 2026-06-27 21:04:26 +01:00
commit 87e824fa63
2 changed files with 13 additions and 3 deletions

View file

@ -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<Program>` + 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<Program>` 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

View file

@ -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<Program>`. 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)