4-4 Test de cas invalides
Un bon test ne vérifie pas seulement les cas valides (qu'on reçoit bien une réponse valide de l'API). Un bon test vérifie que l'API retourne aussi une réponse cohérente dans le cas où la requête n'est pas valide.
Par exemple, dans le cas de l'obtention d'un projet, si jamais l'identifiant de projet n'existe pas, il serait bien de vérifier que la réponse est bien une réponse avec le code 404
.
- Dupliquez la requête
Obtenir un projet
- Renommez la nouvelle requête (la copie)
Obtenir un projet inexistant
- Modifiez l'URL de la requête pour un identifiant de projet inexistant, par exemple:
{{baseUrl}}/projets?id=eq.9999
- Ajoutez un test vérifiant que le retour est
NotFound
pm.test("La réponse retourne une erreur 404", function () {
pm.response.to.be.notFound
}); - Exécutez la requête
Vous remarquerez que le test échoue!
C'est que Supabase ne retourne pas d'erreur 404
dans le cas d'une ressource non trouvée, mais plutôt une erreur 406
. Ce choix est discutable, mais pour l'instant ajustons notre test pour qu'il soit conforme à ce qui est attendu.
pm.test("La réponse retourne une erreur 406", function () {
pm.response.to.have.status(406)
});;
Vérifier le contenu de l'erreur
Il est aussi possible de vérifier le contenu du message d'erreur.
pm.test("La réponse retourne une erreur 406", function () {
pm.response.to.have.status(406)
let jsonData = pm.response.json();
pm.expect(jsonData).to.be.an('object');
pm.expect(jsonData).to.have.property('details');
pm.expect(jsonData.details).to.equal("The result contains 0 rows")
});;