1
0
Fork 0
mirror of https://github.com/betagouv/mon-entreprise synced 2025-02-09 05:15:02 +00:00
mon-entreprise/test/mécanismes/remplace.yaml
Maxime Quandalle 12ab3a3c4c Format objet pour les tests des mécanismes
Dans #719 nous changions la structure de données Yaml de premier niveau
d'une liste vers un objet (indexé sur le nom des règles) pour les
fichiers Publicode. Ce commit réplique ce changement pour les fichiers
de tests de mécanismes qui n'avaient pas encore été migré vers le
nouveau format.

L'attribut "test" qui servait à définir le nom du test est supprimé et
on utilise maintenant directement le nom de la règle (ou son titre s'il
est défini) comme nom du test.
2020-01-13 11:12:11 +01:00

187 lines
3.6 KiB
YAML

restaurant . prix du repas:
formule: 10 €/repas
restaurant . client gourmand:
formule: oui
restaurant . client enfant:
rend non applicable:
- client gourmand
formule: non
restaurant . prix du repas gourmand:
applicable si: client gourmand
remplace: prix du repas
formule: 15 €/repas
restaurant . menu enfant:
applicable si: client enfant
remplace:
règle: prix du repas
par: 8 €/repas
modifie une règle:
formule: restaurant . prix du repas
exemples:
- nom: prix du repas modifié
valeur attendue: 15
- nom: prix du repas sans modification
situation:
restaurant . client gourmand: non
valeur attendue: 10
- nom: prix du repas modifé par règle
situation:
restaurant . client enfant: oui
valeur attendue: 8
cotisations . assiette:
formule: 1000
cotisations:
formule:
somme:
- retraite .salarié
- retraite .employeur
- chômage
- maladie
cotisations . retraite:
formule:
multiplication:
composantes:
- attributs:
dû par: employeur
taux: 8%
- attributs:
dû par: salarié
taux: 2%
assiette: assiette
cotisations . chômage:
formule:
multiplication:
taux: 10%
assiette: assiette
cotisations . maladie:
formule:
multiplication:
taux: 10%
assiette: assiette
remplacement sans boucle infinie si il n'y a pas de dépendances cycliques:
applicable si: exemple1
formule: cotisations
remplace:
règle: cotisations . assiette
par: 100
exemples:
- situation:
exemple1: oui
valeur attendue: 30
remplacement contextuel par inclusion:
formule: cotisations
remplace:
règle: cotisations . assiette
par: 500
dans: cotisations . retraite
exemples:
- situation:
exemple2: oui
valeur attendue: 250
- nom: avec remplacement existant
situation:
exemple1: oui
exemple2: oui
valeur attendue: 70
applicable si: exemple2
remplacement contextuel par exclusion:
formule: cotisations
remplace:
règle: cotisations . assiette
par: 100
sauf dans:
- cotisations . chômage
- cotisations . maladie
exemples:
- situation:
exemple3: oui
valeur attendue: 210
applicable si: exemple3
remplacement d'une variable avec composante:
formule: cotisations
remplace:
règle: cotisations . retraite
par:
multiplication:
assiette: cotisations . assiette
composantes:
- attributs:
dû par: employeur
taux: 12%
- attributs:
dû par: salarié
taux: 8%
exemples:
- situation:
exemple4: oui
valeur attendue: 400
- nom: avec remplacement dans un remplacement
situation:
exemple4: oui
exemple1: oui
valeur attendue: 40
applicable si: exemple4
remplacement de plusieurs variables d'un coup:
formule: cotisations
remplace:
- règle: cotisations . chômage
par: 10
- règle: cotisations . maladie
par: 0
exemples:
- situation:
exemple5: oui
valeur attendue: 110
applicable si: exemple5
exemple1:
exemple2:
exemple3:
exemple4:
exemple5:
A:
formule: 1
B:
remplace: A
formule: 2
C:
remplace: B
formule: 3
remplacement associatif:
formule: A
exemples:
- valeur attendue: 3
x:
formule: non
x . y:
remplace: z
formule: 10
z:
formule: 1
remplacement non applicable (branche desactivée):
formule: z
exemples:
- valeur attendue: 1