La sécurité de la taverne a déjà cédé une fois (souvenez-vous des clés volées). Gorm veut maintenant des tests qui vérifient chaque règle d'accès, pour tous les rôles :
| Qui | En cuisine (/cuisine/nouveau-plat) |
Modifier un plat (/cuisine/plat/{slug}/modifier) |
|---|---|---|
| Visiteur non connecté | redirigé vers /connexion |
redirigé vers /connexion |
| Pipin, sans rôle | 403 | 403 |
| Bruna, cuisinière | 200 | ses plats seulement (403 pour les autres) |
| Gorm, le patron | 200 (il a les droits d'un cuisinier) | tous les plats |
Votre mission
Dans tests/Taverne/DroitsTest.php, préparez les employés et les plats, puis testez ce tableau.
Se connecter dans un test
Pas besoin de remplir le formulaire de connexion à chaque test : $client->loginUser($employe) ouvre directement une session à son nom. L'aide connecter($email) est déjà prête.
Tester les deux côtés
Un test de sécurité qui ne vérifie que ce qui est permis laisse passer les portes restées ouvertes. Un test qui ne vérifie que ce qui est interdit laisse passer les portes fermées par erreur. Il faut les deux.
Quatre mutants 🐛, un par règle.