🐉 Boss: the big night

Exercise 6 of 6 in chapter 12 · 400 XP · 6 objectives checked by tests

Topics covered: Functional testsCommandTester

The story nights are ready: the poster, the scheduling, the sign-ups, the guilds' API, the reminders. On Saturday comes the big night: the first story night, with a full house.

Gorm has one last demand before opening the doors: the feature must be protected. Six months from now, someone will touch the code. Pippin, most likely. That day, the tests must scream.

Your mission

In tests/Taverne/GrandServiceTest.php, write the tests that protect the story nights. The file already has what you need to set up story nights, log in a staff member and run a command (soiree(), connecter(), commande()), along with a first test.

How you're graded

Like for the aviary and the big clean-up, but across the whole feature: your tests must pass on the story nights as they are, then fail on each of the five mutants 🐛. Each mutant breaks a different rule, in a different layer:

These are exactly the places where a “small simplification” costs dearly on a big night.

Once all the mutants are unmasked, the course is complete. 🐉