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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.