Commit Graph

4441 Commits (refacto-evaluation-règle)

Author SHA1 Message Date
Johan Girod 8d1fbf797c Réecris la logique d'affichage entre retour simulateur et retour contenu 2020-10-14 15:46:17 +02:00
Johan Girod 3ace9da67d Ajoute des tests E2E pour les simulateurs PAM 2020-10-14 15:19:05 +02:00
Maxime Quandalle a56237c2ae ⚙️ Sort les fonctions evaluate des "ruleProps" 2020-10-13 12:55:42 +02:00
Maxime Quandalle 33eb6c32db ⚙️ Sort la fonction evaluateReference de l'AST 2020-10-13 12:55:42 +02:00
Maxime Quandalle ae38b0e74b Ajout des tests de non-reggressions pour les CCN
Fixes #1146
2020-10-13 12:32:58 +02:00
Maxime Quandalle 15e16541ea 🐛 Désactive des règles non-utilisées qui provoquent un cycle
Retraite supplémentaires et prévoyance
Fixes #1143
2020-10-13 12:32:58 +02:00
Maxime Quandalle 44e515f23a 🐛 Cache le widget Chômage Partiel quand on quitte le simulateur 2020-10-13 12:32:39 +02:00
Johan Girod ae6679d819
Merge pull request #1152 from betagouv/pam-johan
Retours PAM
2020-10-12 17:52:17 +02:00
Johan Girod ce600a7cb2 🐛 répare les headers 2020-10-12 17:42:19 +02:00
Johan Girod a5216fb26a Améliore l'Acre par défaut et le style des notifications 2020-10-12 17:15:21 +02:00
Johan Girod 0e6c81278c 🖋️ maj le texte des règles sur l'impôt 2020-10-12 17:15:21 +02:00
Johan Girod fdf4a25ec9 🐛 corrige le lien vers la réduction de cotiz retraite complémentaire CARCDSF 2020-10-12 17:15:21 +02:00
Johan Girod 6eff637321 publie les simulateur PAMC 2020-10-12 17:15:21 +02:00
Johan Girod 9f97074346 🐎 ajoute le prerender pour l'iframe PAMC 2020-10-12 17:15:21 +02:00
Johan Girod 2be83f9eff 🐛 Corrections règles acre auto-entrepreneur 2020-10-12 17:15:21 +02:00
Johan Girod 79f4c59b17 🐛 ajoute la possibilité de spécifier une valeur à 0 pour les champs d'entrée de nombre" 2020-10-12 17:15:21 +02:00
Johan Girod d407e0e82f cache la réparition de la rémunération totale quand le revenu est négatif 2020-10-12 17:15:21 +02:00
Johan Girod 81544adfe4 🖋️ précise le texte pour les IJSS des PAMC 2020-10-12 17:15:21 +02:00
Johan Girod 6502039b0b 🎨 petites amélioration style modale 2020-10-12 17:15:21 +02:00
Johan Girod 1b5a876a0e Enlève €/an du montant des cotisations des institutions partenaire (PL) 2020-10-12 17:15:21 +02:00
Johan Girod da8b8f2701 🖋️ typos 2020-10-12 17:15:21 +02:00
Johan Girod d2260f2994 🎨 ajoute une infobulle pour préciser les métier auxiliaire médical 2020-10-12 17:15:21 +02:00
Johan Girod 5252c2ccff Typos
Co-authored-by: Maxime Quandalle <maxime.quandalle@gmail.com>
2020-10-12 17:15:21 +02:00
Johan Girod 1a4fb75014 🔨 Ajoute la question ACRE pour les PL 2020-10-12 17:15:21 +02:00
Johan Girod 9865ac9e2c 🔨 ajoute une question pour les PAMC remplaçants 2020-10-12 17:15:21 +02:00
Johan Girod f555122a91 👽 missing translation & content 2020-10-12 17:15:21 +02:00
Johan Girod 941f6fcdeb 🐛 Désactive la logique de règles sans page de documentation, qui souffre de limites actuelles
- On veut pouvoir afficher un lien vers la règle définissant la [ref] lorsqu'on est dans une formule avec une référence virtuelle
- Si on fait référence dans une règle à une notification sans formule (juste applicable) la règle crash

En attendant une réecriture de l'inlining qui permette d'ajouter le contexte à la référence appelée (référence ou définition),
je préfère désactiver cette logique
2020-10-12 17:15:21 +02:00
Johan Girod 9aba2ae3d6 ajoute la répartition des cotisations pour les PL et indépendant 2020-10-12 17:15:20 +02:00
Johan Girod 1f84cade21 🎨 Améliore la présentation de l'intégration iframe
- Remplace vie privée par donnée personelle
- Ajoute petit texte + lien mon-entreprise.fr
- Enlève taille minimale
2020-10-12 17:15:20 +02:00
Johan Girod 5876519d75 🐛 rétabli l'affichage des règles reliées dans la documentation 2020-10-12 17:15:20 +02:00
Johan Girod 3aec51fd9c 💚 Répare les tests 2020-10-12 17:15:20 +02:00
Johan Girod fc82cf50ea Ajoute une iframe spécifique PAMC avec page d'accueil de choix de la profession 2020-10-12 17:15:20 +02:00
Johan Girod a0ba6f00c3 👽 Ajoute des traductions 2020-10-12 17:15:20 +02:00
Johan Girod b61b7d4e0d Réecrit les questions sur les IJSS pour les PAMC 2020-10-12 17:15:20 +02:00
Johan Girod f74bbc8a31 Ajoute un bouton pour cacher la règle publicodes dans la documentation 2020-10-12 17:15:20 +02:00
Johan Girod 40f36e7eb9 🐛 répare le bug du champs perdant le focus 2020-10-12 17:15:20 +02:00
Johan Girod 8f5bea211e 🐛 répare la notif et le calcul de la réduction retraite complémentaire CARCDSF 2020-10-12 17:15:20 +02:00
Johan Girod 14ef3052f8 🤩 Ux : recherche du code postal se fait uniquement sur les premiers chiffres 2020-10-12 17:15:20 +02:00
Johan Girod eaf552f4a7 🎨 ajoute des informations sur les caisses de recouvrement pour les professions libérales 2020-10-12 17:15:20 +02:00
Antoine Augusti 597e82920d 🖊 Correction répétition mot
Closes #1161
2020-10-12 16:32:25 +02:00
Maxime Quandalle 400fcecda6 🔨 Corrige les aides à l'embauche avec activité partielle
Notons que l'aide à l'apprentissage est versée tant que l'apprenti n'est
pas en activité partielle à 100% -- et sans proratisation. Ce qui veut
dire que l'entreprise peut recevoir plus d'aides (en cumulant indemnité
partielle et prime à l'embauche d'apprenti) que son coût total, d'où une
valeur négative dans la case "coût total".
2020-10-12 15:57:34 +02:00
Maxime Quandalle 753daccac9 Ajoute des règles de linting pour les tests Mocha
J'ai involontairement mergé un `it.only` dans #1136 qui désactive tous
les tests sauf un — utile en développement mais pas quelque chose que
l'on veut commiter sur `master`. La règle Eslint bloquera désormais ce
code.
2020-10-12 15:57:34 +02:00
Maxime Quandalle b3e5ef71d3 🔨 Ajoute un lien vers une nouvelle règle sur les réductions de cotisations 2020-10-12 15:57:34 +02:00
Maxime Quandalle 9a3afddd71 👨‍💻 Support d'IntelliSense pour Cypress 2020-10-11 16:51:19 +02:00
Maxime Quandalle 6fa30e505c Ajout d'un test d'intégration pour le temps partiel au smic
Ainsi que d'un test unitaire pour les références dans la situation
2020-10-11 16:51:19 +02:00
Maxime Quandalle 973f12ab46 ⚙️ Évalue la situation dans l'ordre topologique
Nous utilisions jusqu'à présent le code suivant pour évaluer la situation:

> mapObjIndexed(value => evaluateExpression(value), situation)

c'est à dire une évaluation ligne par ligne. Or si certaines valeurs de
la situation contiennent des références, il faut les évaluer dans le bon
ordre.

Avec cette modification, seul le parsage est fait lorsqu'on appelle
`setSituation` et l'évaluation est faite ultérieurement lorsque c'est
nécessaire avec la même logique que pour les règles.

L'implémentation a pour effet de bord de ne plus supprimer l'utilisation
de true / false dans la situation qui doivent être remplacés par "oui"
et "non".
2020-10-11 16:51:19 +02:00
Maxime Quandalle 4789dfce04 🐛 Corrige la saisie du SMIC à temps partiel
Grâce aux récentes évolutions de Publicode, ce retour utilisateur
fréquent trouve une solution particulièrement simple et élégante en
remplaçant la valeur littérale du SMIC par une référence vers le SMIC
contractuel. Cela procure les avantages suivants :
- Le montant du SMIC est défini une seule fois dans la base de règles,
  et on y fait référence partout où on l'utilise
- Vu que c'est la référence qui est stockée dans la "situation" on peut
  répondre à la question "temps partiel" après avoir cliqué sur "SMIC"
  dans la case "salaire brut" et le montant correspondant va
  automatiquement se recalculer.

A nécessité quelques menues modifications du code qui gère les
références dans la situation pour corriger des bugs.

Fixes #649
2020-10-11 16:51:19 +02:00
Maxime Quandalle cbf7b3c7ea 🖊 MAJ sur l'expérimentation paie 2020-10-10 11:34:28 +02:00
Alexandre Hajjar 343ca00a27 ⚙️ Detect cycles in parsed rules
Build a dependencies graph and detect cycles:
* Types and guards for nodes of the ParsedRules AST
* Simple visitor framework for the nodes and their `formule` sub-nodes
* Build a directed graph for dependencies using @dagrejs/graphlib
2020-10-09 13:30:39 +02:00
Alexandre Hajjar 960fda08e6 📝 Remplace & applicable: split getApplicableReplacements & tests
* Split and document `getApplicableReplacements`
* More remplace tests
* `isDisabledBy` is mandatory in `ParsedRule`
2020-10-09 13:30:39 +02:00