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