Skip to content

Commit 26ced5f

Browse files
authored
fix(indemnite-licenciement): gestion de l'inaptitude pour la CC particulier employeur (#6940)
1 parent d137fa3 commit 26ced5f

File tree

3 files changed

+117
-34
lines changed

3 files changed

+117
-34
lines changed

packages/code-du-travail-modeles/src/modeles/base/indemnite-licenciement.yaml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ contrat salarié . indemnité de licenciement . résultat conventionnel identiqu
178178
toutes ces conditions:
179179
- ancienneté conventionnelle en année <= 10 an
180180
- résultat conventionnel identique au légal
181+
- inaptitude suite à un accident ou maladie professionnelle = non
181182
remplace: contrat salarié . indemnité de licenciement . résultat conventionnel
182183
valeur: indemnité de licenciement . facteur dix ans ou moins cc
183184
arrondi: 2 décimales
@@ -189,11 +190,29 @@ contrat salarié . indemnité de licenciement . résultat conventionnel identiqu
189190
- "Sref : Salaire de référence": contrat salarié . indemnité de licenciement . salaire de référence conventionnel
190191
formula: 1/4 * Sref * A
191192

193+
contrat salarié . indemnité de licenciement . résultat conventionnel identique au légal moins de 10ans formule inaptitude:
194+
applicable si:
195+
toutes ces conditions:
196+
- ancienneté conventionnelle en année <= 10 an
197+
- résultat conventionnel identique au légal
198+
- inaptitude suite à un accident ou maladie professionnelle = oui
199+
remplace: contrat salarié . indemnité de licenciement . résultat conventionnel
200+
valeur: indemnité de licenciement . facteur dix ans ou moins cc * 2
201+
arrondi: 2 décimales
202+
unité:
203+
cdtn:
204+
formule:
205+
explanations:
206+
- "A : Ancienneté totale": contrat salarié . indemnité de licenciement . jusqu'à dix ans ou moins cc
207+
- "Sref : Salaire de référence": contrat salarié . indemnité de licenciement . salaire de référence conventionnel
208+
formula: (1/4 * Sref * A) * 2
209+
192210
contrat salarié . indemnité de licenciement . résultat conventionnel identique au légal au dela de 10 ans:
193211
applicable si:
194212
toutes ces conditions:
195213
- ancienneté conventionnelle en année > 10 an
196214
- résultat conventionnel identique au légal
215+
- inaptitude suite à un accident ou maladie professionnelle = non
197216
remplace: contrat salarié . indemnité de licenciement . résultat conventionnel
198217
somme:
199218
- indemnité de licenciement . facteur dix ans ou moins cc
@@ -208,6 +227,26 @@ contrat salarié . indemnité de licenciement . résultat conventionnel identiqu
208227
- "Sref : Salaire de référence": contrat salarié . indemnité de licenciement . salaire de référence conventionnel
209228
formula: (1/4 * Sref * A1) + (1/3 * Sref * A2)
210229

230+
contrat salarié . indemnité de licenciement . résultat conventionnel identique au légal au dela de 10 ans inaptitude:
231+
applicable si:
232+
toutes ces conditions:
233+
- ancienneté conventionnelle en année > 10 an
234+
- résultat conventionnel identique au légal
235+
- inaptitude suite à un accident ou maladie professionnelle = oui
236+
remplace: contrat salarié . indemnité de licenciement . résultat conventionnel
237+
somme:
238+
- indemnité de licenciement . facteur dix ans ou moins cc * 2
239+
- indemnité de licenciement . facteur plus de dix ans cc * 2
240+
arrondi: 2 décimales
241+
unité:
242+
cdtn:
243+
formule:
244+
explanations:
245+
- "A1 : Ancienneté de 10 ans ou moins": contrat salarié . indemnité de licenciement . jusqu'à dix ans ou moins cc
246+
- "A2 : Ancienneté au-delà de 10 ans": contrat salarié . indemnité de licenciement . au dela de dix ans cc
247+
- "Sref : Salaire de référence": contrat salarié . indemnité de licenciement . salaire de référence conventionnel
248+
formula: ((1/4 * Sref * A1) + (1/3 * Sref * A2)) * 2
249+
211250
contrat salarié . indemnité de licenciement . résultat conventionnel:
212251
valeur: 0
213252
unité:

packages/code-du-travail-modeles/src/modeles/conventions/3239_particuliers_employeurs_domicile/__tests__/indemnite-licenciement/indemnite.spec.ts

Lines changed: 76 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ describe("Indemnité conventionnel de licenciement pour la CC 3239", () => {
3434
const { result, missingArgs } = engine.setSituation(
3535
{
3636
"contrat salarié . convention collective": "'IDCC3239'",
37+
"contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle":
38+
"non",
3739
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle":
3840
category,
3941
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle . assistante maternelle . type de licenciement": `'Non'`,
@@ -53,41 +55,81 @@ describe("Indemnité conventionnel de licenciement pour la CC 3239", () => {
5355
expect(result.value).toEqual(expectedCompensation);
5456
}
5557
);
58+
});
5659

57-
describe("Assistante maternelle qui a sélectionné comme motif un retrait d'agrément", () => {
58-
test.each`
59-
seniorityRight | seniority | salary | expectedCompensation
60-
${0} | ${1} | ${2000} | ${0}
61-
${8 / 12} | ${1} | ${2000} | ${0}
62-
${9 / 12} | ${1} | ${2000} | ${0}
63-
${9 / 12} | ${2} | ${2000} | ${0}
64-
${9 / 12} | ${10} | ${2000} | ${0}
65-
${9 / 12} | ${12} | ${2000} | ${0}
66-
`(
67-
"ancienneté: $seniority an, salaire de référence: $salary, => $expectedCompensation €",
68-
({ seniority, seniorityRight, salary, expectedCompensation }) => {
69-
const { result, missingArgs } = engine.setSituation(
70-
{
71-
"contrat salarié . convention collective": "'IDCC3239'",
72-
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle": `'${CatPro3239.assistantMaternel}'`,
73-
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle . assistante maternelle . type de licenciement": `'Oui'`,
74-
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle . assistante maternelle . type de licenciement . autres . total salaires":
75-
salary,
76-
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année":
77-
seniority,
78-
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année":
79-
seniorityRight,
80-
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel":
81-
salary,
82-
},
83-
"contrat salarié . indemnité de licenciement . résultat conventionnel"
84-
);
60+
describe("Assistante maternelle qui a sélectionné comme motif un retrait d'agrément", () => {
61+
test.each`
62+
seniorityRight | seniority | salary | expectedCompensation
63+
${0} | ${1} | ${2000} | ${0}
64+
${8 / 12} | ${1} | ${2000} | ${0}
65+
${9 / 12} | ${1} | ${2000} | ${0}
66+
${9 / 12} | ${2} | ${2000} | ${0}
67+
${9 / 12} | ${10} | ${2000} | ${0}
68+
${9 / 12} | ${12} | ${2000} | ${0}
69+
`(
70+
"ancienneté: $seniority an, salaire de référence: $salary, => $expectedCompensation €",
71+
({ seniority, seniorityRight, salary, expectedCompensation }) => {
72+
const { result, missingArgs } = engine.setSituation(
73+
{
74+
"contrat salarié . convention collective": "'IDCC3239'",
75+
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle":
76+
CatPro3239.assistantMaternel,
77+
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle . assistante maternelle . type de licenciement": `'Oui'`,
78+
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle . assistante maternelle . type de licenciement . autres . total salaires":
79+
salary,
80+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année":
81+
seniority,
82+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année":
83+
seniorityRight,
84+
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel":
85+
salary,
86+
},
87+
"contrat salarié . indemnité de licenciement . résultat conventionnel"
88+
);
89+
90+
expect(missingArgs).toEqual([]);
91+
expect(result.unit?.numerators).toEqual(["€"]);
92+
expect(result.value).toEqual(expectedCompensation);
93+
}
94+
);
95+
});
8596

86-
expect(missingArgs).toEqual([]);
87-
expect(result.unit?.numerators).toEqual(["€"]);
88-
expect(result.value).toEqual(expectedCompensation);
89-
}
90-
);
91-
});
97+
describe("Salarié particulier employeur est en inaptitude professionnelle", () => {
98+
test.each`
99+
seniorityRight | seniority | salary | expectedCompensation
100+
${7 / 12} | ${1} | ${2000} | ${0}
101+
${8 / 12} | ${8 / 12} | ${2000} | ${666.67}
102+
${8 / 12} | ${2} | ${2000} | ${2000}
103+
${8 / 12} | ${10} | ${2000} | ${10000}
104+
${8 / 12} | ${12} | ${2000} | ${12666.67}
105+
${8 / 12} | ${12} | ${2100} | ${13300}
106+
`(
107+
"ancienneté: $seniority an, salaire de référence: $salary, => $expectedCompensation €",
108+
({ seniority, seniorityRight, salary, expectedCompensation }) => {
109+
const { result, missingArgs } = engine.setSituation(
110+
{
111+
"contrat salarié . convention collective": "'IDCC3239'",
112+
"contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle":
113+
"oui",
114+
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle":
115+
CatPro3239.salarieParticulierEmployeur,
116+
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle . assistante maternelle . type de licenciement": `'Non'`,
117+
"contrat salarié . convention collective . particuliers employeurs et emploi à domicile . indemnité de licenciement . catégorie professionnelle . assistante maternelle . type de licenciement . autres . total salaires":
118+
salary,
119+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année":
120+
seniority,
121+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année":
122+
seniorityRight,
123+
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel":
124+
salary,
125+
},
126+
"contrat salarié . indemnité de licenciement . résultat conventionnel"
127+
);
128+
129+
expect(missingArgs).toEqual([]);
130+
expect(result.unit?.numerators).toEqual(["€"]);
131+
expect(result.value).toEqual(expectedCompensation);
132+
}
133+
);
92134
});
93135
});

packages/code-du-travail-modeles/src/modeles/conventions/787_comptables/__tests__/indemnite-licenciement/indemnite.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ describe("CC 787", () => {
2121
const { result, missingArgs } = engine.setSituation(
2222
{
2323
"contrat salarié . convention collective": "'IDCC0787'",
24+
"contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle":
25+
"non",
2426
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année":
2527
seniority,
2628
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année":

0 commit comments

Comments
 (0)