⚙️ On abandonne NegatedVariable

C'est illisible dans l'explication, je n'arrive pas à faire mieux que '≠
oui'
pull/603/head
Mael 2019-07-11 17:28:43 +02:00
parent 342605e86b
commit 1adce3e514
10 changed files with 22 additions and 61 deletions

View File

@ -32,11 +32,8 @@ Comparable -> ( AdditionSubstraction | NonNumericTerminal) {% ([[e]]) => e %}
NonNumericTerminal ->
Boolean {% id %}
| String {% id %}
| NegatedVariable {% id %}
NegatedVariable -> "≠" _ Variable {% ([,,{variable}]) => ({'≠': {explanation: variable} }) %}
FilteredVariable -> Variable _ Filter {% filteredVariable %}
Filter -> "[" VariableFragment "]" {% ([,filter]) => filter %}

View File

@ -47,7 +47,6 @@ import {
} from './mecanisms'
import { Node } from './mecanismViews/common'
import {
parseNegatedReference,
parseReference,
parseReferenceTransforms
} from './parseReference'
@ -152,10 +151,6 @@ export let parseObject = (rules, rule, parsedRules) => rawNode => {
variations: mecanismVariations,
synchronisation: mecanismSynchronisation,
...operationDispatch,
'≠': () =>
parseNegatedReference(
parseReference(rules, rule, parsedRules)(v.explanation)
),
filter: () =>
parseReferenceTransforms(rules, rule, parsedRules)({
filter: v.filter,

View File

@ -217,40 +217,3 @@ export let parseReferenceTransforms = (
evaluate: evaluateTransforms(node.evaluate)
}
}
export let parseNegatedReference = variable => {
let evaluate = (cache, situation, parsedRules, node) => {
let explanation = evaluateNode(
cache,
situation,
parsedRules,
node.explanation
),
nodeValue = explanation.nodeValue == null ? null : !explanation.nodeValue,
missingVariables = explanation.missingVariables
return rewriteNode(node, nodeValue, explanation, missingVariables)
}
let jsx = (nodeValue, explanation) => (
<Node
classes="inlineExpression negation"
value={nodeValue}
child={
<span className="nodeContent">
<Trans i18nKey="inlineExpressionNegation">Non</Trans>{' '}
{makeJsx(explanation)}
</span>
}
/>
)
return {
evaluate,
jsx,
category: 'mecanism',
name: 'négation',
type: 'boolean',
explanation: variable
}
}

View File

@ -753,7 +753,7 @@
- si:
toutes ces conditions:
- brut de base [mensuel] < SMIC [mensuel]
- assimilé salarié
- assimilé salarié != oui
niveau: avertissement
message: |
Le salaire saisi est inférieur au SMIC.
@ -2038,8 +2038,8 @@
- si:
toutes ces conditions:
- cotisations . assiette < plafond de réduction
- statut JEI
- assimilé salarié
- statut JEI != oui
- assimilé salarié != oui
alors: 3.45%
- sinon: 5.25%
références:
@ -2403,8 +2403,8 @@
- si:
toutes ces conditions:
- cotisations . assiette < plafond de réduction employeur
- statut JEI
- assimilé salarié
- statut JEI != oui
- assimilé salarié != oui
alors: 7%
- sinon: 13%
- attributs:
@ -3327,7 +3327,7 @@
formule:
toutes ces conditions:
- entreprise . catégorie d'activité . libérale règlementée
- rattachée à la CIPAV
- rattachée à la CIPAV != oui
note: D'autres conditions d'exclusions existent, il faudra les compléter, mais la question de la catégorie d'activité doit avant être complétée.
- nom: indépendant
@ -3372,7 +3372,7 @@
formule:
une de ces conditions:
- toutes ces conditions:
- contrat salarié
- contrat salarié != oui
- entreprise . catégorie d'activité . libérale règlementée
- toutes ces conditions:
- entreprise . année d'activité
@ -3547,7 +3547,7 @@
titre: assiette retraite de base
formule:
variations:
- si: situation personnelle . RSA
- si: situation personnelle . RSA != oui
alors:
le maximum de:
- 11.5% * plafond sécurité sociale temps plein
@ -3619,7 +3619,7 @@
titre: assiette invalidité et décès
formule:
variations:
- si: situation personnelle . RSA
- si: situation personnelle . RSA != oui
alors:
le maximum de:
- 11.5% * plafond sécurité sociale temps plein

View File

@ -580,7 +580,7 @@ contrat salarié . salaire . brut de base:
- si:
toutes ces conditions:
- 'brut de base [mensuel] < SMIC [mensuel]'
- assimilé salarié
- assimilé salarié != oui
niveau: avertissement
message: |
The wage entered is lower than the minimum wage.
@ -599,7 +599,7 @@ contrat salarié . salaire . brut de base:
- si:
toutes ces conditions:
- 'brut de base [mensuel] < SMIC [mensuel]'
- assimilé salarié
- assimilé salarié != oui
niveau: avertissement
message: |
Le salaire saisi est inférieur au SMIC.

View File

@ -145,7 +145,7 @@ describe('inversions', () => {
- si: cadre
alors:
taux: 80%
- si: cadre
- si: cadre != oui
alors:
taux: 70%

View File

@ -11,11 +11,12 @@ import { collectMissingVariables } from '../source/engine/generateQuestions'
import testSuites from './load-mecanism-tests'
import * as R from 'ramda'
import { isNumeric } from '../source/utils'
import { serialiseUnit } from 'Engine/units'
describe('Mécanismes', () =>
testSuites.map(([suiteName, suite]) =>
suite.map(
({ exemples, test }) =>
({ exemples, test, 'unité attendue': unit }) =>
exemples &&
describe(`Suite ${suiteName}, test : ${test ||
'Nom de test (propriété "test") manquant dans la variable contenant ces "exemples"'}`, () =>
@ -51,6 +52,10 @@ describe('Mécanismes', () =>
if (expectedMissing) {
expect(missing).to.eql(expectedMissing)
}
if (unit) {
expect(serialiseUnit(target.unit)).to.eql(unit)
}
})
))
)

View File

@ -133,7 +133,7 @@
- valeur attendue: true
- test: négation
formule: CDD . poursuivi en CDI
formule: CDD . poursuivi en CDI != oui
exemples:
- situation:
CDD . poursuivi en CDI: oui

View File

@ -6,6 +6,7 @@
multiplication:
assiette: mon assiette
taux: 3%
unité attendue:
exemples:
- nom: entier

View File

@ -21,7 +21,7 @@
variations:
- si: statut cadre
alors: 2300
- si: statut cadre
- si: statut cadre != oui
alors: 2100
exemples:
@ -143,7 +143,7 @@
- si: statut cadre
alors:
taux: 8%
- si: statut cadre
- si: statut cadre != oui
alors:
taux: 5%