Bonjour,

Nous utilisons un process qui évolue rapidement. Aujourd'hui, nous comptons 33 places et 64 transitions.

Nous testons ce workflow manuellement mais seulement partiellement considérant que ce qui a déjà été validé reste ok. Bref, pour gagner du temps et comme il s'agit d'un outil interne, on s'exonère des tests de non-régression mais il faut améliorer cette partie.

Je souhaite mettre en place des tests fonctionnels et j'aimerai des conseils sur l'organisation du code pour ce genre de tests.

A ce jour, j'en suis là :
- mise en place d'une base de données dédiée aux tests et des fixtures pour initialiser
- création d'un fichier de tests par transition pour s'assurer qu'en fonction des données de mon entité, la transition est bien bloquée ou autorisée
- création d'un fichier de tests par places pour s'assurer qu'en fonction des données de mon entité, seules la ou les transitions proposées sont cohérentes avec le workflow que nous souhaitons
- (en cours de rédaction) création d'un fichier de test par guard pour s'assurer que le guard répond bien en fonction des données de mon entité

Là où j'ai besoin de conseils :
- lorsqu'une place et que ses transitions sont testées, l'entité à l'origine du workflow doit évoluer (au-delà du champ "current_places", d'autres champs doivent aussi être modifiés). Où faut-il mettre ce code pour s'assurer que l'entité évolue bien au bon moment ?
- je n'ai pas trouvé d'exemple de tests fonctionnels de workflow, si vous avez un lien github ou autre avec un tel exemple, ce serait parfait

C'est cette logique d'évolution de mon entité au fil de l'avancée du workflow que j'ai du mal à rédiger pour que ce soit facilement reproductible et maintenable.

Vous remerciant par avance,