Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(simulateurs): handle retirement for idcc16 (#3482)
* feat(simulateurs): handle volontary retirement for idcc16 * feat(simulateurs): handle retirement for idcc16 * feat(simulateur): handle unit in result
- Loading branch information
Showing
7 changed files
with
276 additions
and
5 deletions.
There are no files selected for viewing
2 changes: 1 addition & 1 deletion
2
packages/code-du-travail-frontend/src/outils/DureePreavisRetraite/stepReducer.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
137 changes: 137 additions & 0 deletions
137
...ges/code-du-travail-modeles/src/__test__/depart.mise.retraite.transports.routiers.spec.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
import Engine from "publicodes"; | ||
import { mergeModels } from "../internal/merger"; | ||
import { getNotifications } from "../utils/GetNotifications"; | ||
|
||
const engine = new Engine(mergeModels()); | ||
|
||
test.each` | ||
seniority | category | expectedNotice | ||
${3} | ${"Ingénieurs et cadres"} | ${6} | ||
${12} | ${"Ingénieurs et cadres"} | ${1} | ||
${23} | ${"Ingénieurs et cadres"} | ${1} | ||
${24} | ${"Ingénieurs et cadres"} | ${2} | ||
${25} | ${"Ingénieurs et cadres"} | ${2} | ||
${3} | ${"Employés"} | ${0} | ||
${6} | ${"Employés"} | ${1} | ||
${23} | ${"Employés"} | ${1} | ||
${24} | ${"Employés"} | ${2} | ||
${25} | ${"Employés"} | ${2} | ||
${3} | ${"Ouvriers"} | ${0} | ||
${6} | ${"Ouvriers"} | ${1} | ||
${23} | ${"Ouvriers"} | ${1} | ||
${24} | ${"Ouvriers"} | ${2} | ||
${25} | ${"Ouvriers"} | ${2} | ||
${3} | ${"TAM"} | ${0} | ||
${6} | ${"TAM"} | ${1} | ||
${23} | ${"TAM"} | ${1} | ||
${24} | ${"TAM"} | ${2} | ||
${25} | ${"TAM"} | ${2} | ||
`( | ||
"Pour un $category possédant $seniority mois d'ancienneté, son préavis de départ à la retraite devrait être de $expectedNotice mois", | ||
({ seniority, category, expectedNotice }) => { | ||
const result = engine | ||
.setSituation({ | ||
"contrat salarié . convention collective": "'IDCC0016'", | ||
"contrat salarié . mise à la retraite": "non", | ||
"contrat salarié . ancienneté": seniority, | ||
"contrat salarié . convention collective . transports routiers . catégorie professionnelle": `'${category}'`, | ||
}) | ||
.evaluate("contrat salarié . préavis de retraite"); | ||
|
||
expect(result.nodeValue).toEqual(expectedNotice); | ||
expect(result.unit?.numerators).toEqual(["mois"]); | ||
} | ||
); | ||
|
||
test.each` | ||
seniority | category | group | expectedNotice | expectedUnit | ||
${5} | ${"Ingénieurs et cadres"} | ${0} | ${6} | ${"mois"} | ||
${6} | ${"Ingénieurs et cadres"} | ${0} | ${6} | ${"mois"} | ||
${24} | ${"Ingénieurs et cadres"} | ${0} | ${6} | ${"mois"} | ||
${3} | ${"Ouvriers"} | ${0} | ${1} | ${"semaine"} | ||
${6} | ${"Ouvriers"} | ${0} | ${1} | ${"mois"} | ||
${23} | ${"Ouvriers"} | ${0} | ${1} | ${"mois"} | ||
${24} | ${"Ouvriers"} | ${0} | ${2} | ${"mois"} | ||
${25} | ${"Ouvriers"} | ${0} | ${2} | ${"mois"} | ||
${0} | ${"Employés"} | ${0} | ${0} | ${"mois"} | ||
${1} | ${"Employés"} | ${0} | ${1} | ${"mois"} | ||
${23} | ${"Employés"} | ${0} | ${1} | ${"mois"} | ||
${24} | ${"Employés"} | ${0} | ${2} | ${"mois"} | ||
${25} | ${"Employés"} | ${0} | ${2} | ${"mois"} | ||
${0} | ${"TAM"} | ${5} | ${0} | ${"mois"} | ||
${1} | ${"TAM"} | ${5} | ${1} | ${"mois"} | ||
${23} | ${"TAM"} | ${5} | ${1} | ${"mois"} | ||
${24} | ${"TAM"} | ${5} | ${2} | ${"mois"} | ||
${25} | ${"TAM"} | ${5} | ${2} | ${"mois"} | ||
${1} | ${"TAM"} | ${6} | ${2} | ${"mois"} | ||
${25} | ${"TAM"} | ${6} | ${2} | ${"mois"} | ||
`( | ||
"Pour un $category ($group) possédant $seniority mois d'ancienneté, son préavis de mise à la retraite devrait être de $expectedNotice $expectedUnit", | ||
({ seniority, category, group, expectedNotice, expectedUnit }) => { | ||
const result = engine | ||
.setSituation({ | ||
"contrat salarié . convention collective": "'IDCC0016'", | ||
"contrat salarié . mise à la retraite": "oui", | ||
"contrat salarié . ancienneté": seniority, | ||
"contrat salarié . convention collective . transports routiers . catégorie professionnelle": `'${category}'`, | ||
"contrat salarié . convention collective . transports routiers . catégorie professionnelle . TAM . groupe": group, | ||
}) | ||
.evaluate("contrat salarié . préavis de retraite"); | ||
|
||
expect(result.nodeValue).toEqual(expectedNotice); | ||
expect(result.unit?.numerators).toEqual([expectedUnit]); | ||
} | ||
); | ||
|
||
test("Pour un employé dans les transports routiers avec la catgorie TAM dans le groupe 6 lors d'une mise à la retraite, on attend la notification", () => { | ||
const notifications = getNotifications( | ||
engine.setSituation({ | ||
"contrat salarié . convention collective": "'IDCC0016'", | ||
"contrat salarié . mise à la retraite": "oui", | ||
"contrat salarié . ancienneté": 5, | ||
"contrat salarié . convention collective . transports routiers . catégorie professionnelle": `'TAM'`, | ||
"contrat salarié . convention collective . transports routiers . catégorie professionnelle . TAM . groupe": 6, | ||
}) | ||
); | ||
expect(notifications).toHaveLength(1); | ||
expect(notifications[0].description).toBe( | ||
`Le salarié pourra quitter son emploi après avoir exécuté un préavis de 1 mois sous réserve d’en avoir informé son employeur au moins 10 jours à l’avance. Dans ce cas, il n’a droit qu’à la rémunération correspondant au temps qu’il a effectivement travaillé (et éventuellement une indemnité de congédiement).` | ||
); | ||
}); | ||
|
||
test.each` | ||
seniority | category | group | ||
${5} | ${"Ingénieurs et cadres"} | ${0} | ||
${6} | ${"Ingénieurs et cadres"} | ${0} | ||
${24} | ${"Ingénieurs et cadres"} | ${0} | ||
${3} | ${"Ouvriers"} | ${0} | ||
${6} | ${"Ouvriers"} | ${0} | ||
${23} | ${"Ouvriers"} | ${0} | ||
${24} | ${"Ouvriers"} | ${0} | ||
${25} | ${"Ouvriers"} | ${0} | ||
${0} | ${"Employés"} | ${0} | ||
${1} | ${"Employés"} | ${0} | ||
${23} | ${"Employés"} | ${0} | ||
${24} | ${"Employés"} | ${0} | ||
${25} | ${"Employés"} | ${0} | ||
${0} | ${"TAM"} | ${5} | ||
${1} | ${"TAM"} | ${5} | ||
${23} | ${"TAM"} | ${5} | ||
${24} | ${"TAM"} | ${5} | ||
${25} | ${"TAM"} | ${5} | ||
`( | ||
"Pour un employé dans les transports routiers de la catégorie $category dans le groupe $group lors d'une mise à la retraite, on n'attend pas de notification", | ||
({ seniority, group, category }) => { | ||
const notifications = getNotifications( | ||
engine.setSituation({ | ||
"contrat salarié . convention collective": "'IDCC0016'", | ||
"contrat salarié . mise à la retraite": "oui", | ||
"contrat salarié . ancienneté": seniority, | ||
"contrat salarié . convention collective . transports routiers . catégorie professionnelle": `'${category}'`, | ||
"contrat salarié . convention collective . transports routiers . catégorie professionnelle . TAM . groupe": group, | ||
}) | ||
); | ||
|
||
expect(notifications).toHaveLength(0); | ||
} | ||
); |
118 changes: 118 additions & 0 deletions
118
packages/code-du-travail-modeles/src/modeles/conventions/transports_routiers.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
# Convention collective nationale transport routiers (idcc 16) | ||
contrat salarié . convention collective . transports routiers: | ||
description: Convention collective nationale des transports routiers | ||
applicable si: convention collective = 'IDCC0016' | ||
valeur: oui | ||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle: | ||
question: Quelle est votre catégorie professionelle ? | ||
cdtn: | ||
type: liste | ||
valeurs: | ||
Ingénieurs et cadres: "'Ingénieurs et cadres'" | ||
Ouvriers: "'Ouvriers'" | ||
Employés: "'Employés'" | ||
Technicien et agents de maîtrise (TAM): "'TAM'" | ||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . Ingénieurs et cadres: | ||
applicable si: catégorie professionnelle = 'Ingénieurs et cadres' | ||
valeur: oui | ||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . Ingénieurs et cadres . préavis de retaite: | ||
titre: Préavis de retraite pour un ingénieurs et cadres | ||
remplace: contrat salarié . préavis de retraite collective | ||
valeur: 6 mois | ||
références: | ||
- article: Accord du 30 octobre 1951 relatif aux ingénieurs et cadres - Annexe IV, article 18 | ||
url: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000005849573/?idConteneur=KALICONT000005635624 | ||
|
||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . Ouvriers: | ||
applicable si: catégorie professionnelle = 'Ouvriers' | ||
valeur: oui | ||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . Employés: | ||
applicable si: catégorie professionnelle = 'Employés' | ||
valeur: oui | ||
|
||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . TAM: | ||
applicable si: catégorie professionnelle = 'TAM' | ||
valeur: oui | ||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . TAM . groupe: | ||
question: Quelle est votre groupe ? | ||
cdtn: | ||
type: liste | ||
valeurs: | ||
1 à 5: 5 | ||
6 à 8: 6 | ||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . Ouvriers . préavis de retraite tranche: | ||
applicable si: contrat salarié . mise à la retraite | ||
remplace: contrat salarié . préavis de retraite collective | ||
grille: | ||
assiette: ancienneté | ||
tranches: | ||
- montant: 1 semaine | ||
plafond: 6 mois | ||
- montant: 1 mois | ||
plafond: 24 mois | ||
- montant: 2 mois | ||
références: | ||
- article: Accord du 16 juin 1961 relatifs aux ouvriers - annexe I, article 5 | ||
url: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000005849372/?idConteneur=KALICONT000005635624 | ||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . Employés . préavis de retraite tranche: | ||
applicable si: contrat salarié . mise à la retraite | ||
remplace: contrat salarié . préavis de retraite collective | ||
grille: | ||
assiette: ancienneté | ||
tranches: | ||
- montant: 0 mois | ||
plafond: 1 mois | ||
- montant: 1 mois | ||
plafond: 24 mois | ||
- montant: 2 mois | ||
références: | ||
- article: Accord du 27 février 1951 relatif aux employés Annexe II, article 13 | ||
url: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000005849509/?idConteneur=KALICONT000005635624 | ||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . TAM . préavis de retraite tranche groupe 1 à 5: | ||
applicable si: | ||
toutes ces conditions: | ||
- contrat salarié . mise à la retraite | ||
- groupe < 6 | ||
remplace: contrat salarié . préavis de retraite collective | ||
grille: | ||
assiette: ancienneté | ||
tranches: | ||
- montant: 0 mois | ||
plafond: 1 mois | ||
- montant: 1 mois | ||
plafond: 24 mois | ||
- montant: 2 mois | ||
références: | ||
- article: Accord du 30 mars 1951 relatif aux techniciens et agents de maîtrise Annexe III, article 17 | ||
url: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000005849262/?idConteneur=KALICONT000005635624 | ||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . TAM . préavis de retraite groupe 6 à 8: | ||
applicable si: | ||
toutes ces conditions: | ||
- contrat salarié . mise à la retraite | ||
- groupe >= 6 | ||
remplace: contrat salarié . préavis de retraite collective | ||
valeur: 2 mois | ||
références: | ||
- article: Accord du 30 mars 1951 relatif aux techniciens et agents de maîtrise Annexe III, article 17 | ||
url: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000005849262/?idConteneur=KALICONT000005635624 | ||
|
||
|
||
contrat salarié . convention collective . transports routiers . catégorie professionnelle . TAM . préavis de retraite groupe 6 à 8 . notification: | ||
applicable si: | ||
toutes ces conditions: | ||
- contrat salarié . mise à la retraite | ||
- groupe >= 6 | ||
type: notification | ||
description: Le salarié pourra quitter son emploi après avoir exécuté un préavis de 1 mois sous réserve d’en avoir informé son employeur au moins 10 jours à l’avance. Dans ce cas, il n’a droit qu’à la rémunération correspondant au temps qu’il a effectivement travaillé (et éventuellement une indemnité de congédiement). | ||
valeur: oui |