test: tranche verticale et tests du groupe contrôlable (#58, partie automatisée) #68

Merged
Reliodas merged 1 commit from feature/58-vertical-slice into develop 2026-06-22 07:12:58 +00:00
Owner

Refs #58 (partie automatisée).

Assemble la tranche verticale du jalon 0.16.0 et son filet de tests automatisés. Ne clôt pas encore #58 : la validation manuelle (entrées/caméra/suiveurs/UI) et la publication 0.16.0 (bump de version, merge main, tag) restent à faire — voir « Reste à faire » plus bas.

Changements

  • Smoke test de bout en bout tests/unit/test_party_vertical_slice.gd : création du protagoniste → recrutement d'un compagnon → exploration leader/suiveur (le suiveur prend la case libérée par le leader) → rencontre déclenchée depuis leurs positions → combat multi-alliés (héros piloté + allié auto) → victoire → reprise de l'exploration, bookkeeping cohérent, groupe intact.
  • Test de sauvegarde complète : restaure roster, groupe actif, leader, mode de contrôle, PV et positions individuelles après un aller-retour disque.
  • Dernier couplage GameState.hero retiré de World : le jeton joueur suit le leader courant par identité (ensure_valid_leader), sans lire GameState.hero. Seule subsiste l'écriture de façade documentée à la création de personnage.
  • docs/ARCHITECTURE.md : section « Groupe contrôlable (Party) » (roster/actif/présents, modes de contrôle, sérialisation + migration, suivi déterministe) et mise à jour du combat (acteur actif, équipes, IA partagée, menu dynamique).

Critères d'acceptation #58

  • un smoke test headless couvre recrutement, exploration, combat multi-alliés et reprise ;
  • un test de sauvegarde restaure roster, groupe actif, leader, contrôle, PV et positions ;
  • import Godot, suite GUT et CI sont verts (272 tests, stable sur plusieurs exécutions) ;
  • une validation manuelle couvre entrées, caméra, suiveurs et interface de combat → à faire dans Godot ;
  • ARCHITECTURE reflète l'état livré ; CHANGELOG [Unreleased] tenu à jour (ROADMAP/README/AGENTS et le bump de version font partie de l'étape de release) ;
  • aucun nouveau couplage direct à GameState.hero hors compatibilité documentée.

Reste à faire (hors de cette MR, à ta main)

  1. Validation manuelle dans Godot : déplacement du leader, caméra, suivi des compagnons, interface de combat (multi-acteurs, menus par classe).
  2. Release 0.16.0 (étape irréversible que tu pilotes, comme pour 0.15.0) : release/0.16.0 depuis develop, bump project.godot/README en 0.16.0, repli du [Unreleased] du CHANGELOG sous ## [0.16.0], ROADMAP/AGENTS marqués livrés, merge main + tag 0.16.0.

Tests

Suite GUT complète verte : 272 tests (depuis 270).

Refs #58 (partie automatisée). Assemble la tranche verticale du jalon 0.16.0 et son filet de tests automatisés. **Ne clôt pas encore #58** : la validation manuelle (entrées/caméra/suiveurs/UI) et la publication 0.16.0 (bump de version, merge `main`, tag) restent à faire — voir « Reste à faire » plus bas. ## Changements - **Smoke test de bout en bout** `tests/unit/test_party_vertical_slice.gd` : création du protagoniste → recrutement d'un compagnon → exploration leader/suiveur (le suiveur prend la case libérée par le leader) → rencontre déclenchée depuis leurs positions → combat multi-alliés (héros piloté + allié auto) → victoire → reprise de l'exploration, bookkeeping cohérent, groupe intact. - **Test de sauvegarde complète** : restaure roster, groupe actif, leader, mode de contrôle, PV **et** positions individuelles après un aller-retour disque. - **Dernier couplage `GameState.hero` retiré de `World`** : le jeton joueur suit le leader courant par identité (`ensure_valid_leader`), sans lire `GameState.hero`. Seule subsiste l'écriture de façade **documentée** à la création de personnage. - **`docs/ARCHITECTURE.md`** : section « Groupe contrôlable (Party) » (roster/actif/présents, modes de contrôle, sérialisation + migration, suivi déterministe) et mise à jour du combat (acteur actif, équipes, IA partagée, menu dynamique). ## Critères d'acceptation #58 - [x] un smoke test headless couvre recrutement, exploration, combat multi-alliés et reprise ; - [x] un test de sauvegarde restaure roster, groupe actif, leader, contrôle, PV et positions ; - [x] import Godot, suite GUT et CI sont verts (**272 tests**, stable sur plusieurs exécutions) ; - [ ] une validation manuelle couvre entrées, caméra, suiveurs et interface de combat → **à faire dans Godot** ; - [x] ARCHITECTURE reflète l'état livré ; CHANGELOG `[Unreleased]` tenu à jour (ROADMAP/README/AGENTS et le bump de version font partie de l'étape de release) ; - [x] aucun nouveau couplage direct à `GameState.hero` hors compatibilité documentée. ## Reste à faire (hors de cette MR, à ta main) 1. **Validation manuelle** dans Godot : déplacement du leader, caméra, suivi des compagnons, interface de combat (multi-acteurs, menus par classe). 2. **Release 0.16.0** (étape irréversible que tu pilotes, comme pour 0.15.0) : `release/0.16.0` depuis `develop`, bump `project.godot`/README en `0.16.0`, repli du `[Unreleased]` du CHANGELOG sous `## [0.16.0]`, ROADMAP/AGENTS marqués livrés, merge `main` + tag `0.16.0`. ## Tests Suite GUT complète verte : **272 tests** (depuis 270).
test: valider la boucle complète du groupe contrôlable (#58)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
8fd03007ba
Smoke test headless de bout en bout (test_party_vertical_slice.gd) :
création du protagoniste, recrutement d'un compagnon, exploration
leader/suiveur, rencontre déclenchée depuis leurs positions, combat
multi-alliés, victoire et reprise ; plus un test de sauvegarde restaurant
roster, groupe actif, leader, mode de contrôle, PV et positions
individuelles.

Retire le dernier couplage direct à GameState.hero dans World (le jeton
joueur suit le leader courant par identité, sans lire GameState.hero) ;
seule subsiste l'écriture de façade documentée à la création de personnage.

ARCHITECTURE.md documente le modèle Party (roster/actif/présents, modes de
contrôle, sérialisation/migration, suivi) et le combat multi-acteurs/équipes.

Suite 272 tests, stable sur plusieurs exécutions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reliodas merged commit fe26b3e28e into develop 2026-06-22 07:12:58 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: jeux/beaulieu-sur-brume#68
No description provided.