From d6b1f2808a63810945674524bcea975c12d3785b Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Tue, 27 Aug 2019 16:16:51 +0200 Subject: [PATCH] =?UTF-8?q?:hammer:=20ajoute=20la=20d=C3=A9fiscalisation?= =?UTF-8?q?=20des=20heures=20suppl=C3=A9mentaires?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/components/PaySlipSections.js | 15 +- source/components/SchemeComparaison.js | 10 +- .../simulationConfigs/assimilé.yaml | 4 +- .../components/simulationConfigs/salarié.yaml | 8 +- source/règles/base.yaml | 189 +++++++++++------- source/règles/cas-types.yaml | 24 +-- source/règles/externalized.yaml | 13 +- source/règles/sasu.yaml | 2 +- source/selectors/repartitionSelectors.js | 2 +- .../pages/Documentation/ExampleSituations.js | 4 +- test/bug-cotisations.test.js | 12 +- test/generateQuestions.test.js | 4 +- test/inversion.test.js | 4 +- test/library.test.js | 10 +- test/rules.test.js | 2 +- 15 files changed, 179 insertions(+), 124 deletions(-) diff --git a/source/components/PaySlipSections.js b/source/components/PaySlipSections.js index a3774d74e..76f8b7bc6 100644 --- a/source/components/PaySlipSections.js +++ b/source/components/PaySlipSections.js @@ -10,7 +10,7 @@ export let SalaireBrutSection = ({ getRule }) => { heuresSupplémentaires = getRule( 'contrat salarié . rémunération . heures supplémentaires' ), - salaireDeBase = getRule('contrat salarié . salaire . brut de base'), + salaireDeBase = getRule('contrat salarié . rémunération . brut de base'), rémunérationBrute = getRule('contrat salarié . rémunération . brut') return ( @@ -48,19 +48,24 @@ export let SalaireNetSection = ({ getRule }) => { Salaire net - + {avantagesEnNature.nodeValue !== 0 ? ( <> {/* Avantages en nature */} {/* Salaire net */} - + ) : null} +<<<<<<< HEAD +======= + + +>>>>>>> :hammer: ajoute la défiscalisation des heures supplémentaires ) } diff --git a/source/components/SchemeComparaison.js b/source/components/SchemeComparaison.js index d13cdc5e3..47662af91 100644 --- a/source/components/SchemeComparaison.js +++ b/source/components/SchemeComparaison.js @@ -13,6 +13,8 @@ import PeriodSwitch from 'Components/PeriodSwitch' import ComparaisonConfig from 'Components/simulationConfigs/rémunération-dirigeant.yaml' import withSimulationConfig from 'Components/simulationConfigs/withSimulationConfig' import withSitePaths from 'Components/utils/withSitePaths' +import Value from 'Components/Value' +import { encodeRuleName, getRuleFromAnalysis } from 'Engine/rules.js' import revenusSVG from 'Images/revenus.svg' import { compose } from 'ramda' import React, { useCallback, useState } from 'react' @@ -20,14 +22,12 @@ import emoji from 'react-easy-emoji' import { connect } from 'react-redux' import { Link } from 'react-router-dom' import { - branchAnalyseSelector, - analysisWithDefaultsSelector + analysisWithDefaultsSelector, + branchAnalyseSelector } from 'Selectors/analyseSelectors' import Animate from 'Ui/animate' import InfoBulle from 'Ui/InfoBulle' -import Value from 'Components/Value' import './SchemeComparaison.css' -import { encodeRuleName, getRuleFromAnalysis } from 'Engine/rules.js' type OwnProps = { hideAutoEntrepreneur?: boolean, @@ -374,7 +374,7 @@ const SchemeComparaison = ({
diff --git a/source/components/simulationConfigs/assimilé.yaml b/source/components/simulationConfigs/assimilé.yaml index b576c1177..34695c177 100644 --- a/source/components/simulationConfigs/assimilé.yaml +++ b/source/components/simulationConfigs/assimilé.yaml @@ -4,9 +4,9 @@ objectifs: objectifs: - contrat salarié . rémunération . total - contrat salarié . cotisations - - contrat salarié . salaire . net + - contrat salarié . rémunération . net - impôt - - contrat salarié . salaire . net après impôt + - contrat salarié . rémunération . net après impôt - icône: 🏢 nom: Mon entreprise objectifs: diff --git a/source/components/simulationConfigs/salarié.yaml b/source/components/simulationConfigs/salarié.yaml index e2aea4d89..9e57213a6 100644 --- a/source/components/simulationConfigs/salarié.yaml +++ b/source/components/simulationConfigs/salarié.yaml @@ -1,9 +1,9 @@ objectifs: - contrat salarié . rémunération . total - - contrat salarié . salaire . brut de base . équivalent temps plein - - contrat salarié . salaire . brut de base - - contrat salarié . salaire . net - - contrat salarié . salaire . net après impôt + - contrat salarié . rémunération . brut de base . équivalent temps plein + - contrat salarié . rémunération . brut de base + - contrat salarié . rémunération . net + - contrat salarié . rémunération . net après impôt objectifs secondaires: - contrat salarié . temps de travail diff --git a/source/règles/base.yaml b/source/règles/base.yaml index 4085c3624..340e07193 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -179,7 +179,7 @@ exemples: - nom: pas de congés non pris situation: - salaire . brut de base: 2300 + rémunération . brut de base: 2300 prime de fin de contrat: 0 congés non pris: 0 durée contrat: 12 @@ -187,7 +187,7 @@ - nom: 10 jours non pris situation: CDD: oui - salaire . brut de base: 2300 + rémunération . brut de base: 2300 prime de fin de contrat: 0 congés non pris: 10 durée contrat: 12 @@ -195,7 +195,7 @@ - nom: 3 jours non pris situation: CDD: oui - salaire . brut de base: 2300 + rémunération . brut de base: 2300 prime de fin de contrat: 0 congés non pris: 3 durée contrat: 6 @@ -235,7 +235,7 @@ - espace: contrat salarié . CDD . compensation pour congés non pris période: mois nom: assiette mensuelle - formule: salaire . brut de base + prime de fin de contrat + formule: rémunération . brut de base + prime de fin de contrat - espace: contrat salarié . CDD . compensation pour congés non pris nom: salaire journalier @@ -279,21 +279,21 @@ # Ici elle est étalée sur un mois moyen formule: multiplication: - assiette: salaire . brut de base + assiette: rémunération . brut de base taux: 10% exemples: - nom: salaire médian situation: CDD: oui - salaire . brut de base: 2300 + rémunération . brut de base: 2300 motif: classique . accroissement activité valeur attendue: 230 - nom: CDD d'usage -> non applicable situation: motif: classique . usage - salaire . brut de base: 2300 + rémunération . brut de base: 2300 valeur attendue: null références: @@ -730,10 +730,7 @@ période: flexible formule: rémunération . brut - indemnité kilométrique vélo -- espace: contrat salarié - nom: salaire - -- espace: contrat salarié . salaire +- espace: contrat salarié . rémunération nom: brut de base titre: Salaire brut résumé: Brut de base inscrit dans le contrat de travail @@ -751,7 +748,7 @@ contrôles: - si: toutes ces conditions: - - assiette de vérification du SMIC [mensuel] < SMIC [mensuel] + - rémunération . assiette de vérification du SMIC [mensuel] < SMIC [mensuel] - assimilé salarié != oui niveau: avertissement message: | @@ -770,8 +767,8 @@ titre: salaire avec: - rémunération . total - - salaire . net - - salaire . net après impôt + - rémunération . net + - rémunération . net après impôt - équivalent temps plein - entreprise . chiffre d'affaires - entreprise . chiffre d'affaires minimum @@ -780,7 +777,7 @@ références: Le salaire. Fixation et paiement: http://travail-emploi.gouv.fr/droit-du-travail/remuneration-et-participation-financiere/remuneration/article/le-salaire-fixation-et-paiement -- espace: contrat salarié . salaire . brut de base +- espace: contrat salarié . rémunération . brut de base nom: équivalent temps plein applicable si: temps de travail . temps partiel titre: Salaire brut équivalent temps plein @@ -793,14 +790,14 @@ salaire médian: 2300 SMIC: 1522 -- espace: contrat salarié . salaire . brut de base +- espace: contrat salarié . rémunération . brut de base titre: brut horaire nom: horaire période: aucune unité: € / heures - formule: brut de base / temps de travail + formule: rémunération . assiette de vérification du SMIC / temps de travail -- espace: contrat salarié . salaire +- espace: contrat salarié . rémunération nom: assiette de vérification du SMIC description: > C'est le salaire pris en compte pour vérifier que le SMIC est atteint. @@ -808,7 +805,7 @@ période: flexible formule: somme: - - brut de base + - rémunération . brut de base - avantages en nature . montant - espace: contrat salarié . rémunération @@ -819,20 +816,21 @@ période: flexible formule: somme: - - salaire . brut de base + - rémunération . brut de base - avantages en nature . montant - indemnités salarié - heures supplémentaires - espace: contrat salarié . rémunération nom: heures supplémentaires + titre: rémunération heures supplémentaires description: La rémunération relative aux heures supplémentaires unité: € période: flexible formule: multiplication: assiette: temps de travail . heures supplémentaires - facteur: salaire . brut de base . horaire + facteur: rémunération . brut de base . horaire taux: temps de travail . heures supplémentaires . taux majoré - espace: contrat salarié @@ -1079,38 +1077,6 @@ - complémentaire santé [salarié] - réduction heures supplémentaires -- espace: contrat salarié . cotisations . salariales - nom: réduction heures supplémentaires - cotisation: - branche: retraite - aide: - type: réduction de cotisations - unité: € - période: flexible - formule: - 0 - rémunération . heures supplémentaires * taux des cotisations réduites - # multiplication: - # assiette: rémunération . heures supplémentaires - # taux: taux des cotisations réduites - références: - Code de la sécurité sociale - Article D241-21: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000038056813&cidTexte=LEGITEXT000006073189 - urssaf: https://www.urssaf.fr/portail/home/employeur/beneficier-dune-exoneration/exonerations-generales/la-reduction-de-cotisations-sala/modalites-de-calcul-et-de-declar.html - -- espace: contrat salarié . cotisations . salariales . réduction heures supplémentaires - nom: taux des cotisations réduites - période: aucune - unité: '%' - description: le taux effectif des cotisations d'assurance vieillesse à la charge du salarié - formule: - le minimum de: - - 11.31% - - multiplication: - assiette: - somme: - - vieillesse [salarié] - - retraite complémentaire [salarié] - - contribution d'équilibre général [salarié] - facteur: 1 / assiette - espace: contrat salarié . cotisations nom: patronales @@ -1149,7 +1115,7 @@ - espace: contrat salarié . rémunération nom: net de cotisations - titre: Rémunération nette de cotisations + titre: Salaire net de cotisations type: rémunération unité: € période: flexible @@ -1170,6 +1136,29 @@ somme: - indemnité kilométrique vélo - prime d'impatriation + - heures supplémentaires défiscalisées + - cotisations . salariales . réduction heures supplémentaires + références: + DSN: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110 + +- espace: contrat salarié . rémunération . net imposable + nom: heures supplémentaires défiscalisées + période: flexible + unité: € + formule: + le minimum de: + - plafond brut + - heures supplémentaires + références: + DSN: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110 + +- espace: contrat salarié . rémunération . net imposable . heures supplémentaires défiscalisées + nom: plafond brut + unité: € + période: année + formule: 5358 + références: + DSN: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110 - espace: contrat salarié . rémunération . net imposable nom: base @@ -1194,7 +1183,7 @@ références: Article 155B du Code général des impôts: https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006069577&idArticle=LEGIARTI000006307476&dateTexte=&categorieLien=cid -- espace: contrat salarié . salaire +- espace: contrat salarié . rémunération nom: net titre: Salaire net type: salaire @@ -1210,7 +1199,7 @@ période: flexible formule: rémunération . net de cotisations - avantages en nature . montant -- espace: contrat salarié . salaire +- espace: contrat salarié . rémunération nom: net après impôt titre: Salaire net après impôt résumé: Versé sur le compte bancaire @@ -1614,6 +1603,40 @@ 1: 0% retourne seulement le taux: oui +- espace: contrat salarié . cotisations . salariales + nom: réduction heures supplémentaires + cotisation: + branche: retraite + aide: + type: réduction de cotisations + unité: € + période: flexible + formule: + 0 - rémunération . heures supplémentaires * taux des cotisations réduites + # multiplication: + # assiette: rémunération . heures supplémentaires + # taux: taux des cotisations réduites + références: + Code de la sécurité sociale - Article D241-21: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000038056813&cidTexte=LEGITEXT000006073189 + urssaf: https://www.urssaf.fr/portail/home/employeur/beneficier-dune-exoneration/exonerations-generales/la-reduction-de-cotisations-sala/modalites-de-calcul-et-de-declar.html + Circulaire DSS/5B/2019/71: http://circulaire.legifrance.gouv.fr/pdf/2019/04/cir_44492.pdf + +- espace: contrat salarié . cotisations . salariales . réduction heures supplémentaires + nom: taux des cotisations réduites + période: aucune + unité: '%' + description: le taux effectif des cotisations d'assurance vieillesse à la charge du salarié + formule: + le minimum de: + - 11.31% + - multiplication: + assiette: + somme: + - vieillesse [salarié] + - retraite complémentaire [salarié] + - contribution d'équilibre général [salarié] + facteur: 1 / assiette + - espace: contrat salarié . rémunération nom: total sans réduction période: flexible @@ -1846,7 +1869,6 @@ - 100% unité: '%' - - espace: contrat salarié . temps de travail description: Toute heure de travail accomplie, à la demande de l'employeur, au-delà de la durée légale de 35 heures (ou de la durée équivalente) est une heure supplémentaire. Les heures supplémentaires ouvrent droit à une rémunération plus favorable (taux horaire majoré) au salarié. nom: heures supplémentaires @@ -1859,6 +1881,11 @@ aucune: 0 39h / semaine: 17.33 42h / semaine: 30.33 + contrôles: + - si: heures supplémentaires > 190.66 + niveau: avertissement + message: La durée hebdomadaire moyenne de travail en France ne peut pas dépasser 44h / semaine + références: service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F2391 @@ -2353,19 +2380,20 @@ - espace: contrat salarié note: Cette assiette est complexe, cette version n'est qu'une simplification. - nom: assiette CSG + nom: assiette CSG et CRDS période: flexible références: calcul: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-csg-crds/les-revenus-salariaux-soumis-a-l.html abattement: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-csg-crds/abattement-et-deductions/les-revenus-exclus-de-labattemen.html + heures supplémentaires: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110 formule: somme: - - assiette CSG abattue + - assiette abattue - prévoyance obligatoire cadre - complémentaire santé [employeur] -- espace: contrat salarié - nom: assiette CSG abattue +- espace: contrat salarié . assiette CSG et CRDS + nom: assiette abattue période: flexible formule: barème: @@ -2378,6 +2406,22 @@ - au-dessus de: 4 taux: 100% +- espace: contrat salarié . CSG + nom: assiette heures supplémentaires défiscalisées + période: flexible + formule: + multiplication: + assiette: rémunération . net imposable . heures supplémentaires défiscalisées + taux: 98.25% + références: + DSN: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110 + +- espace: contrat salarié . CSG + nom: assiette CSG déductible + période: flexible + unité: € + formule: assiette CSG et CRDS - assiette heures supplémentaires défiscalisées + - espace: contrat salarié nom: CSG cotisation: @@ -2389,15 +2433,21 @@ période: flexible formule: multiplication: - assiette: assiette CSG composantes: - attributs: impôt sur le revenu: non déductible + assiette: assiette CSG et CRDS taux: 2.4% - - attributs: impôt sur le revenu: déductible + assiette: assiette CSG déductible taux: 6.8% + - attributs: + nom: heures supplémentaires défiscalisées + impôt sur le revenu: non déductible + assiette: assiette heures supplémentaires défiscalisées + taux: 6.8% + exemples: - nom: 'CSG cadre' situation: @@ -2410,6 +2460,8 @@ cotisations . assiette: 1500 complémentaire santé . forfait: 40 valeur attendue: 137.425 + références: + heures supplémentaires: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110 - espace: contrat salarié nom: CRDS @@ -2420,8 +2472,9 @@ période: flexible formule: multiplication: - assiette: assiette CSG + assiette: assiette CSG et CRDS taux: 0.5% + - espace: contrat salarié nom: FNAL titre: Contribution au Fonds National d’Aide au Logement @@ -2787,18 +2840,18 @@ exemples: - nom: non applicable par défaut situation: - salaire . brut de base: 2300 + rémunération . brut de base: 2300 valeur attendue: 0 - nom: association non lucrative unipersonnelle situation: entreprise . association non lucrative: oui - salaire . brut de base: 2300 + rémunération . brut de base: 2300 entreprise . effectif: 1 valeur attendue: 0 - nom: association non lucrative situation: entreprise . association non lucrative: oui - salaire . brut de base: 2300 + rémunération . brut de base: 2300 entreprise . effectif: 10 complémentaire santé . forfait: 0 valeur attendue: 48.1 @@ -3084,7 +3137,7 @@ Il s'agit du revenu net de cotisations et de charges, avant le paiement de l'impôt sur le revenu. formule: somme: - - contrat salarié . salaire . net + - contrat salarié . rémunération . net - indépendant . revenu net de cotisations - auto entrepreneur . revenu net de cotisations diff --git a/source/règles/cas-types.yaml b/source/règles/cas-types.yaml index e447f7fd8..ffe9c4ac1 100644 --- a/source/règles/cas-types.yaml +++ b/source/règles/cas-types.yaml @@ -1,33 +1,33 @@ - nom: CDI au salaire médian - situation: - contrat salarié . salaire . brut de base: 2300 + situation: + contrat salarié . rémunération . brut de base: 2300 - nom: CDI au SMIC - situation: - contrat salarié . salaire . brut de base: 1500 + situation: + contrat salarié . rémunération . brut de base: 1500 - nom: CDI au SMIC temps partiel 24h / semaine - situation: - contrat salarié . salaire . brut de base: 1030 + situation: + contrat salarié . rémunération . brut de base: 1030 contrat salarié . temps partiel: oui contrat salarié . temps partiel . heures par semaine: 24 - nom: CDI cadre salaire cadre médian - situation: - contrat salarié . salaire . brut de base: 3600 + situation: + contrat salarié . rémunération . brut de base: 3600 contrat salarié . statut cadre: oui - nom: CDD usage de 2 mois - situation: - contrat salarié . salaire . brut de base: 2300 + situation: + contrat salarié . rémunération . brut de base: 2300 contrat salarié . type de contrat: CDD contrat salarié . CDD . motif: 'classique . usage' contrat salarié . CDD . durée: 2 - nom: CDD accroissement d'activité de 1 an - situation: - contrat salarié . salaire . brut de base: 2300 + situation: + contrat salarié . rémunération . brut de base: 2300 contrat salarié . type de contrat: CDD contrat salarié . CDD . motif: 'classique . accroissement activité' contrat salarié . CDD . durée: 12 diff --git a/source/règles/externalized.yaml b/source/règles/externalized.yaml index c0e9c810f..54a59a511 100644 --- a/source/règles/externalized.yaml +++ b/source/règles/externalized.yaml @@ -547,7 +547,7 @@ contrat salarié . cotisations . assiette: contrat salarié . salaire: titre.en: salary titre.fr: salaire -contrat salarié . salaire . brut de base: +contrat salarié . rémunération . brut de base: titre.en: Gross salary titre.fr: Salaire brut de base résumé.en: Written in the employment contract @@ -611,7 +611,7 @@ contrat salarié . salaire . brut de base: message: > Le salaire mensuel saisi est élevé. Ne vous êtes-vous pas trompé de période de calcul ? -contrat salarié . salaire . brut de base . équivalent temps plein: +contrat salarié . rémunération . brut de base . équivalent temps plein: titre.en: Full-time equivalent gross salary titre.fr: Salaire brut équivalent temps plein résumé.en: Salary if hired on a full-time basis @@ -624,7 +624,7 @@ contrat salarié . salaire . brut de base . équivalent temps plein: suggestions.fr: salaire médian: 2300 SMIC: 1522 -contrat salarié . salaire . brut: +contrat salarié . rémunération . brut: titre.en: gross salary with benefits titre.fr: Salaire brut description.en: > @@ -633,9 +633,6 @@ contrat salarié . salaire . brut: description.fr: > Toutes les sommes versées au salarié sous forme monétaire en échange de son travail. -contrat salarié . rémunération . brut: - titre.en: Gross remuneration - titre.fr: Rémunération brute contrat salarié . avantages sociaux: description.en: >- These are the benefits paid by the employer. They are specific to the @@ -902,7 +899,7 @@ contrat salarié . prime d'impatriation: sur le revenu. titre.en: impatriation bonus titre.fr: prime d'impatriation -contrat salarié . salaire . net: +contrat salarié . rémunération . net: titre.en: Net salary titre.fr: Salaire net question.en: What is the net salary? @@ -927,7 +924,7 @@ contrat salarié . salaire . net: Cette somme peut varier en fonction de décisions politiques (augmentation ou diminution des cotisations) alors que le salaire brut est contractuel (pour le changer, il faut signer un avenant au contrat). -contrat salarié . salaire . net après impôt: +contrat salarié . rémunération . net après impôt: titre.en: Net salary after income tax titre.fr: Salaire net après impôt résumé.en: Transfered on the bank account diff --git a/source/règles/sasu.yaml b/source/règles/sasu.yaml index 6f73414d1..d3efabc9b 100644 --- a/source/règles/sasu.yaml +++ b/source/règles/sasu.yaml @@ -60,4 +60,4 @@ - nom: revenu net après impôt période: flexible - formule: contrat salarié . salaire . net après impôt + dividendes . net + formule: contrat salarié . rémunération . net après impôt + dividendes . net diff --git a/source/selectors/repartitionSelectors.js b/source/selectors/repartitionSelectors.js index dc94336f3..ce6f4aac8 100644 --- a/source/selectors/repartitionSelectors.js +++ b/source/selectors/repartitionSelectors.js @@ -110,7 +110,7 @@ const répartition = (analysis): ?Répartition => { ) const getRule = getRuleFromAnalysis(analysis), - salaireNet = getRule('contrat salarié . salaire . net'), + salaireNet = getRule('contrat salarié . rémunération . net'), salaireChargé = getRule('contrat salarié . rémunération . total'), réductionsDeCotisations = getRule( 'contrat salarié . cotisations . patronales . réductions de cotisations' diff --git a/source/sites/mon-entreprise.fr/pages/Documentation/ExampleSituations.js b/source/sites/mon-entreprise.fr/pages/Documentation/ExampleSituations.js index bac6beff7..873fbb64c 100644 --- a/source/sites/mon-entreprise.fr/pages/Documentation/ExampleSituations.js +++ b/source/sites/mon-entreprise.fr/pages/Documentation/ExampleSituations.js @@ -1,8 +1,8 @@ // Page listing the engine's currently implemented mecanisms and their tests +import { React, T } from 'Components' import withColours from 'Components/utils/withColours' import { analyseMany } from 'Engine/traverse' import { compose } from 'ramda' -import { React, T } from 'Components' import emoji from 'react-easy-emoji' import { connect } from 'react-redux' import examples from 'Règles/cas-types.yaml' @@ -53,7 +53,7 @@ const Example = compose( figures = [ total, do { - let dottedName = 'contrat salarié . salaire . brut de base' + let dottedName = 'contrat salarié . rémunération . brut de base' ;({ dottedName, nodeValue: situation[dottedName], diff --git a/test/bug-cotisations.test.js b/test/bug-cotisations.test.js index 46b238f37..9601f6c57 100644 --- a/test/bug-cotisations.test.js +++ b/test/bug-cotisations.test.js @@ -1,9 +1,9 @@ import { expect } from 'chai' +import dedent from 'dedent-js' import { enrichRule } from 'Engine/rules' +import { safeLoad } from 'js-yaml' import { rules as realRules } from '../source/engine/rules' import { analyse, analyseMany, parseAll } from '../source/engine/traverse' -import dedent from 'dedent-js' -import { safeLoad } from 'js-yaml' describe('bug-analyse-many', function() { it('complex inversion with composantes', () => { @@ -11,8 +11,8 @@ describe('bug-analyse-many', function() { - nom: net formule: brut - cotisations - nom: cotisations - formule: - somme: + formule: + somme: - cotisation a [salarié] - cotisation b @@ -27,7 +27,7 @@ describe('bug-analyse-many', function() { - attributs: dû par: salarié taux: 10% - + - nom: cotisation b formule: multiplication: @@ -79,7 +79,7 @@ describe('bug-analyse-many', function() { }[dottedName]) const rules = parseAll(realRules.map(enrichRule)) const targets = [ - 'contrat salarié . salaire . brut de base', + 'contrat salarié . rémunération . brut de base', 'contrat salarié . cotisations . salariales' ] const analyseManyValue = analyseMany(rules, targets)(situationSelector) diff --git a/test/generateQuestions.test.js b/test/generateQuestions.test.js index b979f003d..218836910 100644 --- a/test/generateQuestions.test.js +++ b/test/generateQuestions.test.js @@ -384,11 +384,11 @@ describe('nextSteps', function() { ({ 'contrat salarié': 'oui', 'contrat salarié . CDD': 'oui', - 'contrat salarié . salaire . brut de base': '2300' + 'contrat salarié . rémunération . brut de base': '2300' }[name]) let rules = parseAll(realRules.map(enrichRule)), - analysis = analyse(rules, 'contrat salarié . salaire . net')( + analysis = analyse(rules, 'contrat salarié . rémunération . net')( stateSelector ), result = collectMissingVariables(analysis.targets) diff --git a/test/inversion.test.js b/test/inversion.test.js index 603f1353c..20edcd3f4 100644 --- a/test/inversion.test.js +++ b/test/inversion.test.js @@ -218,11 +218,11 @@ describe('inversions', () => { }) it('should collect missing variables not too slowly', function() { let stateSelector = name => - ({ 'contrat salarié . salaire . net': '2300' }[name]) + ({ 'contrat salarié . rémunération . net': '2300' }[name]) let rules = parseAll(realRules.map(enrichRule)), analysis = analyseMany(rules, [ - 'contrat salarié . salaire . brut', + 'contrat salarié . rémunération . brut', 'contrat salarié . rémunération . total' ])(stateSelector) diff --git a/test/library.test.js b/test/library.test.js index aed9b6112..5707ce3aa 100644 --- a/test/library.test.js +++ b/test/library.test.js @@ -5,7 +5,7 @@ import sasuRules from '../source/règles/sasu.yaml' describe('library', function() { it('should evaluate one target with no input data', function() { - let target = 'contrat salarié . salaire . net' + let target = 'contrat salarié . rémunération . net' let value = Syso.evaluate(target, { 'contrat salarié': { salaire: { 'brut de base': 2300 } } }) @@ -33,13 +33,13 @@ describe('library', function() { formule: 1 - nom: ya période: flexible - formule: contrat salarié . salaire . net + yo + formule: contrat salarié . rémunération . net + yo ` let value = Syso.evaluate( 'ya', { - 'contrat salarié . salaire . brut de base': 2300 + 'contrat salarié . rémunération . brut de base': 2300 }, { extra: rules } ) @@ -57,7 +57,7 @@ describe('library', function() { ) let salaireNetAprèsImpôt = Syso.evaluate( - 'contrat salarié . salaire . net après impôt', + 'contrat salarié . rémunération . net après impôt', { 'contrat salarié': { rémunération: { total: salaireTotal } } } @@ -66,7 +66,7 @@ describe('library', function() { let [revenuDisponible, dividendes] = Syso.evaluate( ['revenu net après impôt', 'dividendes . net'], { - 'contrat salarié . salaire . net après impôt': salaireNetAprèsImpôt, + 'contrat salarié . rémunération . net après impôt': salaireNetAprèsImpôt, 'chiffre affaires': CA }, { extra: sasuRules } diff --git a/test/rules.test.js b/test/rules.test.js index 7840bb0d0..a6d8ae7ed 100644 --- a/test/rules.test.js +++ b/test/rules.test.js @@ -107,7 +107,7 @@ describe('misc', function() { let pathMap = nestedSituationToPathMap(values) expect(pathMap).to.have.property( - 'contrat salarié . salaire . brut de base', + 'contrat salarié . rémunération . brut de base', '2300' ) })