Scénario « Jouer une partie » exécuté ; garde-fous d'architecture

Les étapes de docs/scenarios/jouer-une-partie.feature pilotent le domaine
sur le vrai moteur WebAssembly, avec des dés imposés (Cucumber, sous Node).
Deux retouches du scénario : 8/4 avec 3-1 est un coup permis (8/5/4),
remplacé par 13/12 (case tenue par l'ordinateur) ; « c'est ensuite au tour
de l'ordinateur » distingue le constat de la situation de départ du même nom.

dependency-cruiser vérifie que le domaine n'importe que le domaine, que
l'interface n'appelle pas le moteur et qu'il n'y a pas de cycle ;
tests/test_web.sh prouve aussi que des violations volontaires sont
détectées.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-02 20:42:08 +01:00
co-authored by Claude Opus 5.5
parent 602d0eafed
commit 1f9981dc63
5 changed files with 359 additions and 4 deletions
+4 -2
View File
@@ -5,8 +5,10 @@ joueur, écrit pour lui. Ces fichiers sont la seule source (ADR 0008) :
l'application les met en forme comme pages d'aide, et ils sont exécutés comme
tests d'intégration sur le domaine et le moteur réel.
Tant que le domaine n'existe pas, les scénarios se déroulent à la main : ils
servent alors de guide de test.
`make test` les exécute avec Cucumber : les étapes, définies dans
`app/tests/steps/`, pilotent le domaine branché sur le vrai moteur
WebAssembly, avec des dés imposés pour que chaque exécution soit identique. Une
étape sans définition fait échouer les tests.
## Format
+5 -2
View File
@@ -14,11 +14,14 @@ Fonctionnalité: Jouer une partie contre l'ordinateur
Étant donné que c'est à vous de jouer avec le jet 3-1
Quand vous jouez 8/5 6/5
Alors votre coup est accepté
Et c'est au tour de l'ordinateur
Et c'est ensuite au tour de l'ordinateur
Scénario: Un coup interdit est refusé
La case 12 est tenue par l'ordinateur, qui y a cinq pions : vous ne
pouvez pas vous y poser.
Étant donné que c'est à vous de jouer avec le jet 3-1
Quand vous essayez de jouer 8/4
Quand vous essayez de jouer 13/12
Alors votre coup est refusé
Et la position n'a pas changé