From 85b759553e84508bcae119fbc747c65f2142d660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20Charignon?= Date: Tue, 16 Feb 2021 15:12:01 +0000 Subject: [PATCH] =?UTF-8?q?Appelles=20la=20nouvelle=20API=20de=20comp?= =?UTF-8?q?=C3=A9tences=20fortes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/situations/accueil/modeles/store.js | 2 +- src/situations/commun/infra/registre_utilisateur.js | 5 +++-- tests/situations/accueil/modeles/store.js | 9 ++++++--- tests/situations/commun/infra/registre_utilisateur.js | 8 ++++++++ 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/situations/accueil/modeles/store.js b/src/situations/accueil/modeles/store.js index 26efabe51..3542b39dd 100644 --- a/src/situations/accueil/modeles/store.js +++ b/src/situations/accueil/modeles/store.js @@ -83,7 +83,7 @@ export function creeStore (registreUtilisateur, fetch = window.fetch) { }); }, synchroniseCompetencesFortes ({ commit }) { - return fetch(registreUtilisateur.urlEvaluation()) + return fetch(registreUtilisateur.urlEvaluation('competences_fortes')) .then((reponse) => { if (reponse.status === 404) { commit('deconnecte'); diff --git a/src/situations/commun/infra/registre_utilisateur.js b/src/situations/commun/infra/registre_utilisateur.js index 71f3cd4f8..06113fa66 100644 --- a/src/situations/commun/infra/registre_utilisateur.js +++ b/src/situations/commun/infra/registre_utilisateur.js @@ -43,8 +43,9 @@ export default class RegistreUtilisateur extends EventEmitter { }); } - urlEvaluation () { - return `${this.urlServeur}/api/evaluations/${this.idEvaluation()}.json`; + urlEvaluation (element = '') { + if (element.length > 0) { element = `/${element}`; } + return `${this.urlServeur}/api/evaluations/${this.idEvaluation()}${element}.json`; } estConnecte () { diff --git a/tests/situations/accueil/modeles/store.js b/tests/situations/accueil/modeles/store.js index 80e8342d7..1159ed454 100644 --- a/tests/situations/accueil/modeles/store.js +++ b/tests/situations/accueil/modeles/store.js @@ -89,7 +89,7 @@ describe("Le store de l'accueil", function () { const fetch = (url) => Promise.resolve({ json: () => { const situation = { nom_technique: 'nom_technique', libelle: 'libelle' }; - return { situations: [situation], competences_fortes: [] }; + return { situations: [situation] }; } }); const store = creeStore(registreUtilisateur, fetch); @@ -117,10 +117,13 @@ describe("Le store de l'accueil", function () { }); it('sait récupérer les deux compétences fortes depuis le serveur', function () { - registreUtilisateur.urlEvaluation = () => '/evaluation/1'; + registreUtilisateur.urlEvaluation = (element) => { + expect(element).to.eql('competences_fortes'); + return '/evaluation/1/competences_fortes.json'; + }; const fetch = (url) => Promise.resolve({ json: () => { - return { situations: [], competences_fortes: ['comprehension_consigne', 'rapidite', 'tri'] }; + return { competences_fortes: ['comprehension_consigne', 'rapidite', 'tri'] }; } }); const store = creeStore(registreUtilisateur, fetch); diff --git a/tests/situations/commun/infra/registre_utilisateur.js b/tests/situations/commun/infra/registre_utilisateur.js index 9dedcac4c..eeacd3e3f 100644 --- a/tests/situations/commun/infra/registre_utilisateur.js +++ b/tests/situations/commun/infra/registre_utilisateur.js @@ -99,4 +99,12 @@ describe('le registre utilisateur', function () { expect(registre.urlEvaluation()).to.eql('http://localhost/api/evaluations/1.json'); }); }); + + it("retourne l'url d'un élément d'une évaluation", function () { + const registre = unRegistre(1, 'test', 'http://localhost'); + return registre.inscris('test').then(() => { + expect(registre.urlEvaluation('competences_fortes')) + .to.eql('http://localhost/api/evaluations/1/competences_fortes.json'); + }); + }); });