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:
- the entity;
- the security;
- the form;
- the API;
- the console.
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. 🐉