Test unitaire avec JEST - Get status code avec AXIOS
Bonjour à tous,
J'ai petit problème, je dois réaliser des tests unitaires avec JEST afin de simplifier la phase de test. Du coup je commence simple et je voudrais pouvoir vérifier que la page me renvoi bien des code de status entre 200 et 299 et qu'il a bien des données affiché.
Voici la requête de la page que je veux tester :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| //
// Lancement requete
//
controllerConfig.model.findAll(configReq).then(function(dataReq) {
if (dataReq) {
var dataReqProcessed = [];
_und.each(dataReq, function(item){
dataReqProcessed.push(item.processData(req, res));
});
// rendu si resultats
return res.status(201).json({dataTable:dataReqProcessed, configTable: configTable});
} else {
// rendu si aucun resultat
return segTools.noResultCatched(req, res, res.locals.trad['common_list_no_results']);
}
}).catch(function(err) {
logger.error(err);
// rendu si erreur
return segTools.errorCatched(req, res, err);
}); |
Du coup j'ai rédiger un test comme sa :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import axios from 'axios';
jest.mock('axios');
test('Get successful result of the website call', async() => {
const satanasUrl = "http://localhost:3000/users";
await axios.get(satanasUrl)
.then(r => {
expect(r.dataReqProcessed).toBeDefined();
expect(r.dataReqProcessed.results.length).toBeGreaterThan(0);
expect(r.status).toBeGreaterThanOrEqual(200);
expect(r.status).toBeLessThan(300);
})
.catch(e => {
fail(`Expected successful response`);
});
}); |
Pour l'instant je ne sais même pas si mon code marche car j'ai un problème avec axios, je l'ai installer via npm, mais quand je lance un test il me dit qu'il n'existe pas ou pas défini alors j'ai ajouter le import mais maintenant il c'est un identifiant inattendu... et je ne vois pas comment faire pour me débloquer, avez-vous des idées ?
Merci d'avance.