From 2633d07639d660ee1019bb0d0b947f46e3f58862 Mon Sep 17 00:00:00 2001 From: mama Date: Wed, 16 Aug 2017 17:51:36 +0200 Subject: [PATCH] =?UTF-8?q?:white=5Fcheck=5Fmark:=20Ajout=20du=20test=20m?= =?UTF-8?q?=C3=A9ca=20une=20de=20ces=20conditions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Il ne passe pas : il semble qu'il y ait un bug dans l'implémentation du mécanisme ! --- source/engine/mecanisms.js | 2 +- test/mecanisms.test.js | 13 +++++------ test/mécanismes/une-de-ces-conditions.yaml | 25 ++++++++++++++++++++++ 3 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 test/mécanismes/une-de-ces-conditions.yaml diff --git a/source/engine/mecanisms.js b/source/engine/mecanisms.js index 955f81a5f..bda91438a 100644 --- a/source/engine/mecanisms.js +++ b/source/engine/mecanisms.js @@ -85,7 +85,7 @@ export let mecanismOneOf = (recurse, k, v) => { /> return { - evaluate: evaluateArray(R.or,false, false), // null values do not make the whole array null + evaluate: evaluateArray(R.or, false, false), // null values do not make the whole array null jsx, explanation, category: 'mecanism', diff --git a/test/mecanisms.test.js b/test/mecanisms.test.js index f2eac3361..4447da44a 100644 --- a/test/mecanisms.test.js +++ b/test/mecanisms.test.js @@ -25,12 +25,13 @@ describe('Mécanismes', () => missing = collectMissingVariables()(stateSelector,analysis) // console.log('JSON.stringify(analysis', JSON.stringify(analysis)) - - expect(analysis.root) - .to.have.property( - 'nodeValue', - valeur - ) + if (valeur !== undefined) { + expect(analysis.root) + .to.have.property( + 'nodeValue', + valeur + ) + } if (expectedMissing) { expect(R.keys(missing).sort()).to.eql(expectedMissing.sort()) diff --git a/test/mécanismes/une-de-ces-conditions.yaml b/test/mécanismes/une-de-ces-conditions.yaml new file mode 100644 index 000000000..cc2109b97 --- /dev/null +++ b/test/mécanismes/une-de-ces-conditions.yaml @@ -0,0 +1,25 @@ + +- nom: dégradation mineure + +- nom: dégradation majeure + +- nom: remboursement dépot de garantie + test: Une de ces deux conditions + non applicable si: + une de ces conditions: + - dégradation mineure + - dégradation majeure + formule: + 3000 + + exemples: + - nom: Est vraie -> non applicable -> 0 + situation: + dégradation mineure: oui + valeur attendue: 0 + - nom: Est fausse -> en attente de l'autre + situation: + dégradation majeure: non + valeur attendue: null + # variables manquantes: + # - dégradation mineure