@socialgouv/modeles-social 4.89.0 → 4.90.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +1 -0
- package/CHANGELOG.md +15 -0
- package/jest.config.js +2 -1
- package/jest.setup.ts +7 -0
- package/package.json +7 -4
- package/src/__test__/common/check-description-question.spec.ts +2 -2
- package/src/__test__/common/check-rule-title.spec.ts +2 -2
- package/src/__test__/common/extract-implemented-cc.spec.ts +2 -2
- package/src/__test__/common/legal-references.ts +24 -4
- package/src/__test__/common/publicode-matcher.ts +1 -1
- package/src/index.ts +3 -2
- package/src/internal/build.ts +25 -8
- package/src/internal/constants.ts +3 -0
- package/src/internal/extractSupportedCc.ts +6 -1
- package/src/internal/merger.ts +55 -7
- package/src/modeles/base/__tests__/indemnite-licenciement/anciennete.spec.ts +75 -0
- package/src/modeles/base/__tests__/indemnite-licenciement/formule.spec.ts +36 -0
- package/src/modeles/base/__tests__/indemnite-licenciement/indemnite.spec.ts +103 -0
- package/src/modeles/base/__tests__/indemnite-licenciement/references.spec.ts +54 -0
- package/src/modeles/base/__tests__/indemnite-licenciement/salaire-ref.spec.ts +77 -0
- package/src/modeles/base/__tests__/preavis-retraite/depart-mise.spec.ts +53 -0
- package/src/{__test__/common/legal → modeles/base/__tests__}/preavis-retraite/references.spec.ts +10 -15
- package/src/modeles/base/__tests__/travailleur-handicape/preavis-retraite/depart-mise.spec.ts +91 -0
- package/src/{__test__/common → modeles/base/__tests__}/travailleur-handicape/preavis-retraite/references.spec.ts +11 -16
- package/src/modeles/base/common.yaml +4 -20
- package/src/modeles/base/indemnite-licenciement.yaml +159 -37
- package/src/modeles/base/index.ts +2 -0
- package/src/modeles/base/preavis-retraite.yaml +29 -24
- package/src/modeles/base/salary.ts +45 -0
- package/src/modeles/base/seniority.ts +37 -0
- package/src/modeles/common/factory/index.ts +2 -0
- package/src/modeles/common/factory/salary.ts +48 -0
- package/src/modeles/common/factory/seniority.ts +63 -0
- package/src/modeles/common/index.ts +6 -0
- package/src/modeles/common/motif-keys.ts +13 -0
- package/src/modeles/common/seniority.ts +67 -0
- package/src/modeles/common/supported-agreements.ts +34 -0
- package/src/modeles/common/types/index.ts +3 -0
- package/src/modeles/common/types/salary.ts +48 -0
- package/src/modeles/common/types/seniority.ts +55 -0
- package/src/modeles/common/utils/__tests__/accumulate-absence-by-year.ts +27 -0
- package/src/modeles/common/utils/__tests__/array.test.ts +12 -0
- package/src/modeles/common/utils/__tests__/data/formule_avec_annotations.yaml +16 -0
- package/src/modeles/common/utils/__tests__/data/formule_avec_non_applicable.yaml +35 -0
- package/src/modeles/common/utils/__tests__/data/formule_avec_zero.yaml +20 -0
- package/src/modeles/common/utils/__tests__/data/formule_flag_$formule.yaml +26 -0
- package/src/modeles/common/utils/__tests__/data/formule_plusieurs_regles_actives.yaml +28 -0
- package/src/modeles/common/utils/__tests__/data/formule_plusieurs_regles_desactivees.yaml +26 -0
- package/src/modeles/common/utils/__tests__/data/formule_simple.yaml +14 -0
- package/src/modeles/common/utils/__tests__/data/formule_unite_manquante.yaml +14 -0
- package/src/modeles/common/utils/__tests__/date.spec.ts +63 -0
- package/src/{utils/__test__ → modeles/common/utils/__tests__}/extractMdxContentUrl.test.ts +1 -1
- package/src/modeles/common/utils/__tests__/formula.utils.spec.ts +72 -0
- package/src/modeles/common/utils/__tests__/formule.spec.ts +199 -0
- package/src/modeles/common/utils/__tests__/references.test.ts +62 -0
- package/src/modeles/common/utils/__tests__/split-by-seniority-year.test.ts +50 -0
- package/src/modeles/common/utils/__tests__/split-twelve-month-rolling.test.ts +121 -0
- package/src/modeles/common/utils/array.ts +12 -0
- package/src/{utils → modeles/common/utils}/ccn-supported.json +0 -0
- package/src/modeles/common/utils/common.ts +23 -0
- package/src/{utils → modeles/common/utils}/constants.ts +2 -0
- package/src/modeles/common/utils/date.ts +123 -0
- package/src/modeles/common/utils/formula.ts +161 -0
- package/src/{utils → modeles/common/utils}/global.ts +0 -0
- package/src/modeles/common/utils/index.ts +9 -0
- package/src/modeles/common/utils/notifications.ts +76 -0
- package/src/{utils → modeles/common/utils}/references.ts +13 -3
- package/src/modeles/common/utils/seniority.ts +136 -0
- package/src/{__test__/1043-concierge → modeles/conventions/1043_gardien_concierge/__tests__}/preavis-retraite/depart-mise.spec.ts +21 -23
- package/src/{__test__/1043-concierge → modeles/conventions/1043_gardien_concierge/__tests__}/preavis-retraite/references.spec.ts +21 -28
- package/src/modeles/conventions/1043_gardien_concierge/common.yaml +9 -0
- package/src/modeles/conventions/{1043_gardien_concierge.yaml → 1043_gardien_concierge/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/1090_automobiles/__tests__/indemnite-licenciement/anciennete.spec.ts +96 -0
- package/src/modeles/conventions/1090_automobiles/__tests__/indemnite-licenciement/formule.spec.ts +34 -0
- package/src/modeles/conventions/1090_automobiles/__tests__/indemnite-licenciement/indemnite.spec.ts +41 -0
- package/src/modeles/conventions/1090_automobiles/__tests__/indemnite-licenciement/notifications.spec.ts +62 -0
- package/src/modeles/conventions/1090_automobiles/__tests__/indemnite-licenciement/references.spec.ts +47 -0
- package/src/{__test__/1090-automobile → modeles/conventions/1090_automobiles/__tests__}/preavis-retraite/depart.spec.ts +29 -31
- package/src/{__test__/1090-automobile → modeles/conventions/1090_automobiles/__tests__}/preavis-retraite/mise.spec.ts +27 -29
- package/src/{__test__/1090-automobile → modeles/conventions/1090_automobiles/__tests__}/preavis-retraite/references.spec.ts +13 -18
- package/src/modeles/conventions/1090_automobiles/common.yaml +9 -0
- package/src/modeles/conventions/1090_automobiles/indemnite-licenciement.yaml +21 -0
- package/src/modeles/conventions/1090_automobiles/index.ts +1 -0
- package/src/modeles/conventions/{1090_automobiles.yaml → 1090_automobiles/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/1090_automobiles/seniority.ts +106 -0
- package/src/{__test__/1147-cabinets-medicaux → modeles/conventions/1147_cabinets_medicaux/__tests__}/preavis-retraite/depart-mise.spec.ts +41 -48
- package/src/{__test__/1147-cabinets-medicaux → modeles/conventions/1147_cabinets_medicaux/__tests__}/preavis-retraite/references.spec.ts +12 -17
- package/src/modeles/conventions/1147_cabinets_medicaux/common.yaml +9 -0
- package/src/modeles/conventions/{1147_cabinets_medicaux.yaml → 1147_cabinets_medicaux/preavis-retraite.yaml} +3 -12
- package/src/{__test__/1266-restauration-collectivit/303/251s → modeles/conventions/1266_restauration_collectivites/__tests__}/preavis-retraite/depart-mise.spec.ts +20 -22
- package/src/{__test__/1266-restauration-collectivit/303/251s → modeles/conventions/1266_restauration_collectivites/__tests__}/preavis-retraite/references.spec.ts +12 -17
- package/src/modeles/conventions/1266_restauration_collectivites/common.yaml +9 -0
- package/src/modeles/conventions/{1266_restauration_collectivites.yaml → 1266_restauration_collectivites/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/1351_prevention_secu_ent/__tests__/indemnite-licenciement/anciennete.spec.ts +32 -0
- package/src/modeles/conventions/1351_prevention_secu_ent/__tests__/indemnite-licenciement/formule.spec.ts +33 -0
- package/src/modeles/conventions/1351_prevention_secu_ent/__tests__/indemnite-licenciement/indemnite.spec.ts +33 -0
- package/src/{__test__/1351-prevention-secu-ent → modeles/conventions/1351_prevention_secu_ent/__tests__}/preavis-retraite/depart-mise.spec.ts +18 -20
- package/src/{__test__/1351-prevention-secu-ent → modeles/conventions/1351_prevention_secu_ent/__tests__}/preavis-retraite/references.spec.ts +11 -16
- package/src/modeles/conventions/1351_prevention_secu_ent/common.yaml +9 -0
- package/src/modeles/conventions/1351_prevention_secu_ent/indemnite-licenciement.yaml +10 -0
- package/src/modeles/conventions/{1351_prevention_secu_ent.yaml → 1351_prevention_secu_ent/preavis-retraite.yaml} +0 -9
- package/src/{__test__/1404-sedima → modeles/conventions/1404_sedima/__tests__}/preavis-retraite/depart-mise.spec.ts +91 -82
- package/src/modeles/conventions/1404_sedima/common.yaml +11 -0
- package/src/modeles/conventions/{1404_sedima.yaml → 1404_sedima/preavis-retraite.yaml} +0 -11
- package/src/{__test__/1480-journalisme → modeles/conventions/1480_journalisme/__tests__}/preavis-retraite/depart-mise.spec.ts +10 -12
- package/src/{__test__/1480-journalisme → modeles/conventions/1480_journalisme/__tests__}/preavis-retraite/references.spec.ts +11 -16
- package/src/modeles/conventions/{1480_journalisme.yaml → 1480_journalisme/common.yaml} +1 -10
- package/src/modeles/conventions/1480_journalisme/preavis-retraite.yaml +9 -0
- package/src/{__test__/1483-habillement-textiles-commerce-de-detail → modeles/conventions/1483_habillement_textiles_commerce_de_detail/__tests__}/preavis-retraite/depart-mise.spec.ts +41 -50
- package/src/{__test__/1483-habillement-textiles-commerce-de-detail → modeles/conventions/1483_habillement_textiles_commerce_de_detail/__tests__}/preavis-retraite/references.spec.ts +11 -16
- package/src/modeles/conventions/1483_habillement_textiles_commerce_de_detail/common.yaml +9 -0
- package/src/modeles/conventions/{1483_habillement_textiles_commerce_de_detail.yaml → 1483_habillement_textiles_commerce_de_detail/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/__tests__/indemnite-licenciement/anciennete.spec.ts +50 -0
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/__tests__/indemnite-licenciement/formule.spec.ts +77 -0
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/__tests__/indemnite-licenciement/indemnite.spec.ts +95 -0
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/__tests__/indemnite-licenciement/references.spec.ts +109 -0
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/__tests__/indemnite-licenciement/salaire-ref.spec.ts +31 -0
- package/src/{__test__/1486-bureaux-etudes → modeles/conventions/1486_bureaux_etudes_techniques/__tests__}/preavis-retraite/depart-mise.spec.ts +24 -26
- package/src/{__test__/1486-bureaux-etudes → modeles/conventions/1486_bureaux_etudes_techniques/__tests__}/preavis-retraite/references.spec.ts +18 -25
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/common.yaml +9 -0
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/indemnite-licenciement.yaml +182 -0
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/index.ts +2 -0
- package/src/modeles/conventions/{1486_bureaux_etudes_techniques.yaml → 1486_bureaux_etudes_techniques/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/salary.ts +66 -0
- package/src/modeles/conventions/1486_bureaux_etudes_techniques/seniority.ts +67 -0
- package/src/modeles/conventions/1501_restauration_rapide/__tests__/indemnite-licenciement/formule.spec.ts +81 -0
- package/src/modeles/conventions/1501_restauration_rapide/__tests__/indemnite-licenciement/indemnite.spec.ts +85 -0
- package/src/modeles/conventions/1501_restauration_rapide/__tests__/indemnite-licenciement/references.spec.ts +61 -0
- package/src/{__test__/1501-restauration-rapide → modeles/conventions/1501_restauration_rapide/__tests__}/preavis-retraite/depart-mise.spec.ts +37 -40
- package/src/modeles/conventions/1501_restauration_rapide/common.yaml +9 -0
- package/src/modeles/conventions/1501_restauration_rapide/indemnite-licenciement.yaml +323 -0
- package/src/modeles/conventions/{1501_restauration_rapide.yaml → 1501_restauration_rapide/preavis-retraite.yaml} +0 -9
- package/src/{__test__/1505-commerce-detail-fruits-legumes → modeles/conventions/1505_commerces_detail_fruits_legumes/__tests__}/preavis-retraite/depart-mise.spec.ts +45 -55
- package/src/modeles/conventions/1505_commerces_detail_fruits_legumes/common.yaml +8 -0
- package/src/modeles/conventions/{1505_commerces_detail_fruits_legumes.yaml → 1505_commerces_detail_fruits_legumes/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/1516_organismes_formation/__tests__/indemnite-licenciement/formule.spec.ts +36 -0
- package/src/modeles/conventions/1516_organismes_formation/__tests__/indemnite-licenciement/indemnite.spec.ts +34 -0
- package/src/modeles/conventions/1516_organismes_formation/__tests__/indemnite-licenciement/references.spec.ts +42 -0
- package/src/modeles/conventions/1516_organismes_formation/__tests__/indemnite-licenciement/salaire-ref.spec.ts +92 -0
- package/src/modeles/conventions/1516_organismes_formation/__tests__/preavis-retraite/depart-mise.spec.ts +95 -0
- package/src/modeles/conventions/1516_organismes_formation/common.yaml +8 -0
- package/src/modeles/conventions/1516_organismes_formation/indemnite-licenciement.yaml +60 -0
- package/src/modeles/conventions/1516_organismes_formation/index.ts +1 -0
- package/src/modeles/conventions/{1516_organismes_formation.yaml → 1516_organismes_formation/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/1516_organismes_formation/salary.ts +54 -0
- package/src/modeles/conventions/1517_commerces_de_detail_non_alimentaires/__tests__/indemnite-licenciement/anciennete.spec.ts +54 -0
- package/src/modeles/conventions/1517_commerces_de_detail_non_alimentaires/__tests__/indemnite-licenciement/formule.spec.ts +34 -0
- package/src/modeles/conventions/1517_commerces_de_detail_non_alimentaires/__tests__/indemnite-licenciement/indemnite.spec.ts +37 -0
- package/src/modeles/conventions/1517_commerces_de_detail_non_alimentaires/__tests__/indemnite-licenciement/references.spec.ts +42 -0
- package/src/{__test__/1517-commerce-detail-non-alimentaire → modeles/conventions/1517_commerces_de_detail_non_alimentaires/__tests__}/preavis-retraite/depart-mise.spec.ts +28 -33
- package/src/modeles/conventions/1517_commerces_de_detail_non_alimentaires/common.yaml +8 -0
- package/src/modeles/conventions/1517_commerces_de_detail_non_alimentaires/indemnite-licenciement.yaml +73 -0
- package/src/modeles/conventions/1517_commerces_de_detail_non_alimentaires/index.ts +1 -0
- package/src/modeles/conventions/{1517_commerces_de_detail_non_alimentaires.yaml → 1517_commerces_de_detail_non_alimentaires/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/1517_commerces_de_detail_non_alimentaires/seniority.ts +22 -0
- package/src/modeles/conventions/1518_education_loisirs/__tests__/indemnite-licenciement/anciennete.spec.ts +32 -0
- package/src/modeles/conventions/1518_education_loisirs/__tests__/indemnite-licenciement/formule.spec.ts +35 -0
- package/src/modeles/conventions/1518_education_loisirs/__tests__/indemnite-licenciement/indemnite.spec.ts +37 -0
- package/src/modeles/conventions/1518_education_loisirs/__tests__/indemnite-licenciement/references.spec.ts +47 -0
- package/src/{__test__/1518-education-loisirs → modeles/conventions/1518_education_loisirs/__tests__}/preavis-retraite/depart-mise.spec.ts +33 -38
- package/src/modeles/conventions/1518_education_loisirs/common.yaml +8 -0
- package/src/modeles/conventions/1518_education_loisirs/indemnite-licenciement.yaml +11 -0
- package/src/modeles/conventions/1518_education_loisirs/index.ts +1 -0
- package/src/modeles/conventions/{1518_education_loisirs.yaml → 1518_education_loisirs/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/1518_education_loisirs/seniority.ts +20 -0
- package/src/modeles/conventions/1527_immobilier/__tests__/indemnite-licenciement/anciennete.spec.ts +34 -0
- package/src/modeles/conventions/1527_immobilier/__tests__/indemnite-licenciement/formule.spec.ts +32 -0
- package/src/modeles/conventions/1527_immobilier/__tests__/indemnite-licenciement/indemnite.spec.ts +35 -0
- package/src/modeles/conventions/1527_immobilier/__tests__/indemnite-licenciement/references.spec.ts +57 -0
- package/src/modeles/conventions/1527_immobilier/__tests__/indemnite-licenciement/salaire-ref.spec.ts +73 -0
- package/src/{__test__/1527-immobilier → modeles/conventions/1527_immobilier/__tests__}/preavis-retraite/depart-mise.spec.ts +29 -34
- package/src/modeles/conventions/1527_immobilier/common.yaml +8 -0
- package/src/modeles/conventions/1527_immobilier/indemnite-licenciement.yaml +13 -0
- package/src/modeles/conventions/1527_immobilier/index.ts +2 -0
- package/src/modeles/conventions/{1527_immobilier.yaml → 1527_immobilier/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/1527_immobilier/salary.ts +37 -0
- package/src/modeles/conventions/1527_immobilier/seniority.ts +106 -0
- package/src/modeles/conventions/1596_batiment_ouvriers_employes/__tests__/indemnite-licenciement/formule.spec.ts +39 -0
- package/src/modeles/conventions/1596_batiment_ouvriers_employes/__tests__/indemnite-licenciement/indemnite.spec.ts +82 -0
- package/src/modeles/conventions/1596_batiment_ouvriers_employes/__tests__/indemnite-licenciement/references.spec.ts +89 -0
- package/src/{__test__/1596-batiment-ouvriers-employes → modeles/conventions/1596_batiment_ouvriers_employes/__tests__}/preavis-retraite/depart-mise.spec.ts +16 -20
- package/src/modeles/conventions/1596_batiment_ouvriers_employes/common.yaml +8 -0
- package/src/modeles/conventions/1596_batiment_ouvriers_employes/indemnite-licenciement.yaml +179 -0
- package/src/modeles/conventions/{1596_batiment_ouvriers_employes.yaml → 1596_batiment_ouvriers_employes/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/1597_batiment_employes_ouvriers_bis/__tests__/indemnite-licenciement/formule.spec.ts +38 -0
- package/src/modeles/conventions/1597_batiment_employes_ouvriers_bis/__tests__/indemnite-licenciement/indemnite.spec.ts +83 -0
- package/src/modeles/conventions/1597_batiment_employes_ouvriers_bis/__tests__/indemnite-licenciement/references.spec.ts +85 -0
- package/src/{__test__/1597-employes-ouvriers-bis → modeles/conventions/1597_batiment_employes_ouvriers_bis/__tests__}/preavis-retraite/depart-mise.spec.ts +16 -20
- package/src/modeles/conventions/1597_batiment_employes_ouvriers_bis/common.yaml +8 -0
- package/src/modeles/conventions/1597_batiment_employes_ouvriers_bis/indemnite-licenciement.yaml +204 -0
- package/src/modeles/conventions/{1597_batiment_employes_ouvriers_bis.yaml → 1597_batiment_employes_ouvriers_bis/preavis-retraite.yaml} +0 -8
- package/src/{__test__/1606-bricolage → modeles/conventions/1606_bricolage/__tests__}/preavis-retraite/depart-mise.spec.ts +46 -51
- package/src/modeles/conventions/1606_bricolage/common.yaml +8 -0
- package/src/modeles/conventions/{1606_bricolage.yaml → 1606_bricolage/preavis-retraite.yaml} +0 -11
- package/src/{__test__/1672-societes-assurances → modeles/conventions/1672_societes_assurances/__tests__}/preavis-retraite/depart-mise.spec.ts +29 -34
- package/src/modeles/conventions/1672_societes_assurances/common.yaml +8 -0
- package/src/modeles/conventions/{1672_societes_assurances.yaml → 1672_societes_assurances/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/16_transports_routiers/__tests__/indemnite-licenciement/anciennete.spec.ts +72 -0
- package/src/modeles/conventions/16_transports_routiers/__tests__/indemnite-licenciement/formule.spec.ts +285 -0
- package/src/modeles/conventions/16_transports_routiers/__tests__/indemnite-licenciement/indemnite.spec.ts +293 -0
- package/src/modeles/conventions/16_transports_routiers/__tests__/indemnite-licenciement/missing-args.spec.ts +223 -0
- package/src/modeles/conventions/16_transports_routiers/__tests__/indemnite-licenciement/references.spec.ts +253 -0
- package/src/modeles/conventions/16_transports_routiers/__tests__/indemnite-licenciement/salaire-ref.spec.ts +244 -0
- package/src/{__test__/16-transports-routiers → modeles/conventions/16_transports_routiers/__tests__}/preavis-retraite/depart-mise.spec.ts +63 -69
- package/src/{__test__/16-transports-routiers → modeles/conventions/16_transports_routiers/__tests__}/preavis-retraite/references.spec.ts +14 -18
- package/src/modeles/conventions/16_transports_routiers/common.yaml +1 -45
- package/src/modeles/conventions/16_transports_routiers/indemnite-licenciement.yaml +593 -0
- package/src/modeles/conventions/16_transports_routiers/index.ts +2 -0
- package/src/modeles/conventions/16_transports_routiers/preavis-retraite.yaml +45 -0
- package/src/modeles/conventions/16_transports_routiers/salary.ts +87 -0
- package/src/modeles/conventions/16_transports_routiers/seniority.ts +126 -0
- package/src/modeles/conventions/1702_ouvriers_travaux_public/__tests__/indemnite-licenciement/formule.spec.ts +64 -0
- package/src/modeles/conventions/1702_ouvriers_travaux_public/__tests__/indemnite-licenciement/indemnite.spec.ts +72 -0
- package/src/modeles/conventions/1702_ouvriers_travaux_public/__tests__/indemnite-licenciement/references.spec.ts +44 -0
- package/src/modeles/conventions/1702_ouvriers_travaux_public/__tests__/indemnite-licenciement/salaire-ref.spec.ts +82 -0
- package/src/{__test__/1702-ouvriers-travaux-public → modeles/conventions/1702_ouvriers_travaux_public/__tests__}/preavis-retraite/depart-mise.spec.ts +27 -32
- package/src/modeles/conventions/1702_ouvriers_travaux_public/common.yaml +8 -0
- package/src/modeles/conventions/1702_ouvriers_travaux_public/indemnite-licenciement.yaml +108 -0
- package/src/modeles/conventions/1702_ouvriers_travaux_public/index.ts +1 -0
- package/src/modeles/conventions/{1702_ouvriers_travaux_public.yaml → 1702_ouvriers_travaux_public/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/1702_ouvriers_travaux_public/salary.ts +44 -0
- package/src/{__test__/1740-batiment-ouvriers-parisien → modeles/conventions/1740_batiment_region_parisienne/__tests__}/depart-mise.spec.ts +41 -51
- package/src/modeles/conventions/1740_batiment_region_parisienne/common.yaml +8 -0
- package/src/modeles/conventions/{1740_batiment_region_parisienne.yaml → 1740_batiment_region_parisienne/preavis-retraite.yaml} +0 -8
- package/src/{__test__/176-industrie-pharmaceutique → modeles/conventions/176_industrie_pharmaceutique/__tests__}/preavis-retraite/depart-mise.spec.ts +67 -79
- package/src/{__test__/176-industrie-pharmaceutique → modeles/conventions/176_industrie_pharmaceutique/__tests__}/preavis-retraite/references.spec.ts +37 -43
- package/src/modeles/conventions/176_industrie_pharmaceutique/common.yaml +9 -0
- package/src/modeles/conventions/{176_industrie_pharmaceutique.yaml → 176_industrie_pharmaceutique/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/1979_hotels_cafes_restaurants/__tests__/indemnite-licenciement/formule.spec.ts +34 -0
- package/src/modeles/conventions/1979_hotels_cafes_restaurants/__tests__/indemnite-licenciement/indemnite.spec.ts +38 -0
- package/src/modeles/conventions/1979_hotels_cafes_restaurants/__tests__/indemnite-licenciement/references.spec.ts +42 -0
- package/src/{__test__/1979-hotels-cafes-restaurants → modeles/conventions/1979_hotels_cafes_restaurants/__tests__}/preavis-retraite/depart-mise.spec.ts +35 -38
- package/src/modeles/conventions/1979_hotels_cafes_restaurants/common.yaml +8 -0
- package/src/modeles/conventions/1979_hotels_cafes_restaurants/indemnite-licenciement.yaml +70 -0
- package/src/modeles/conventions/{1979_hotels_cafes_restaurants.yaml → 1979_hotels_cafes_restaurants/preavis-retraite.yaml} +0 -8
- package/src/{__test__/1996-pharmacie → modeles/conventions/1996_pharmacie/__tests__}/preavis-retraite/depart-mise.spec.ts +60 -64
- package/src/modeles/conventions/1996_pharmacie/common.yaml +7 -0
- package/src/modeles/conventions/{1996_pharmacie.yaml → 1996_pharmacie/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/__tests__/indemnite-licenciement/anciennete.spec.ts +28 -0
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/__tests__/indemnite-licenciement/formule.spec.ts +110 -0
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/__tests__/indemnite-licenciement/indemnite.spec.ts +119 -0
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/__tests__/indemnite-licenciement/missing-var.spec.ts +77 -0
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/__tests__/indemnite-licenciement/references.spec.ts +109 -0
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/__tests__/indemnite-licenciement/salaire-ref.spec.ts +58 -0
- package/src/{__test__/2098-personnel-presta-service → modeles/conventions/2098_personnel_presta_service_tertiaire/__tests__}/preavis-retraite/depart-mise.spec.ts +29 -34
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/common.yaml +8 -0
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/indemnite-licenciement.yaml +272 -0
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/index.ts +2 -0
- package/src/modeles/conventions/{2098_personnel_presta_service_tertiaire.yaml → 2098_personnel_presta_service_tertiaire/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/salary.ts +33 -0
- package/src/modeles/conventions/2098_personnel_presta_service_tertiaire/seniority.ts +20 -0
- package/src/modeles/conventions/2120_banque/__tests__/preavis-retraite/depart-mise-retraite-banque.spec.ts +86 -0
- package/src/modeles/conventions/2120_banque/common.yaml +8 -0
- package/src/modeles/conventions/2120_banque/preavis-retraite.yaml +6 -0
- package/src/{__test__/2148-telecommunications → modeles/conventions/2148_telecommunications/__tests__}/preavis-retraite/depart-mise.spec.ts +69 -85
- package/src/modeles/conventions/2148_telecommunications/common.yaml +8 -0
- package/src/modeles/conventions/{2148_telecommunications.yaml → 2148_telecommunications/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/2216_commerces_detail_alimentation/__tests__/indemnite-licenciement/anciennete.spec.ts +48 -0
- package/src/modeles/conventions/2216_commerces_detail_alimentation/__tests__/indemnite-licenciement/formule.spec.ts +79 -0
- package/src/modeles/conventions/2216_commerces_detail_alimentation/__tests__/indemnite-licenciement/indemnite.spec.ts +113 -0
- package/src/modeles/conventions/2216_commerces_detail_alimentation/__tests__/indemnite-licenciement/r/303/251f/303/251rences.spec.ts +126 -0
- package/src/{__test__/2216-commerces-detail-alimentation → modeles/conventions/2216_commerces_detail_alimentation/__tests__}/preavis-retraite/depart-mise.spec.ts +26 -28
- package/src/{__test__/2216-commerces-detail-alimentation → modeles/conventions/2216_commerces_detail_alimentation/__tests__}/preavis-retraite/references.spec.ts +17 -24
- package/src/modeles/conventions/2216_commerces_detail_alimentation/common.yaml +9 -0
- package/src/modeles/conventions/2216_commerces_detail_alimentation/indemnite-licenciement.yaml +460 -0
- package/src/modeles/conventions/2216_commerces_detail_alimentation/index.ts +1 -0
- package/src/modeles/conventions/{2216_commerces_detail_alimentation.yaml → 2216_commerces_detail_alimentation/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/2216_commerces_detail_alimentation/seniority.ts +76 -0
- package/src/modeles/conventions/2264_hospitalisation_privees/__tests__/indemnite-licenciement/formula.spec.ts +76 -0
- package/src/modeles/conventions/2264_hospitalisation_privees/__tests__/indemnite-licenciement/indemnite.spec.ts +111 -0
- package/src/modeles/conventions/2264_hospitalisation_privees/__tests__/indemnite-licenciement/missing-args.spec.ts +109 -0
- package/src/modeles/conventions/2264_hospitalisation_privees/__tests__/indemnite-licenciement/references.spec.ts +110 -0
- package/src/{__test__/2264-hospitalisation-privee → modeles/conventions/2264_hospitalisation_privees/__tests__/preavis-retraite}/depart-mise.spec.ts +28 -33
- package/src/modeles/conventions/2264_hospitalisation_privees/common.yaml +8 -0
- package/src/modeles/conventions/2264_hospitalisation_privees/indemnite-licenciement.yaml +445 -0
- package/src/modeles/conventions/{2264_hospitalisation_privees.yaml → 2264_hospitalisation_privees/preavis-retraite.yaml} +0 -8
- package/src/{__test__/2420-batiment-cadres → modeles/conventions/2420_cadres_batiment/__tests__}/preavis-retraite/depart-mise.spec.ts +29 -34
- package/src/modeles/conventions/2420_cadres_batiment/common.yaml +8 -0
- package/src/modeles/conventions/{2420_cadres_batiment.yaml → 2420_cadres_batiment/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/2511_sport/__tests__/indemnite-licenciement/anciennete.spec.ts +43 -0
- package/src/modeles/conventions/2511_sport/__tests__/indemnite-licenciement/formule.spec.ts +32 -0
- package/src/modeles/conventions/2511_sport/__tests__/indemnite-licenciement/indemnite.spec.ts +35 -0
- package/src/modeles/conventions/2511_sport/__tests__/indemnite-licenciement/references.spec.ts +47 -0
- package/src/{__test__/2511-sport → modeles/conventions/2511_sport/__tests__}/preavis-retraite/depart-mise.spec.ts +29 -34
- package/src/modeles/conventions/2511_sport/common.yaml +31 -0
- package/src/modeles/conventions/2511_sport/indemnite-licenciement.yaml +70 -0
- package/src/modeles/conventions/2511_sport/index.ts +1 -0
- package/src/modeles/conventions/{2511_sport.yaml → 2511_sport/preavis-retraite.yaml} +0 -31
- package/src/modeles/conventions/2511_sport/seniority.ts +23 -0
- package/src/{__test__/2596-coiffure → modeles/conventions/2596_coiffure/__tests__}/preavis-retraite/depart-mise.spec.ts +54 -59
- package/src/modeles/conventions/2596_coiffure/common.yaml +8 -0
- package/src/modeles/conventions/{2596_coiffure.yaml → 2596_coiffure/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/2609_batiment_etam/__tests__/indemnite-licenciement/anciennete.spec.ts +30 -0
- package/src/modeles/conventions/2609_batiment_etam/__tests__/indemnite-licenciement/formule.spec.ts +48 -0
- package/src/modeles/conventions/2609_batiment_etam/__tests__/indemnite-licenciement/indemnite.spec.ts +60 -0
- package/src/modeles/conventions/2609_batiment_etam/__tests__/indemnite-licenciement/references.spec.ts +64 -0
- package/src/modeles/conventions/2609_batiment_etam/__tests__/indemnite-licenciement/salaire-ref.spec.ts +37 -0
- package/src/{__test__/2609-batiment-etam → modeles/conventions/2609_batiment_etam/__tests__}/preavis-retraite/depart-mise.spec.ts +18 -20
- package/src/{__test__/2609-batiment-etam → modeles/conventions/2609_batiment_etam/__tests__}/preavis-retraite/references.spec.ts +12 -17
- package/src/modeles/conventions/2609_batiment_etam/common.yaml +9 -0
- package/src/modeles/conventions/2609_batiment_etam/indemnite-licenciement.yaml +192 -0
- package/src/modeles/conventions/2609_batiment_etam/index.ts +2 -0
- package/src/modeles/conventions/{2609_batiment_etam.yaml → 2609_batiment_etam/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/2609_batiment_etam/salary.ts +29 -0
- package/src/modeles/conventions/2609_batiment_etam/seniority.ts +20 -0
- package/src/{__test__/2614-travaux-publics → modeles/conventions/2614_travaux_publics/__tests__}/preavis-retraite/depart-mise.spec.ts +29 -34
- package/src/modeles/conventions/2614_travaux_publics/common.yaml +8 -0
- package/src/modeles/conventions/{2614_travaux_publics.yaml → 2614_travaux_publics/preavis-retraite.yaml} +0 -8
- package/src/{__test__/275-transport-aerien-personnel-au-sol → modeles/conventions/275_transport_aerien_personnel_au_sol/__tests__}/preavis-retraite/depart-mise.spec.ts +18 -20
- package/src/{__test__/275-transport-aerien-personnel-au-sol → modeles/conventions/275_transport_aerien_personnel_au_sol/__tests__}/preavis-retraite/references.spec.ts +12 -17
- package/src/modeles/conventions/275_transport_aerien_personnel_au_sol/common.yaml +9 -0
- package/src/modeles/conventions/{275_transport_aerien_personnel_au_sol.yaml → 275_transport_aerien_personnel_au_sol/preavis-retraite.yaml} +0 -9
- package/src/{__test__/292-plasturgie → modeles/conventions/292_plasturgie/__tests__}/preavis-retraite/depart-mise.spec.ts +34 -36
- package/src/{__test__/292-plasturgie → modeles/conventions/292_plasturgie/__tests__}/preavis-retraite/references.spec.ts +25 -31
- package/src/modeles/conventions/292_plasturgie/common.yaml +9 -0
- package/src/modeles/conventions/{292_plasturgie.yaml → 292_plasturgie/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/__tests__/indemnite-licenciement/anciennete.spec.ts +34 -0
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/__tests__/indemnite-licenciement/formule.spec.ts +34 -0
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/__tests__/indemnite-licenciement/indemnite.spec.ts +36 -0
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/__tests__/indemnite-licenciement/notifications.spec.ts +23 -0
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/__tests__/indemnite-licenciement/references.spec.ts +47 -0
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/__tests__/preavis-retraite/depart-mise.spec.ts +87 -0
- package/src/{__test__/2941-aide-accompagnement-soins-services-domicile → modeles/conventions/2941_aide_accompagnement_soins_services_domicile/__tests__}/preavis-retraite/references.spec.ts +19 -26
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/common.yaml +8 -0
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/indemnite-licenciement.yaml +11 -0
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/index.ts +1 -0
- package/src/modeles/conventions/{2941_aide_accompagnement_soins_services_domicile.yaml → 2941_aide_accompagnement_soins_services_domicile/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/seniority.ts +95 -0
- package/src/modeles/conventions/29_hospitalisation_privee_but_non_lucratif/__tests__/indemnite-licenciement/formule.spec.ts +34 -0
- package/src/modeles/conventions/29_hospitalisation_privee_but_non_lucratif/__tests__/indemnite-licenciement/indemnite.spec.ts +95 -0
- package/src/modeles/conventions/29_hospitalisation_privee_but_non_lucratif/__tests__/indemnite-licenciement/references.spec.ts +85 -0
- package/src/modeles/conventions/29_hospitalisation_privee_but_non_lucratif/__tests__/indemnite-licenciement/salaire-ref.spec.ts +128 -0
- package/src/{__test__/29-hospitalisation-privee-but-non-lucratif → modeles/conventions/29_hospitalisation_privee_but_non_lucratif/__tests__}/preavis-retraite/depart.spec.ts +27 -32
- package/src/{__test__/29-hospitalisation-privee-but-non-lucratif → modeles/conventions/29_hospitalisation_privee_but_non_lucratif/__tests__}/preavis-retraite/mise.spec.ts +27 -32
- package/src/{__test__/29-hospitalisation-privee-but-non-lucratif → modeles/conventions/29_hospitalisation_privee_but_non_lucratif/__tests__}/preavis-retraite/references.spec.ts +12 -17
- package/src/modeles/conventions/29_hospitalisation_privee_but_non_lucratif/common.yaml +9 -0
- package/src/modeles/conventions/29_hospitalisation_privee_but_non_lucratif/indemnite-licenciement.yaml +54 -0
- package/src/modeles/conventions/29_hospitalisation_privee_but_non_lucratif/index.ts +1 -0
- package/src/modeles/conventions/{29_hospitalisation_privee_but_non_lucratif.yaml → 29_hospitalisation_privee_but_non_lucratif/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/29_hospitalisation_privee_but_non_lucratif/salary.ts +50 -0
- package/src/modeles/conventions/3043_entreprises_proprete/__tests__/indemnite-licenciement/anciennete.spec.ts +43 -0
- package/src/modeles/conventions/3043_entreprises_proprete/__tests__/indemnite-licenciement/formule.spec.ts +38 -0
- package/src/modeles/conventions/3043_entreprises_proprete/__tests__/indemnite-licenciement/indemnite.spec.ts +38 -0
- package/src/modeles/conventions/3043_entreprises_proprete/__tests__/indemnite-licenciement/references.spec.ts +43 -0
- package/src/{__test__/3043-entreprise-proprete → modeles/conventions/3043_entreprises_proprete/__tests__}/preavis-retraite/depart-mise.spec.ts +30 -32
- package/src/{__test__/3043-entreprise-proprete → modeles/conventions/3043_entreprises_proprete/__tests__}/preavis-retraite/references.spec.ts +11 -16
- package/src/modeles/conventions/3043_entreprises_proprete/common.yaml +9 -0
- package/src/modeles/conventions/3043_entreprises_proprete/indemnite-licenciement.yaml +137 -0
- package/src/modeles/conventions/3043_entreprises_proprete/index.ts +1 -0
- package/src/modeles/conventions/{3043_entreprises_proprete.yaml → 3043_entreprises_proprete/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/3043_entreprises_proprete/seniority.ts +14 -0
- package/src/modeles/conventions/3127_entreprises_services_a_la_personne/__tests__/indemnite-licenciement/anciennete.spec.ts +32 -0
- package/src/modeles/conventions/3127_entreprises_services_a_la_personne/__tests__/indemnite-licenciement/formule.spec.ts +33 -0
- package/src/modeles/conventions/3127_entreprises_services_a_la_personne/__tests__/indemnite-licenciement/indemnite.spec.ts +34 -0
- package/src/modeles/conventions/3127_entreprises_services_a_la_personne/__tests__/indemnite-licenciement/references.spec.ts +42 -0
- package/src/{__test__/3127-ent-services-personne → modeles/conventions/3127_entreprises_services_a_la_personne/__tests__}/preavis-retraite/depart-mise.spec.ts +37 -42
- package/src/modeles/conventions/3127_entreprises_services_a_la_personne/common.yaml +8 -0
- package/src/modeles/conventions/3127_entreprises_services_a_la_personne/indemnite-licenciement.yaml +65 -0
- package/src/modeles/conventions/{3127_entreprises_services_a_la_personne.yaml → 3127_entreprises_services_a_la_personne/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/__tests__/indemnite-licenciement/anciennete.spec.ts +42 -0
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/__tests__/indemnite-licenciement/formule.spec.ts +43 -0
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/__tests__/indemnite-licenciement/indemnite.spec.ts +77 -0
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/__tests__/indemnite-licenciement/notifications.spec.ts +149 -0
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/__tests__/indemnite-licenciement/r/303/251f/303/251rences.spec.ts +128 -0
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/__tests__/indemnite-licenciement/salaire-ref.spec.ts +31 -0
- package/src/{__test__/3239-particuliers-employeurs-domicile → modeles/conventions/3239_particuliers_employeurs_domicile/__tests__}/preavis-retraite/depart-mise.spec.ts +61 -73
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/common.yaml +9 -0
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/indemnite-licenciement.yaml +98 -0
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/index.ts +2 -0
- package/src/modeles/conventions/{3239_particuliers_employeurs_domicile.yaml → 3239_particuliers_employeurs_domicile/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/salary.ts +39 -0
- package/src/modeles/conventions/3239_particuliers_employeurs_domicile/seniority.ts +30 -0
- package/src/modeles/conventions/413_handicap/__tests__/indemnite-licenciement/anciennete.spec.ts +72 -0
- package/src/modeles/conventions/413_handicap/__tests__/indemnite-licenciement/formule.spec.ts +84 -0
- package/src/modeles/conventions/413_handicap/__tests__/indemnite-licenciement/indemnite.spec.ts +97 -0
- package/src/modeles/conventions/413_handicap/__tests__/indemnite-licenciement/references.spec.ts +109 -0
- package/src/modeles/conventions/413_handicap/__tests__/indemnite-licenciement/salaire-ref.spec.ts +25 -0
- package/src/{__test__/413-handicap → modeles/conventions/413_handicap/__tests__}/preavis-retraite/depart-mise.spec.ts +34 -41
- package/src/{__test__/413-handicap → modeles/conventions/413_handicap/__tests__}/preavis-retraite/references.spec.ts +12 -17
- package/src/modeles/conventions/413_handicap/common.yaml +9 -0
- package/src/modeles/conventions/413_handicap/indemnite-licenciement.yaml +230 -0
- package/src/modeles/conventions/413_handicap/index.ts +2 -0
- package/src/modeles/conventions/{413_handicap.yaml → 413_handicap/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/413_handicap/salary.ts +22 -0
- package/src/modeles/conventions/413_handicap/seniority.ts +125 -0
- package/src/modeles/conventions/44_industries_chimiques/__tests__/indemnite-licenciement/anciennete.spec.ts +294 -0
- package/src/modeles/conventions/44_industries_chimiques/__tests__/indemnite-licenciement/formule.spec.ts +372 -0
- package/src/modeles/conventions/44_industries_chimiques/__tests__/indemnite-licenciement/indemnite.spec.ts +350 -0
- package/src/modeles/conventions/44_industries_chimiques/__tests__/indemnite-licenciement/missing-var.spec.ts +130 -0
- package/src/modeles/conventions/44_industries_chimiques/__tests__/indemnite-licenciement/references.spec.ts +308 -0
- package/src/modeles/conventions/44_industries_chimiques/__tests__/indemnite-licenciement/salaire-ref.spec.ts +203 -0
- package/src/modeles/conventions/44_industries_chimiques/__tests__/preavis-retraite/depart-mise.spec.ts +135 -0
- package/src/{__test__/44-industries-chimiques → modeles/conventions/44_industries_chimiques/__tests__}/preavis-retraite/references.spec.ts +20 -26
- package/src/modeles/conventions/44_industries_chimiques/common.yaml +9 -0
- package/src/modeles/conventions/44_industries_chimiques/indemnite-licenciement.yaml +754 -0
- package/src/modeles/conventions/44_industries_chimiques/index.ts +2 -0
- package/src/modeles/conventions/{44_industries_chimiques.yaml → 44_industries_chimiques/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/44_industries_chimiques/salary.ts +75 -0
- package/src/modeles/conventions/44_industries_chimiques/seniority.ts +75 -0
- package/src/modeles/conventions/54_industries_metallurgiques_region_parisienne/__tests__/preavis-retraite/depart-mise.spec.ts +55 -0
- package/src/{__test__/54-industries-metallurgiques-region-parisienne → modeles/conventions/54_industries_metallurgiques_region_parisienne/__tests__}/preavis-retraite/references.spec.ts +11 -16
- package/src/modeles/conventions/54_industries_metallurgiques_region_parisienne/common.yaml +9 -0
- package/src/modeles/conventions/{54_industries_metallurgiques_region_parisienne.yaml → 54_industries_metallurgiques_region_parisienne/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/formule.spec.ts +124 -0
- package/src/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/indemnite.spec.ts +128 -0
- package/src/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/references.spec.ts +162 -0
- package/src/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/salaire-ref.spec.ts +32 -0
- package/src/{__test__/573-commerces-de-gros → modeles/conventions/573_commerces_de_gros/__tests__}/preavis-retraite/depart-mise.spec.ts +38 -45
- package/src/{__test__/573-commerces-de-gros → modeles/conventions/573_commerces_de_gros/__tests__}/preavis-retraite/references.spec.ts +12 -17
- package/src/modeles/conventions/573_commerces_de_gros/common.yaml +9 -0
- package/src/modeles/conventions/573_commerces_de_gros/indemnite-licenciement.yaml +414 -0
- package/src/modeles/conventions/573_commerces_de_gros/index.ts +1 -0
- package/src/modeles/conventions/{573_commerces_de_gros.yaml → 573_commerces_de_gros/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/573_commerces_de_gros/salary.ts +50 -0
- package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/anciennete.spec.ts +44 -0
- package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/formule.spec.ts +69 -0
- package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/indemnite.spec.ts +261 -0
- package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/notifications.spec.ts +219 -0
- package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/references.spec.ts +132 -0
- package/src/{__test__/650-metallurgie-ingenieurs-cadres → modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__}/preavis-retraite/depart-mise.spec.ts +32 -39
- package/src/{__test__/650-metallurgie-ingenieurs-cadres → modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__}/preavis-retraite/references.spec.ts +17 -24
- package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/common.yaml +9 -0
- package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/indemnite-licenciement.yaml +361 -0
- package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/index.ts +1 -0
- package/src/modeles/conventions/{650_metallurgie_ingenieurs_cadres.yaml → 650_metallurgie_ingenieurs_cadres/preavis-retraite.yaml} +0 -10
- package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/seniority.ts +14 -0
- package/src/{__test__/675-habillement-commerce-succursales → modeles/conventions/675_habillement_commerce_succursales/__tests__}/preavis-retraite/depart-mise.spec.ts +22 -24
- package/src/{__test__/675-habillement-commerce-succursales → modeles/conventions/675_habillement_commerce_succursales/__tests__}/preavis-retraite/references.spec.ts +12 -17
- package/src/modeles/conventions/675_habillement_commerce_succursales/common.yaml +9 -0
- package/src/modeles/conventions/{675_habillement_commerce_succursales.yaml → 675_habillement_commerce_succursales/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/787_comptables/__tests__/indemnite-licenciement/formule.spec.ts +33 -0
- package/src/modeles/conventions/787_comptables/__tests__/indemnite-licenciement/indemnite.spec.ts +35 -0
- package/src/modeles/conventions/787_comptables/__tests__/indemnite-licenciement/references.spec.ts +38 -0
- package/src/{__test__/787-comptables → modeles/conventions/787_comptables/__tests__}/preavis-retraite/depart-mise.spec.ts +18 -20
- package/src/{__test__/787-comptables → modeles/conventions/787_comptables/__tests__}/preavis-retraite/references.spec.ts +11 -16
- package/src/modeles/conventions/787_comptables/common.yaml +9 -0
- package/src/modeles/conventions/787_comptables/indemnite-licenciement.yaml +10 -0
- package/src/modeles/conventions/{787_comptables.yaml → 787_comptables/preavis-retraite.yaml} +0 -9
- package/src/modeles/conventions/843_boulangerie_patisserie/__tests__/indemnite-licenciement/formule.spec.ts +33 -0
- package/src/modeles/conventions/843_boulangerie_patisserie/__tests__/indemnite-licenciement/indemnite.spec.ts +35 -0
- package/src/modeles/conventions/843_boulangerie_patisserie/__tests__/indemnite-licenciement/references.spec.ts +38 -0
- package/src/{__test__/843-boulangerie-patisserie-entreprise-artisanales → modeles/conventions/843_boulangerie_patisserie/__tests__}/preavis-retraite/depart-mise.spec.ts +20 -22
- package/src/{__test__/843-boulangerie-patisserie-entreprise-artisanales → modeles/conventions/843_boulangerie_patisserie/__tests__}/preavis-retraite/references.spec.ts +12 -17
- package/src/modeles/conventions/843_boulangerie_patisserie/common.yaml +9 -0
- package/src/modeles/conventions/843_boulangerie_patisserie/indemnite-licenciement.yaml +10 -0
- package/src/modeles/conventions/{843_boulangerie_patisserie.yaml → 843_boulangerie_patisserie/preavis-retraite.yaml} +0 -9
- package/src/{__test__/86-publicite-fran/303/247aise → modeles/conventions/86_publicite_francaise/__tests__}/preavis-retraite/depart-mise.spec.ts +53 -74
- package/src/modeles/conventions/86_publicite_francaise/common.yaml +8 -0
- package/src/modeles/conventions/{86_publicite_francaise.yaml → 86_publicite_francaise/preavis-retraite.yaml} +0 -8
- package/src/modeles/conventions/index.ts +18 -0
- package/src/modeles/index.ts +2 -0
- package/src/modeles/modeles-indemnite-licenciement.json +8079 -0
- package/src/modeles/modeles-preavis-retraite.json +4834 -0
- package/src/publicodes/IndemniteLicenciementPublicodes.ts +10 -3
- package/src/publicodes/PreavisRetraitePublicodes.ts +4 -4
- package/src/publicodes/Publicodes.ts +3 -2
- package/src/publicodes/PublicodesBase.ts +31 -11
- package/src/publicodes/__tests__/PreavisRetraitePublicodes.test.ts +5 -14
- package/src/publicodes/types.ts +28 -7
- package/src/publicodes/utils/__tests__/preavis-retraite.test.ts +1 -1
- package/src/publicodes/utils/preavis-retraite.ts +1 -1
- package/src/simulators/preavis-licenciement/preavis-licenciement.data.json +3 -3
- package/tsconfig.json +2 -1
- package/types/index.d.ts +6 -0
- package/src/__test__/1516-organismes-formation/preavis-retraite/depart-mise.spec.ts +0 -100
- package/src/__test__/2120-banque/preavis-retraite/depart-mise-retraite-banque.spec.ts +0 -91
- package/src/__test__/2941-aide-accompagnement-soins-services-domicile/preavis-retraite/depart-mise.spec.ts +0 -87
- package/src/__test__/44-industries-chimiques/preavis-retraite/depart-mise.spec.ts +0 -137
- package/src/__test__/54-industries-metallurgiques-region-parisienne/preavis-retraite/depart-mise.spec.ts +0 -57
- package/src/__test__/common/legal/indemnite-licenciement/indemnite.spec.ts +0 -70
- package/src/__test__/common/legal/indemnite-licenciement/references.spec.ts +0 -65
- package/src/__test__/common/legal/preavis-retraite/depart-mise.spec.ts +0 -61
- package/src/__test__/common/travailleur-handicape/preavis-retraite/depart-mise.spec.ts +0 -105
- package/src/modeles/conventions/2120_banque.yaml +0 -14
- package/src/modeles/modeles.json +0 -3
- package/src/publicodes/utils/common.ts +0 -7
- package/src/publicodes/utils/index.ts +0 -2
- package/src/utils/index.ts +0 -4
- package/src/utils/notifications.ts +0 -20
package/.eslintignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
jest.setup.ts
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,21 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.90.1](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.90.0...v4.90.1) (2023-02-06)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @socialgouv/modeles-social
|
|
9
|
+
|
|
10
|
+
# [4.90.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.89.0...v4.90.0) (2023-02-01)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- **indemnite-licenciement:** remise à zéro des données propres à la CC 3239 ([#4926](https://github.com/SocialGouv/code-du-travail-numerique/issues/4926)) ([6948136](https://github.com/SocialGouv/code-du-travail-numerique/commit/6948136fcfc4e0361d9083532e0da8a25e49ea09))
|
|
15
|
+
- **preavis-retraite:** ne supporte pas les espaces insécables ([#4929](https://github.com/SocialGouv/code-du-travail-numerique/issues/4929)) ([251c309](https://github.com/SocialGouv/code-du-travail-numerique/commit/251c309ad6407c0f266ffd3fed83383466bab671))
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
- **licenciement:** support CC pour le simulateur ([#4469](https://github.com/SocialGouv/code-du-travail-numerique/issues/4469)) ([bb42c53](https://github.com/SocialGouv/code-du-travail-numerique/commit/bb42c53403000d679227905b7dd1664aa0e38bb6))
|
|
20
|
+
|
|
6
21
|
# [4.89.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.88.1...v4.89.0) (2023-01-18)
|
|
7
22
|
|
|
8
23
|
**Note:** Version bump only for package @socialgouv/modeles-social
|
package/jest.config.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
roots: ["<rootDir>/src"],
|
|
3
|
+
setupFilesAfterEnv: ["./jest.setup.ts"],
|
|
3
4
|
testMatch: [
|
|
4
5
|
"**/__tests__/**/*.+(ts|tsx|js)",
|
|
5
6
|
"**/?(*.)+(spec|test).+(ts|tsx|js)",
|
|
6
7
|
],
|
|
7
8
|
transform: {
|
|
8
|
-
"^.+\\.(ts|tsx)$": "
|
|
9
|
+
"^.+\\.(ts|tsx)$": "@swc/jest",
|
|
9
10
|
},
|
|
10
11
|
};
|
package/jest.setup.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
mergeIndemniteLicenciementModels,
|
|
3
|
+
mergePreavisRetraiteModels,
|
|
4
|
+
} from "./src/internal/merger";
|
|
5
|
+
|
|
6
|
+
(global as typeof globalThis).modelsIndemniteLicenciement = mergeIndemniteLicenciementModels();
|
|
7
|
+
(global as typeof globalThis).modelsPreavisRetraite = mergePreavisRetraiteModels();
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public",
|
|
5
5
|
"registry": "https://registry.npmjs.org/"
|
|
6
6
|
},
|
|
7
|
-
"version": "4.
|
|
7
|
+
"version": "4.90.1",
|
|
8
8
|
"description": "Les règles publicodes des simulateurs de code du travail numérique",
|
|
9
9
|
"main": "./lib/index.js",
|
|
10
10
|
"types": "./lib/index.d.ts",
|
|
@@ -15,10 +15,12 @@
|
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@socialgouv/eslint-config-typescript": "^1.93.0",
|
|
18
|
+
"@swc/core": "^1.3.21",
|
|
19
|
+
"@swc/jest": "^0.2.23",
|
|
18
20
|
"@types/fs-extra": "^9.0.12",
|
|
19
21
|
"@types/jest": "^27.0.1",
|
|
20
22
|
"eslint": "^7.32.0",
|
|
21
|
-
"jest": "^
|
|
23
|
+
"jest": "^29.3.1",
|
|
22
24
|
"lint-staged": "^13.0.0",
|
|
23
25
|
"nodemon": "^2.0.12",
|
|
24
26
|
"ts-jest": "^27.0.5",
|
|
@@ -37,8 +39,9 @@
|
|
|
37
39
|
"type-check:watch": "npm run type-check -- --watch"
|
|
38
40
|
},
|
|
39
41
|
"dependencies": {
|
|
42
|
+
"date-fns": "^2.28.0",
|
|
40
43
|
"fs-extra": "^10.0.0",
|
|
41
|
-
"publicodes": "^1.0.0-beta.
|
|
44
|
+
"publicodes": "^1.0.0-beta.60",
|
|
42
45
|
"yaml": "^2.0.0"
|
|
43
46
|
},
|
|
44
47
|
"lint-staged": {
|
|
@@ -46,5 +49,5 @@
|
|
|
46
49
|
"yarn lint --fix --quiet"
|
|
47
50
|
]
|
|
48
51
|
},
|
|
49
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "bb2726917249f903e6f39757ab5ac230bd664a16"
|
|
50
53
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Engine from "publicodes";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import modeles from "../../../src/modeles/modeles-preavis-retraite.json";
|
|
4
4
|
|
|
5
|
-
const engine = new Engine(
|
|
5
|
+
const engine = new Engine(modeles as any);
|
|
6
6
|
|
|
7
7
|
describe("Validation de la présence des descriptions pour afficher des aides", () => {
|
|
8
8
|
describe.each`
|
|
@@ -2,10 +2,10 @@ import "./publicode-matcher";
|
|
|
2
2
|
|
|
3
3
|
import Engine from "publicodes";
|
|
4
4
|
|
|
5
|
+
import modeles from "../../../src/modeles/modeles-preavis-retraite.json";
|
|
5
6
|
import { extractCcnIds } from "../../internal/extractor";
|
|
6
|
-
import { mergeModels } from "../../internal/merger";
|
|
7
7
|
|
|
8
|
-
const engine = new Engine(
|
|
8
|
+
const engine = new Engine(modeles as any);
|
|
9
9
|
const allCc = extractCcnIds(engine).concat("");
|
|
10
10
|
allCc.forEach((idcc) => {
|
|
11
11
|
test(`Vérification que l'ensemble des données manquantes pour la CC ${idcc} possède un titre avec un type cdtn`, () => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import Engine from "publicodes";
|
|
2
2
|
|
|
3
|
+
import modeles from "../../../src/modeles/modeles-preavis-retraite.json";
|
|
3
4
|
import type { RuleNodeIdcc } from "../../internal/extractSupportedCc";
|
|
4
|
-
import { mergeModels } from "../../internal/merger";
|
|
5
5
|
|
|
6
|
-
const engine = new Engine(
|
|
6
|
+
const engine = new Engine(modeles as any);
|
|
7
7
|
|
|
8
8
|
test("Check all agreements have an cdtn with idcc property", () => {
|
|
9
9
|
Object.values(engine.getParsedRules())
|
|
@@ -24,12 +24,32 @@ export const DepartRetraiteReferences = [
|
|
|
24
24
|
|
|
25
25
|
export const IndemniteLicenciementReferences = [
|
|
26
26
|
{
|
|
27
|
-
article: "Article
|
|
27
|
+
article: "Article L. 1234-9 à L. 1234-11",
|
|
28
28
|
url:
|
|
29
|
-
"https://www.legifrance.gouv.fr/codes/
|
|
29
|
+
"https://www.legifrance.gouv.fr/codes/section_lc/LEGITEXT000006072050/LEGISCTA000006195623/#LEGISCTA000006195623",
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
|
-
article: "
|
|
33
|
-
url:
|
|
32
|
+
article: "Art. R. 1234-1 à R. 1234-5",
|
|
33
|
+
url:
|
|
34
|
+
"https://www.legifrance.gouv.fr/codes/section_lc/LEGITEXT000006072050/LEGISCTA000018483186/#LEGISCTA000018537572",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
article: "Art. L. 1226-7",
|
|
38
|
+
url: "https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000023272293",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
article: "Art. L. 1225-54",
|
|
42
|
+
url: "https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000018764621",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
article: "Art. L. 1225-65",
|
|
46
|
+
url: "https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000038219280",
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const IndemniteLicenciementInaptitudeReferences = [
|
|
51
|
+
{
|
|
52
|
+
article: "Art. L. 1226-14",
|
|
53
|
+
url: "https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000006900981",
|
|
34
54
|
},
|
|
35
55
|
];
|
|
@@ -51,7 +51,7 @@ expect.extend({
|
|
|
51
51
|
pass: false,
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
|
-
const validCdtnType = ["oui-non", "liste", "entier"];
|
|
54
|
+
const validCdtnType = ["oui-non", "liste", "entier", "montant", "date"];
|
|
55
55
|
return {
|
|
56
56
|
message: () =>
|
|
57
57
|
`Type ${type} on ${rule.nom} is not valid. Valid types are ${validCdtnType}`,
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from "./modeles";
|
|
2
|
+
export { default as indemniteLicenciementModeles } from "./modeles/modeles-indemnite-licenciement.json";
|
|
3
|
+
export { default as preavisRetraiteModeles } from "./modeles/modeles-preavis-retraite.json";
|
|
2
4
|
export * from "./publicodes";
|
|
3
5
|
export * from "./simulators";
|
|
4
|
-
export * from "./utils";
|
package/src/internal/build.ts
CHANGED
|
@@ -5,16 +5,26 @@ import path from "path";
|
|
|
5
5
|
import Engine from "publicodes";
|
|
6
6
|
|
|
7
7
|
import { extractSupportedCc } from "./extractSupportedCc";
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
mergeCommonModels,
|
|
10
|
+
mergeIndemniteLicenciementModels,
|
|
11
|
+
mergePreavisRetraiteModels,
|
|
12
|
+
} from "./merger";
|
|
9
13
|
|
|
10
14
|
const inDir = path.resolve(__dirname, "../../bin");
|
|
11
15
|
const outDir = path.resolve(__dirname, "../../lib");
|
|
12
16
|
|
|
13
|
-
function writeJsonModel(
|
|
14
|
-
|
|
17
|
+
function writeJsonModel({
|
|
18
|
+
merger,
|
|
19
|
+
outputName,
|
|
20
|
+
}: {
|
|
21
|
+
merger: () => any;
|
|
22
|
+
outputName: string;
|
|
23
|
+
}) {
|
|
24
|
+
const modeles = merger();
|
|
15
25
|
fs.mkdirSync(`${outDir}/modeles`, { recursive: true });
|
|
16
26
|
fs.writeFileSync(
|
|
17
|
-
path.resolve(outDir,
|
|
27
|
+
path.resolve(outDir, `modeles/${outputName}.json`),
|
|
18
28
|
JSON.stringify(modeles, null, 2)
|
|
19
29
|
);
|
|
20
30
|
}
|
|
@@ -32,19 +42,26 @@ function copyJSFile() {
|
|
|
32
42
|
path.resolve(inDir, "index.d.ts"),
|
|
33
43
|
path.resolve(outDir, "index.d.ts")
|
|
34
44
|
);
|
|
35
|
-
fse.copySync(`${inDir}/utils`, `${outDir}/utils`);
|
|
36
45
|
fse.copySync(`${inDir}/publicodes`, `${outDir}/publicodes`);
|
|
46
|
+
fse.copySync(`${inDir}/modeles`, `${outDir}/modeles`);
|
|
37
47
|
fse.copySync(`${inDir}/simulators`, `${outDir}/simulators`);
|
|
38
48
|
}
|
|
39
49
|
|
|
40
50
|
function writeSupportedCCFile() {
|
|
41
|
-
const ccn = extractSupportedCc(new Engine(
|
|
51
|
+
const ccn = extractSupportedCc(new Engine(mergeCommonModels()));
|
|
42
52
|
fs.writeFileSync(
|
|
43
|
-
path.resolve(outDir, "utils/ccn-supported.json"),
|
|
53
|
+
path.resolve(outDir, "modeles/common/utils/ccn-supported.json"),
|
|
44
54
|
JSON.stringify(ccn, null, 2)
|
|
45
55
|
);
|
|
46
56
|
}
|
|
47
57
|
|
|
48
58
|
copyJSFile();
|
|
49
59
|
writeSupportedCCFile();
|
|
50
|
-
writeJsonModel(
|
|
60
|
+
writeJsonModel({
|
|
61
|
+
merger: mergePreavisRetraiteModels,
|
|
62
|
+
outputName: "modeles-preavis-retraite",
|
|
63
|
+
});
|
|
64
|
+
writeJsonModel({
|
|
65
|
+
merger: () => mergeIndemniteLicenciementModels(),
|
|
66
|
+
outputName: "modeles-indemnite-licenciement",
|
|
67
|
+
});
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { Rule } from "publicodes";
|
|
2
2
|
import type Engine from "publicodes";
|
|
3
3
|
|
|
4
|
-
import type { AgreementInfo } from "
|
|
4
|
+
import type { AgreementInfo } from "../modeles/common";
|
|
5
5
|
|
|
6
6
|
export type RuleNodeIdcc = Rule & {
|
|
7
7
|
cdtn?: {
|
|
8
8
|
idcc?: number;
|
|
9
9
|
"préavis-retraite"?: boolean;
|
|
10
|
+
"indemnité-licenciement"?: boolean;
|
|
11
|
+
"indemnité-licenciement-sans-legal"?: boolean;
|
|
10
12
|
};
|
|
11
13
|
};
|
|
12
14
|
|
|
@@ -20,6 +22,9 @@ export function extractSupportedCc(engine: Engine): Partial<AgreementInfo>[] {
|
|
|
20
22
|
if (idcc) {
|
|
21
23
|
return {
|
|
22
24
|
idcc,
|
|
25
|
+
indemniteLicenciement: cdtnNode["indemnité-licenciement"] ?? false,
|
|
26
|
+
indemniteLicenciementSansLegal:
|
|
27
|
+
cdtnNode["indemnité-licenciement-sans-legal"] ?? false,
|
|
23
28
|
preavisRetraite: cdtnNode["préavis-retraite"] ?? false,
|
|
24
29
|
};
|
|
25
30
|
}
|
package/src/internal/merger.ts
CHANGED
|
@@ -1,25 +1,73 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import
|
|
3
|
+
import { parse } from "yaml";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import {
|
|
6
|
+
commonFile,
|
|
7
|
+
indemniteLicenciementFile,
|
|
8
|
+
preavisRetraiteFile,
|
|
9
|
+
} from "./constants";
|
|
6
10
|
|
|
7
|
-
export
|
|
8
|
-
|
|
11
|
+
export const publicodesDir = path.resolve(__dirname, "../../src/modeles");
|
|
12
|
+
|
|
13
|
+
export function mergePreavisRetraiteModels(): any {
|
|
14
|
+
return mergeModels([commonFile, preavisRetraiteFile]);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function mergeIndemniteLicenciementModels(): any {
|
|
18
|
+
return mergeModelsWithKeys([commonFile, indemniteLicenciementFile]);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function mergeCommonModels(): any {
|
|
22
|
+
return mergeModels([commonFile]);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function mergeModels(filenameFilter: string[]): any {
|
|
26
|
+
return parse(concatenateFilesInDir(publicodesDir, filenameFilter));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function mergeModelsWithKeys(filenameFilter: string[]): any {
|
|
30
|
+
return concatenateFilesInDirWithKeys(publicodesDir, filenameFilter);
|
|
9
31
|
}
|
|
10
32
|
|
|
11
|
-
function concatenateFilesInDir(
|
|
33
|
+
function concatenateFilesInDir(
|
|
34
|
+
dirPath: string,
|
|
35
|
+
filenameFilter: string[]
|
|
36
|
+
): string {
|
|
12
37
|
return fs
|
|
13
38
|
.readdirSync(dirPath)
|
|
14
39
|
.map((filename) => {
|
|
15
40
|
const fullpath = path.join(dirPath, filename);
|
|
16
41
|
if (fs.statSync(fullpath).isDirectory()) {
|
|
17
|
-
return concatenateFilesInDir(fullpath);
|
|
42
|
+
return concatenateFilesInDir(fullpath, filenameFilter);
|
|
18
43
|
} else {
|
|
19
|
-
return filename.endsWith(".yaml")
|
|
44
|
+
return filename.endsWith(".yaml") && filenameFilter.includes(filename)
|
|
20
45
|
? fs.readFileSync(fullpath).toString()
|
|
21
46
|
: "";
|
|
22
47
|
}
|
|
23
48
|
})
|
|
24
49
|
.join("\n");
|
|
25
50
|
}
|
|
51
|
+
|
|
52
|
+
function concatenateFilesInDirWithKeys(
|
|
53
|
+
dirPath: string,
|
|
54
|
+
filenameFilter: string[]
|
|
55
|
+
): any {
|
|
56
|
+
const dirName = path.basename(dirPath);
|
|
57
|
+
const result = fs
|
|
58
|
+
.readdirSync(dirPath)
|
|
59
|
+
.reduce<Record<string, any>>((obj, filename) => {
|
|
60
|
+
const fullpath = path.join(dirPath, filename);
|
|
61
|
+
if (fs.statSync(fullpath).isDirectory()) {
|
|
62
|
+
const dirData = concatenateFilesInDirWithKeys(fullpath, filenameFilter);
|
|
63
|
+
return { ...obj, ...dirData };
|
|
64
|
+
}
|
|
65
|
+
if (filename.endsWith(".yaml") && filenameFilter.includes(filename)) {
|
|
66
|
+
const data = parse(fs.readFileSync(fullpath).toString());
|
|
67
|
+
const idcc = dirName.split("_")[0];
|
|
68
|
+
return { ...obj, [idcc]: { ...obj[idcc], ...data } };
|
|
69
|
+
}
|
|
70
|
+
return obj;
|
|
71
|
+
}, {});
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MotifKeys,
|
|
3
|
+
SeniorityFactory,
|
|
4
|
+
SupportedCcIndemniteLicenciement,
|
|
5
|
+
} from "../../../common";
|
|
6
|
+
|
|
7
|
+
describe("Indemnité légale de licenciement avec une ancienneté spécifiée", () => {
|
|
8
|
+
test.each`
|
|
9
|
+
absences | entryDate | exitDate | expectedAnciennete
|
|
10
|
+
${[]} | ${"20/02/2020"} | ${"20/02/2021"} | ${1}
|
|
11
|
+
${[{ motif: { key: MotifKeys.maladieNonPro } }, { motif: { key: MotifKeys.accidentTrajet } }, { motif: { key: MotifKeys.congesSabbatique } }, { motif: { key: MotifKeys.congesCreationEntreprise } }, { motif: { key: MotifKeys.congesParentalEducation } }, { motif: { key: MotifKeys.congesSansSolde } }, { motif: { key: MotifKeys.greve } }, { motif: { key: MotifKeys.miseAPied } }, { motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${1}
|
|
12
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${1}
|
|
13
|
+
${[{ durationInMonth: 1, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
14
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
15
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
16
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
17
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9583333333333334}
|
|
18
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
19
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
20
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 1, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
21
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 1, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
22
|
+
${[{ durationInMonth: 1, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: MotifKeys.greve } }, { durationInMonth: 1, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 1, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.29166666666666663}
|
|
23
|
+
${[{ durationInMonth: 1, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: MotifKeys.greve } }, { durationInMonth: 1, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 1, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/01/2021"} | ${"20/02/2021"} | ${-0.625}
|
|
24
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"01/01/1979"} | ${"01/01/2021"} | ${42}
|
|
25
|
+
`(
|
|
26
|
+
"Calcul de l'ancienneté pour le droit avec $entryDate et $exitDate en attendant $expectedAnciennete an",
|
|
27
|
+
({ absences, entryDate, exitDate, expectedAnciennete }) => {
|
|
28
|
+
const seniority = new SeniorityFactory().create(
|
|
29
|
+
SupportedCcIndemniteLicenciement.default
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
const result = seniority.computeRequiredSeniority({
|
|
33
|
+
absencePeriods: absences,
|
|
34
|
+
dateEntree: entryDate,
|
|
35
|
+
dateNotification: exitDate,
|
|
36
|
+
dateSortie: "01/01/1979",
|
|
37
|
+
});
|
|
38
|
+
expect(result.value).toEqual(expectedAnciennete);
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
test.each`
|
|
43
|
+
absences | entryDate | exitDate | expectedAnciennete
|
|
44
|
+
${[]} | ${"20/02/2020"} | ${"20/02/2021"} | ${1}
|
|
45
|
+
${[{ motif: { key: MotifKeys.maladieNonPro } }, { motif: { key: MotifKeys.accidentTrajet } }, { motif: { key: MotifKeys.congesSabbatique } }, { motif: { key: MotifKeys.congesCreationEntreprise } }, { motif: { key: MotifKeys.congesParentalEducation } }, { motif: { key: MotifKeys.congesSansSolde } }, { motif: { key: MotifKeys.greve } }, { motif: { key: MotifKeys.miseAPied } }, { motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${1}
|
|
46
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${1}
|
|
47
|
+
${[{ durationInMonth: 1, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
48
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
49
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
50
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
51
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9583333333333334}
|
|
52
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
53
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
54
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 1, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
55
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 1, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.9166666666666666}
|
|
56
|
+
${[{ durationInMonth: 1, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: MotifKeys.greve } }, { durationInMonth: 1, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 1, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/02/2020"} | ${"20/02/2021"} | ${0.29166666666666663}
|
|
57
|
+
${[{ durationInMonth: 1, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: MotifKeys.greve } }, { durationInMonth: 1, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 1, motif: { key: MotifKeys.congesPaternite } }]} | ${"20/01/2021"} | ${"20/02/2021"} | ${-0.625}
|
|
58
|
+
${[{ durationInMonth: 0, motif: { key: MotifKeys.maladieNonPro } }, { durationInMonth: 0, motif: { key: MotifKeys.accidentTrajet } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSabbatique } }, { durationInMonth: 0, motif: { key: MotifKeys.congesCreationEntreprise } }, { durationInMonth: 0, motif: { key: MotifKeys.congesParentalEducation } }, { durationInMonth: 0, motif: { key: MotifKeys.congesSansSolde } }, { durationInMonth: 0, motif: { key: MotifKeys.greve } }, { durationInMonth: 0, motif: { key: MotifKeys.miseAPied } }, { durationInMonth: 0, motif: { key: MotifKeys.congesPaternite } }]} | ${"01/01/1979"} | ${"01/01/2021"} | ${42}
|
|
59
|
+
`(
|
|
60
|
+
"Calcul de l'ancienneté pour le calcul avec $entryDate et $exitDate en attendant $expectedAnciennete an",
|
|
61
|
+
({ absences, entryDate, exitDate, expectedAnciennete }) => {
|
|
62
|
+
const seniority = new SeniorityFactory().create(
|
|
63
|
+
SupportedCcIndemniteLicenciement.default
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
const result = seniority.computeSeniority({
|
|
67
|
+
absencePeriods: absences,
|
|
68
|
+
dateEntree: entryDate,
|
|
69
|
+
dateSortie: exitDate,
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
expect(result.value).toEqual(expectedAnciennete);
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IndemniteLicenciementPublicodes } from "../../../../publicodes";
|
|
2
|
+
|
|
3
|
+
const engine = new IndemniteLicenciementPublicodes(modelsIndemniteLicenciement);
|
|
4
|
+
|
|
5
|
+
describe("Indemnité légale de licenciement avec une formule personnalisée et expliquée", () => {
|
|
6
|
+
test.each`
|
|
7
|
+
seniority | isForInaptitude | expectedFormula | expectedExplanations
|
|
8
|
+
${7 / 12} | ${"non"} | ${""} | ${[]}
|
|
9
|
+
${7 / 12} | ${"oui"} | ${"(1/4 * Sref * A) * 2"} | ${["A : Ancienneté totale (≈ 0.58 an : valeur arrondie)", "Sref : Salaire de référence (1000 €)"]}
|
|
10
|
+
${8 / 12} | ${"non"} | ${"1/4 * Sref * A"} | ${["A : Ancienneté totale (≈ 0.67 an : valeur arrondie)", "Sref : Salaire de référence (1000 €)"]}
|
|
11
|
+
${8 / 12} | ${"oui"} | ${"(1/4 * Sref * A) * 2"} | ${["A : Ancienneté totale (≈ 0.67 an : valeur arrondie)", "Sref : Salaire de référence (1000 €)"]}
|
|
12
|
+
${7} | ${"oui"} | ${"(1/4 * Sref * A) * 2"} | ${["A : Ancienneté totale (7 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
13
|
+
${7} | ${"non"} | ${"1/4 * Sref * A"} | ${["A : Ancienneté totale (7 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
14
|
+
${10} | ${"oui"} | ${"(1/4 * Sref * A) * 2"} | ${["A : Ancienneté totale (10 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
15
|
+
${10} | ${"non"} | ${"1/4 * Sref * A"} | ${["A : Ancienneté totale (10 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
16
|
+
${12} | ${"oui"} | ${"((1/4 * Sref * A1) + (1/3 * Sref * A2)) * 2"} | ${["A1 : Ancienneté de 10 ans ou moins (10 ans)", "A2 : Ancienneté au-delà de 10 ans (2 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
17
|
+
${12} | ${"non"} | ${"(1/4 * Sref * A1) + (1/3 * Sref * A2)"} | ${["A1 : Ancienneté de 10 ans ou moins (10 ans)", "A2 : Ancienneté au-delà de 10 ans (2 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
18
|
+
${11.5} | ${"non"} | ${"(1/4 * Sref * A1) + (1/3 * Sref * A2)"} | ${["A1 : Ancienneté de 10 ans ou moins (10 ans)", "A2 : Ancienneté au-delà de 10 ans (1.5 an)", "Sref : Salaire de référence (1000 €)"]}
|
|
19
|
+
`(
|
|
20
|
+
"Formule $expectedFormula avec $seniority ans et inaptitude $isForInaptitude",
|
|
21
|
+
({ seniority, isForInaptitude, expectedFormula, expectedExplanations }) => {
|
|
22
|
+
engine.setSituation({
|
|
23
|
+
"contrat salarié . indemnité de licenciement . ancienneté en année": seniority,
|
|
24
|
+
"contrat salarié . indemnité de licenciement . ancienneté requise en année": seniority,
|
|
25
|
+
"contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle": isForInaptitude,
|
|
26
|
+
"contrat salarié . indemnité de licenciement . salaire de référence":
|
|
27
|
+
"1000",
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const result = engine.getFormule();
|
|
31
|
+
|
|
32
|
+
expect(result.formula).toEqual(expectedFormula);
|
|
33
|
+
expect(result.explanations).toEqual(expectedExplanations);
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
});
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { IndemniteLicenciementPublicodes } from "../../../../publicodes";
|
|
2
|
+
|
|
3
|
+
const engine = new IndemniteLicenciementPublicodes(modelsIndemniteLicenciement);
|
|
4
|
+
|
|
5
|
+
describe("Indemnité légale de licenciement pour un employé", () => {
|
|
6
|
+
test.each`
|
|
7
|
+
seniority | salary | expectedCompensation
|
|
8
|
+
${0} | ${0} | ${0}
|
|
9
|
+
${1} | ${0} | ${0}
|
|
10
|
+
${1.3} | ${0} | ${0}
|
|
11
|
+
${0.12} | ${1000} | ${0}
|
|
12
|
+
${0.5} | ${1000} | ${0}
|
|
13
|
+
${8 / 12} | ${1000} | ${166.67}
|
|
14
|
+
${11 / 12} | ${2000} | ${458.33}
|
|
15
|
+
${1.083333333} | ${2000} | ${541.67}
|
|
16
|
+
${1} | ${2000} | ${500}
|
|
17
|
+
${2} | ${2000} | ${1000}
|
|
18
|
+
${2.333333333} | ${2000} | ${1166.67}
|
|
19
|
+
${10.91} | ${2000} | ${5606.67}
|
|
20
|
+
${11.666666666666666} | ${2980} | ${9105.56}
|
|
21
|
+
${42} | ${2500} | ${32916.67}
|
|
22
|
+
`(
|
|
23
|
+
"ancienneté: $seniority mois, salaire de référence: $salary => $expectedCompensation €",
|
|
24
|
+
({ seniority, salary, expectedCompensation }) => {
|
|
25
|
+
const { result, missingArgs } = engine.setSituation({
|
|
26
|
+
"contrat salarié . indemnité de licenciement . ancienneté en année": seniority.toString(),
|
|
27
|
+
"contrat salarié . indemnité de licenciement . ancienneté requise en année": seniority,
|
|
28
|
+
"contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle":
|
|
29
|
+
"non",
|
|
30
|
+
"contrat salarié . indemnité de licenciement . salaire de référence": salary.toString(),
|
|
31
|
+
});
|
|
32
|
+
expect(result.value).toEqual(expectedCompensation);
|
|
33
|
+
expect(result.unit?.numerators).toEqual(["€"]);
|
|
34
|
+
expect(missingArgs).toEqual([]);
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
test.each`
|
|
38
|
+
seniority | salary | expectedCompensation
|
|
39
|
+
${0} | ${0} | ${0}
|
|
40
|
+
${1} | ${0} | ${0}
|
|
41
|
+
${1.3} | ${0} | ${0}
|
|
42
|
+
${0.12} | ${1000} | ${60}
|
|
43
|
+
${0.5} | ${1000} | ${250}
|
|
44
|
+
${8 / 12} | ${1000} | ${333.34}
|
|
45
|
+
${11 / 12} | ${2000} | ${916.66}
|
|
46
|
+
${1.083333333} | ${2000} | ${1083.34}
|
|
47
|
+
${1} | ${2000} | ${1000}
|
|
48
|
+
${2} | ${2000} | ${2000}
|
|
49
|
+
${2.333333333} | ${2000} | ${2333.34}
|
|
50
|
+
${10.91} | ${2000} | ${11213.34}
|
|
51
|
+
${11.666666666666666} | ${2980} | ${18211.12}
|
|
52
|
+
${42} | ${2500} | ${65833.34}
|
|
53
|
+
`(
|
|
54
|
+
"licenciement pour inaptitude : ancienneté: $seniority mois, salaire de référence: $salary => $expectedCompensation €",
|
|
55
|
+
({ seniority, salary, expectedCompensation }) => {
|
|
56
|
+
const { result, missingArgs } = engine.setSituation({
|
|
57
|
+
"contrat salarié . indemnité de licenciement . ancienneté en année": seniority,
|
|
58
|
+
"contrat salarié . indemnité de licenciement . ancienneté requise en année": seniority,
|
|
59
|
+
"contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle":
|
|
60
|
+
"oui",
|
|
61
|
+
"contrat salarié . indemnité de licenciement . salaire de référence": salary,
|
|
62
|
+
});
|
|
63
|
+
expect(result.value).toEqual(expectedCompensation);
|
|
64
|
+
expect(result.unit?.numerators).toEqual(["€"]);
|
|
65
|
+
expect(missingArgs).toEqual([]);
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
describe("Cas limites pour le droit à l'indemnité de licenciement", () => {
|
|
70
|
+
test("Ancienneté requise pas atteinte et ancienneté de calcul atteinte", () => {
|
|
71
|
+
const { result, missingArgs } = engine.setSituation({
|
|
72
|
+
"contrat salarié . indemnité de licenciement . ancienneté en année":
|
|
73
|
+
"1",
|
|
74
|
+
"contrat salarié . indemnité de licenciement . ancienneté requise en année":
|
|
75
|
+
"0.6",
|
|
76
|
+
"contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle":
|
|
77
|
+
"non",
|
|
78
|
+
"contrat salarié . indemnité de licenciement . salaire de référence":
|
|
79
|
+
"2000",
|
|
80
|
+
});
|
|
81
|
+
expect(result.value).toEqual(0);
|
|
82
|
+
expect(result.unit?.numerators).toEqual(["€"]);
|
|
83
|
+
expect(missingArgs).toEqual([]);
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
test("Ancienneté requise atteinte et ancienneté de calcul atteinte", () => {
|
|
87
|
+
const { result, missingArgs } = engine.setSituation({
|
|
88
|
+
"contrat salarié . indemnité de licenciement . ancienneté en année":
|
|
89
|
+
"1",
|
|
90
|
+
"contrat salarié . indemnité de licenciement . ancienneté requise en année": `${
|
|
91
|
+
8 / 12
|
|
92
|
+
}`,
|
|
93
|
+
"contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle":
|
|
94
|
+
"non",
|
|
95
|
+
"contrat salarié . indemnité de licenciement . salaire de référence":
|
|
96
|
+
"2000",
|
|
97
|
+
});
|
|
98
|
+
expect(result.value).toEqual(500);
|
|
99
|
+
expect(result.unit?.numerators).toEqual(["€"]);
|
|
100
|
+
expect(missingArgs).toEqual([]);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
});
|