Le grand ménage fonctionne. Mais une commande qui supprime des données, lancée chaque mois sans que personne ne la regarde, est exactement le genre de code dont on veut être sûr. Le jour où Pipin la « simplifiera », il faudra que les tests crient.
Tester une commande
CommandTester exécute une commande comme dans un terminal, sans terminal :
$this->commande->execute(['--avant' => '2026-08-01', '--dry-run' => true]); $this->commande->getStatusCode(); // le code de sortie $this->commande->getDisplay(); // ce qu'elle a affiché
Pour une commande qui modifie des données, le plus important n'est pas ce qu'elle affiche, c'est ce qu'elle fait : regardez ce qui reste en base.
Votre mission
Dans tests/Taverne/PurgeTest.php, écrivez les tests qui protègent le grand ménage. Un premier test est déjà là, avec de quoi enregistrer des réservations et lire celles qui restent.
La notation
Comme pour la volière : vos tests doivent passer sur le grand ménage tel qu'il est, puis échouer sur chacun des quatre mutants 🐛. Chaque mutant est une erreur plausible, de celles qu'on fait en « simplifiant ». Un mutant qui survit, c'est un test qui manque.