From f6426e7c88c9235acae40c88732a63a90f38757a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20Charignon?= Date: Wed, 1 Jun 2022 16:08:58 +0200 Subject: [PATCH] =?UTF-8?q?Envoie=20les=20scores=20du=20module=20Lecture?= =?UTF-8?q?=20avec=20les=20=C3=A9v=C3=A9nements?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cafe_de_la_place/data/parcours_bas.js | 22 +++++++++++++++---- .../vues/components/clic_sur_mots.vue | 6 +++-- .../vues/components/clic_sur_mot.test.js | 6 ++--- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/situations/cafe_de_la_place/data/parcours_bas.js b/src/situations/cafe_de_la_place/data/parcours_bas.js index 45a5062a2..52bcbeaaf 100644 --- a/src/situations/cafe_de_la_place/data/parcours_bas.js +++ b/src/situations/cafe_de_la_place/data/parcours_bas.js @@ -51,6 +51,7 @@ const titre1 = { { id: 'max', nom_technique: 'max', + score: 1, bonneReponse: true } ] @@ -71,6 +72,7 @@ const titre2 = { { id: 'jazzADimoudon', nom_technique: 'jazz_a_dimoudon', + score: 1, bonneReponse: true }, { @@ -101,6 +103,7 @@ const titre10 = { { id: 'unAmiUnAmant', nom_technique: 'un_ami_un_amant', + score: 1, bonneReponse: true } ] @@ -126,6 +129,7 @@ const titre3 = { { id: 'bailleEtTaille', nom_technique: 'baille_et_taille', + score: 1, bonneReponse: true } ] @@ -146,6 +150,7 @@ const titre11 = { { id: 'duxoEtMatura', nom_technique: 'duxo_et_matura', + score: 1, bonneReponse: true }, { @@ -171,6 +176,7 @@ const titre6 = { { id: 'amourSucculent', nom_technique: 'amour_succulent', + score: 1, bonneReponse: true }, { @@ -201,6 +207,7 @@ const titre8 = { { id: 'anguilleEtDouceMer', nom_technique: 'anguille_et_douce_mer', + score: 1, bonneReponse: true } ] @@ -216,6 +223,7 @@ const titre5 = { { id: 'exerciceDeStyle', nom_technique: 'exercice_de_style', + score: 1, bonneReponse: true }, { @@ -251,6 +259,7 @@ const titre4 = { { id: 'leFilDuTemps', nom_technique: 'le_fil_du_temps', + score: 1, bonneReponse: true } ] @@ -266,6 +275,7 @@ const titre7 = { { id: 'soupconDAmertume', nom_technique: 'soupcon_d_amertume', + score: 1, bonneReponse: true }, { @@ -290,7 +300,8 @@ const alrd11 = { zone_cliquable: 'liste-chansons', reponse: { texte: 'Exercice', - nom_technique: 'exercice' + nom_technique: 'exercice', + score: 1 } }; @@ -302,7 +313,8 @@ const alrd12 = { zone_cliquable: 'liste-chansons', reponse: { texte: 'Anguille', - nom_technique: 'anguille' + nom_technique: 'anguille', + score: 1 } }; @@ -314,7 +326,8 @@ const alrd13 = { zone_cliquable: 'liste-chansons', reponse: { texte: 'Dimoudon', - nom_technique: 'dimoudon' + nom_technique: 'dimoudon', + score: 1 } }; @@ -326,7 +339,8 @@ const alrd14 = { zone_cliquable: 'liste-chansons', reponse: { texte: 'Soupçon', - nom_technique: 'soupcon' + nom_technique: 'soupcon', + score: 1 } }; diff --git a/src/situations/cafe_de_la_place/vues/components/clic_sur_mots.vue b/src/situations/cafe_de_la_place/vues/components/clic_sur_mots.vue index a1a87c92f..33bb054a2 100644 --- a/src/situations/cafe_de_la_place/vues/components/clic_sur_mots.vue +++ b/src/situations/cafe_de_la_place/vues/components/clic_sur_mots.vue @@ -44,8 +44,10 @@ export default { methods: { envoiReponse(lien) { - const mot = lien.textContent.trim(); - this.$emit('reponse', { reponse: mot, succes: this.question.reponse.texte === mot } ); + const reponse = lien.textContent.trim(); + const succes = this.question.reponse.texte === reponse; + const score = succes ? this.question.reponse.score : 0; + this.$emit('reponse', { reponse, succes, score } ); }, metAJourSelection(listeLiens, lien) { diff --git a/tests/situations/cafe_de_la_place/vues/components/clic_sur_mot.test.js b/tests/situations/cafe_de_la_place/vues/components/clic_sur_mot.test.js index 2b01b2d63..edcb8a585 100644 --- a/tests/situations/cafe_de_la_place/vues/components/clic_sur_mot.test.js +++ b/tests/situations/cafe_de_la_place/vues/components/clic_sur_mot.test.js @@ -16,7 +16,7 @@ describe('Le composant Clic Sur Mots', function () { beforeEach(function () { store = new Vuex.Store({ getters: { texteCliquable () { return '* [invalide]()\n* [exercice]()';}}}); - question = { id: 1, reponse: { texte: 'exercice' }, nom_technique: 'question1' }; + question = { id: 1, reponse: { texte: 'exercice', score: 1 }, nom_technique: 'question1' }; localVue = createLocalVue(); wrapper = shallowMount(ClicSurMots, { localVue, store, propsData: { question } }); }); @@ -45,7 +45,7 @@ describe('Le composant Clic Sur Mots', function () { const lien = wrapper.findAll('.mot-cliquable').at(1); wrapper.vm.envoiReponse(lien.element); expect(wrapper.emitted().reponse.length).toEqual(1); - expect(wrapper.emitted().reponse[0][0]).toEqual({ reponse: 'exercice', succes: true }); + expect(wrapper.emitted().reponse[0][0]).toEqual({ reponse: 'exercice', succes: true, score: 1 }); }); }); @@ -54,7 +54,7 @@ describe('Le composant Clic Sur Mots', function () { const lien = wrapper.findAll('.mot-cliquable').at(0); wrapper.vm.envoiReponse(lien.element); expect(wrapper.emitted().reponse.length).toEqual(1); - expect(wrapper.emitted().reponse[0][0]).toEqual({ reponse: 'invalide', succes: false }); + expect(wrapper.emitted().reponse[0][0]).toEqual({ reponse: 'invalide', succes: false, score: 0 }); }); }); });