0
votes

Comment puis-je tester les points d'extrémité de l'API de Laravel Passport

Je veux donc tester mes paramètres d'API. J'utilise le Laravel 5.8 et l'authentification API se fait avec passeport J'ai le test suivant:

public function guest_can_login()
{
    $user = factory(User::class)->create();

    $response = $this->json('POST', 'api/login', [
        'email' => $user->email,
        'password' => 'secret',
    ]);

    $response
        ->assertStatus(200)
        ->assertJson([
            'success' => true,
        ]);
}


0 commentaires

5 Réponses :


1
votes

Vous voyez cette erreur car vous n'avez créé aucun client de passeport. Premièrement, assurez-vous d'avoir installé correctement le passeport. Puis exécutez la commande suivante dans le répertoire racine de votre projet pour créer Accéder au client ;

Passeport PHP Artisan: Installez


0 commentaires

5
votes

Juste pour préciser pour une personne qui a le même problème, le problème était que le fait que j'utilise une base de données inémororie pour les tests, il réinitialise chaque fois que vous exécutez les tests, donc bien sûr, les clés de passeport sont essuyées. Pourquoi ajouter \ artisan :: appel ("passeport: installation '); au début de votre test corrige ce problème.


0 commentaires

2
votes

Si vous utilisez le trait d'actualisation de la base de données xxx


1 commentaires

J'utilise le Laravel 7 avec PHP 7.2.29 et je devais mettre "vide" comme type de retour Configuration de la fonction publique (): Void



0
votes

La configuration des passeports lors de l'exécution du test n'a pas été trouvée, c'est pourquoi il donne l'erreur 500 lors de l'exécution du test. La commande Artisan Passport Installez la configuration du passeport pour l'environnement de test pour exécuter le test C'est pourquoi il fonctionne bien avec la ligne de commande ci-dessous;

  \Artisan::call('passport:install');


2 commentaires

Bonjour et bienvenue dans le débordement de la pile! Veuillez prendre le Tour . La même commande exacte était déjà suggérée dans le réponse acceptée et une autre Répondre et avec plus de code et une explication. Pouvez-vous modifier votre réponse afin qu'il ajoute quelque chose de nouveau à la question?


merci@jeannedark



0
votes

C'est comme ça que j'ai eu ma configuration écrite ... Cela travaillait sans le hashy de passeport maintenant qui est haché, il ne fonctionne pas ... Quelqu'un sait pourquoi? Ce serait cool thnx ... xxx


1 commentaires

À quiconque ayant le problème que j'ai eu avec les mots de passe hachés ... c'est aussi simple que de réécrire la configuration (Passeport ') ...