jiordiviera
a posé

Laravel Passport : Comment tester le système d'authentification avec PHPUnit ?

Dans mon application Laravel qui expose une API, j'ai mis en place des tests en utilisant PHPUnit. Cependant, je me retrouve dans une impasse lorsque je souhaite tester la fonctionnalité de déconnexion. En effet, pour tester la déconnexion, il est nécessaire que l'utilisateur soit préalablement connecté.

Question : Comment puis-je implémenter un test de déconnexion dans ce contexte ? Quelle logique ou méthode devrais-je utiliser pour m'assurer que l'utilisateur est connecté avant d'effectuer le test de déconnexion dans mes tests PHPUnit ?

tncs
tncs 70 XP
a répondu
Meilleure réponse

Bonsoir, je suppose que dans ton test tu crée un user via un factory, par la suite, tu peux simuler l'authentification avec actingAs() et vérifier qu'effectivement cet utilisateur est connecté avec la methode assertAuthenticatedAs avant d'appeler ta route logout. ensuite tu peux mettre le statut de ta réponse de logout et vérifier que ce statut est bien 200 avec assertStatus() tout comme tu peux faire aussi un test de redirection et enfin pour verifier qu'il est effectivement logout tu peux faire un assertGuest() tu trouveras toutes ces methodes ici https://laravel.com/docs/11.x/http-tests

jiordiviera
a répondu

Merci ca marche

tncs
tncs 70 XP
a répondu

Ok super

Il faut Se connecter ou Créer un compte pour participer à cette conversation.