@socialgouv/modeles-social 4.119.0 → 4.120.0
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/CHANGELOG.md +10 -0
- package/bin/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/formule.spec.js +1 -1
- package/bin/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/indemnite.spec.js +37 -16
- package/lib/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/formule.spec.js +1 -1
- package/lib/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/indemnite.spec.js +37 -16
- package/lib/modeles/modeles-indemnite-licenciement.json +43 -4
- package/package.json +2 -2
- package/src/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/formule.spec.ts +3 -0
- package/src/modeles/conventions/573_commerces_de_gros/__tests__/indemnite-licenciement/indemnite.spec.ts +96 -51
- package/src/modeles/conventions/573_commerces_de_gros/indemnite-licenciement.yaml +34 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
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.120.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.119.1...v4.120.0) (2024-01-25)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **indemnite-licenciement:** mise en place d'un plafond sur la CC 573 ([#5579](https://github.com/SocialGouv/code-du-travail-numerique/issues/5579)) ([b961f10](https://github.com/SocialGouv/code-du-travail-numerique/commit/b961f10027e7e7b9254c5e988740f2dd154b8101))
|
|
11
|
+
|
|
12
|
+
## [4.119.1](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.119.0...v4.119.1) (2024-01-11)
|
|
13
|
+
|
|
14
|
+
**Note:** Version bump only for package @socialgouv/modeles-social
|
|
15
|
+
|
|
6
16
|
# [4.119.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.118.0...v4.119.0) (2024-01-11)
|
|
7
17
|
|
|
8
18
|
**Note:** Version bump only for package @socialgouv/modeles-social
|
|
@@ -42,7 +42,7 @@ describe("Formules pour la CC 573", function () {
|
|
|
42
42
|
});
|
|
43
43
|
});
|
|
44
44
|
describe("Cadres", function () {
|
|
45
|
-
test.each(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n age | category | typeLicenciement | cadreAuMoins15ans | seniority | expectedFormula | expectedExplanations\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "], ["\n age | category | typeLicenciement | cadreAuMoins15ans | seniority | expectedFormula | expectedExplanations\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "])), 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 0.99, "", [], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 1, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (1 an)", "Sref : Salaire de référence (1000 €)"], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 4, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (4 ans)", "Sref : Salaire de référence (1000 €)"], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 5, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (5 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 15% * (3 / 10 * Sref * A1) + 15% * (4 / 10 * Sref * A2) + 15% * (5 / 10 * Sref * A3)", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 20% * (3 / 10 * Sref * A1) + 20% * (4 / 10 * Sref * A2) + 20% * (5 / 10 * Sref * A3)", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"])("ancienneté: $seniority an, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €", function (_a) {
|
|
45
|
+
test.each(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n age | category | typeLicenciement | cadreAuMoins15ans | seniority | expectedFormula | expectedExplanations\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "], ["\n age | category | typeLicenciement | cadreAuMoins15ans | seniority | expectedFormula | expectedExplanations\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "])), 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 0.99, "", [], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 1, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (1 an)", "Sref : Salaire de référence (1000 €)"], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 4, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (4 ans)", "Sref : Salaire de référence (1000 €)"], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 5, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (5 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 40, "12 * Sref", ["Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 15% * (3 / 10 * Sref * A1) + 15% * (4 / 10 * Sref * A2) + 15% * (5 / 10 * Sref * A3)", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 40, "12 * Sref + (15% * 12 * Sref)", ["Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 20% * (3 / 10 * Sref * A1) + 20% * (4 / 10 * Sref * A2) + 20% * (5 / 10 * Sref * A3)", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 40, "12 * Sref + (20% * 12 * Sref)", ["Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"])("ancienneté: $seniority an, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €", function (_a) {
|
|
46
46
|
var seniority = _a.seniority, expectedFormula = _a.expectedFormula, expectedExplanations = _a.expectedExplanations, category = _a.category, cadreAuMoins15ans = _a.cadreAuMoins15ans, age = _a.age;
|
|
47
47
|
engine.setSituation({
|
|
48
48
|
"contrat salarié . convention collective": "'IDCC0573'",
|
|
@@ -59,22 +59,43 @@ describe("Indemnité conventionnel de licenciement pour la CC 573", function ()
|
|
|
59
59
|
});
|
|
60
60
|
});
|
|
61
61
|
describe("Cadres", function () {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
62
|
+
describe("moins de 50 ans", function () {
|
|
63
|
+
test.each(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "], ["\n age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "])), 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 0.99, 0.99, 3200, 0, 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 0.99, 1, 3200, 0, 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 1, 3200, 640, 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 4, 3200, 2560, 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 5, 3200, 3200, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 6, 3200, 5760, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 10, 3200, 9920, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 23, 3200, 27840, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 23, 3200, 27840, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 40, 3200, 38400)("ancienneté: $seniority an, salaire de référence: $salary, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €", function (_a) {
|
|
64
|
+
var _b;
|
|
65
|
+
var seniority = _a.seniority, seniorityRight = _a.seniorityRight, salary = _a.salary, expectedCompensation = _a.expectedCompensation, category = _a.category, auMoins15AnsCadre = _a.auMoins15AnsCadre, age = _a.age;
|
|
66
|
+
var _c = engine.setSituation({
|
|
67
|
+
"contrat salarié . convention collective": "'IDCC0573'",
|
|
68
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle": "'".concat(category, "'"),
|
|
69
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans . age": age,
|
|
70
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans question": "'".concat(auMoins15AnsCadre, "'"),
|
|
71
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année": seniority,
|
|
72
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année": seniorityRight,
|
|
73
|
+
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel": salary,
|
|
74
|
+
}, "contrat salarié . indemnité de licenciement . résultat conventionnel"), result = _c.result, missingArgs = _c.missingArgs;
|
|
75
|
+
expect(result.value).toEqual(expectedCompensation);
|
|
76
|
+
expect(missingArgs).toEqual([]);
|
|
77
|
+
expect((_b = result.unit) === null || _b === void 0 ? void 0 : _b.numerators).toEqual(["€"]);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
describe("plus de 50 ans", function () {
|
|
81
|
+
// plafond : 12*Sref + (20%x12xSref)
|
|
82
|
+
test.each(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "], ["\n age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "])), 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 6, 3200, 5760, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 10, 3200, 9920, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 23, 3200, 32016, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 40, 3200, 44160, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 23, 3200, 27840, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 40, 3200, 38400, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 6, 3200, 5760, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 10, 3200, 9920, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 23, 3200, 33408, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 40, 3200, 46080, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 23, 3200, 27840, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 40, 3200, 38400)("ancienneté: $seniority an, salaire de référence: $salary, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €", function (_a) {
|
|
83
|
+
var _b;
|
|
84
|
+
var seniority = _a.seniority, seniorityRight = _a.seniorityRight, salary = _a.salary, expectedCompensation = _a.expectedCompensation, category = _a.category, auMoins15AnsCadre = _a.auMoins15AnsCadre, age = _a.age;
|
|
85
|
+
var _c = engine.setSituation({
|
|
86
|
+
"contrat salarié . convention collective": "'IDCC0573'",
|
|
87
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle": "'".concat(category, "'"),
|
|
88
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans . age": age,
|
|
89
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans question": "'".concat(auMoins15AnsCadre, "'"),
|
|
90
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année": seniority,
|
|
91
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année": seniorityRight,
|
|
92
|
+
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel": salary,
|
|
93
|
+
}, "contrat salarié . indemnité de licenciement . résultat conventionnel"), result = _c.result, missingArgs = _c.missingArgs;
|
|
94
|
+
expect(result.value).toEqual(expectedCompensation);
|
|
95
|
+
expect(missingArgs).toEqual([]);
|
|
96
|
+
expect((_b = result.unit) === null || _b === void 0 ? void 0 : _b.numerators).toEqual(["€"]);
|
|
97
|
+
});
|
|
77
98
|
});
|
|
78
99
|
});
|
|
79
100
|
});
|
|
80
|
-
var templateObject_1, templateObject_2, templateObject_3;
|
|
101
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
@@ -42,7 +42,7 @@ describe("Formules pour la CC 573", function () {
|
|
|
42
42
|
});
|
|
43
43
|
});
|
|
44
44
|
describe("Cadres", function () {
|
|
45
|
-
test.each(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n age | category | typeLicenciement | cadreAuMoins15ans | seniority | expectedFormula | expectedExplanations\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "], ["\n age | category | typeLicenciement | cadreAuMoins15ans | seniority | expectedFormula | expectedExplanations\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "])), 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 0.99, "", [], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 1, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (1 an)", "Sref : Salaire de référence (1000 €)"], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 4, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (4 ans)", "Sref : Salaire de référence (1000 €)"], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 5, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (5 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 15% * (3 / 10 * Sref * A1) + 15% * (4 / 10 * Sref * A2) + 15% * (5 / 10 * Sref * A3)", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 20% * (3 / 10 * Sref * A1) + 20% * (4 / 10 * Sref * A2) + 20% * (5 / 10 * Sref * A3)", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"])("ancienneté: $seniority an, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €", function (_a) {
|
|
45
|
+
test.each(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n age | category | typeLicenciement | cadreAuMoins15ans | seniority | expectedFormula | expectedExplanations\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "], ["\n age | category | typeLicenciement | cadreAuMoins15ans | seniority | expectedFormula | expectedExplanations\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "])), 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 0.99, "", [], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 1, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (1 an)", "Sref : Salaire de référence (1000 €)"], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 4, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (4 ans)", "Sref : Salaire de référence (1000 €)"], 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 5, "2 / 10 * Sref * A", ["A : Années d'ancienneté au total (5 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 40, "12 * Sref", ["Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 15% * (3 / 10 * Sref * A1) + 15% * (4 / 10 * Sref * A2) + 15% * (5 / 10 * Sref * A3)", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 40, "12 * Sref + (15% * 12 * Sref)", ["Sref : Salaire de référence (1000 €)"], 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 6, "3 / 10 * Sref * A1", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 10, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 20% * (3 / 10 * Sref * A1) + 20% * (4 / 10 * Sref * A2) + 20% * (5 / 10 * Sref * A3)", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.oui, 40, "12 * Sref + (20% * 12 * Sref)", ["Sref : Salaire de référence (1000 €)"], 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, common_1.QuestionOuiNon.non, 23, "3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3", ["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"])("ancienneté: $seniority an, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €", function (_a) {
|
|
46
46
|
var seniority = _a.seniority, expectedFormula = _a.expectedFormula, expectedExplanations = _a.expectedExplanations, category = _a.category, cadreAuMoins15ans = _a.cadreAuMoins15ans, age = _a.age;
|
|
47
47
|
engine.setSituation({
|
|
48
48
|
"contrat salarié . convention collective": "'IDCC0573'",
|
|
@@ -59,22 +59,43 @@ describe("Indemnité conventionnel de licenciement pour la CC 573", function ()
|
|
|
59
59
|
});
|
|
60
60
|
});
|
|
61
61
|
describe("Cadres", function () {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
62
|
+
describe("moins de 50 ans", function () {
|
|
63
|
+
test.each(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "], ["\n age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "])), 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 0.99, 0.99, 3200, 0, 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 0.99, 1, 3200, 0, 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 1, 3200, 640, 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 4, 3200, 2560, 32, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 5, 3200, 3200, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 6, 3200, 5760, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 10, 3200, 9920, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 23, 3200, 27840, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 23, 3200, 27840, 40, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 40, 3200, 38400)("ancienneté: $seniority an, salaire de référence: $salary, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €", function (_a) {
|
|
64
|
+
var _b;
|
|
65
|
+
var seniority = _a.seniority, seniorityRight = _a.seniorityRight, salary = _a.salary, expectedCompensation = _a.expectedCompensation, category = _a.category, auMoins15AnsCadre = _a.auMoins15AnsCadre, age = _a.age;
|
|
66
|
+
var _c = engine.setSituation({
|
|
67
|
+
"contrat salarié . convention collective": "'IDCC0573'",
|
|
68
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle": "'".concat(category, "'"),
|
|
69
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans . age": age,
|
|
70
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans question": "'".concat(auMoins15AnsCadre, "'"),
|
|
71
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année": seniority,
|
|
72
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année": seniorityRight,
|
|
73
|
+
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel": salary,
|
|
74
|
+
}, "contrat salarié . indemnité de licenciement . résultat conventionnel"), result = _c.result, missingArgs = _c.missingArgs;
|
|
75
|
+
expect(result.value).toEqual(expectedCompensation);
|
|
76
|
+
expect(missingArgs).toEqual([]);
|
|
77
|
+
expect((_b = result.unit) === null || _b === void 0 ? void 0 : _b.numerators).toEqual(["€"]);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
describe("plus de 50 ans", function () {
|
|
81
|
+
// plafond : 12*Sref + (20%x12xSref)
|
|
82
|
+
test.each(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "], ["\n age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", " | ", " | ", " | ", "\n "])), 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 6, 3200, 5760, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 10, 3200, 9920, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 23, 3200, 32016, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 40, 3200, 44160, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 23, 3200, 27840, 52, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 40, 3200, 38400, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 6, 3200, 5760, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 10, 3200, 9920, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 23, 3200, 33408, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.oui, 1, 40, 3200, 46080, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 23, 3200, 27840, 57, salary_1.CatPro573.cadres, common_1.QuestionOuiNon.non, 1, 40, 3200, 38400)("ancienneté: $seniority an, salaire de référence: $salary, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €", function (_a) {
|
|
83
|
+
var _b;
|
|
84
|
+
var seniority = _a.seniority, seniorityRight = _a.seniorityRight, salary = _a.salary, expectedCompensation = _a.expectedCompensation, category = _a.category, auMoins15AnsCadre = _a.auMoins15AnsCadre, age = _a.age;
|
|
85
|
+
var _c = engine.setSituation({
|
|
86
|
+
"contrat salarié . convention collective": "'IDCC0573'",
|
|
87
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle": "'".concat(category, "'"),
|
|
88
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans . age": age,
|
|
89
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans question": "'".concat(auMoins15AnsCadre, "'"),
|
|
90
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année": seniority,
|
|
91
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année": seniorityRight,
|
|
92
|
+
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel": salary,
|
|
93
|
+
}, "contrat salarié . indemnité de licenciement . résultat conventionnel"), result = _c.result, missingArgs = _c.missingArgs;
|
|
94
|
+
expect(result.value).toEqual(expectedCompensation);
|
|
95
|
+
expect(missingArgs).toEqual([]);
|
|
96
|
+
expect((_b = result.unit) === null || _b === void 0 ? void 0 : _b.numerators).toEqual(["€"]);
|
|
97
|
+
});
|
|
77
98
|
});
|
|
78
99
|
});
|
|
79
100
|
});
|
|
80
|
-
var templateObject_1, templateObject_2, templateObject_3;
|
|
101
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
@@ -5642,7 +5642,7 @@
|
|
|
5642
5642
|
]
|
|
5643
5643
|
},
|
|
5644
5644
|
"valeur": "formule 3 agent",
|
|
5645
|
-
"plafond": "
|
|
5645
|
+
"plafond": "plafond 12 mois",
|
|
5646
5646
|
"unité": "€",
|
|
5647
5647
|
"arrondi": "2 décimales",
|
|
5648
5648
|
"références": {
|
|
@@ -5674,6 +5674,7 @@
|
|
|
5674
5674
|
"valeur": "somme cadre avec majoration 20%",
|
|
5675
5675
|
"unité": "€",
|
|
5676
5676
|
"arrondi": "2 décimales",
|
|
5677
|
+
"plafond": "plafond 12 mois majoré de 20 pourcent",
|
|
5677
5678
|
"références": {
|
|
5678
5679
|
"Article 37": "https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000026802009?idConteneur=KALICONT000005635373",
|
|
5679
5680
|
"Article 4 de l’Avenant I relatif aux cadres": "https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000026802057?idConteneur=KALICONT000005635373"
|
|
@@ -5709,6 +5710,7 @@
|
|
|
5709
5710
|
},
|
|
5710
5711
|
"valeur": "somme cadre avec majoration 15%",
|
|
5711
5712
|
"unité": "€",
|
|
5713
|
+
"plafond": "plafond 12 mois majoré de 15 pourcent",
|
|
5712
5714
|
"arrondi": "2 décimales",
|
|
5713
5715
|
"références": {
|
|
5714
5716
|
"Article 37": "https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000026802009?idConteneur=KALICONT000005635373",
|
|
@@ -5744,7 +5746,7 @@
|
|
|
5744
5746
|
},
|
|
5745
5747
|
"applicable si": "contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année > 5",
|
|
5746
5748
|
"valeur": "somme cadre sans majoration",
|
|
5747
|
-
"plafond": "
|
|
5749
|
+
"plafond": "plafond 12 mois",
|
|
5748
5750
|
"unité": "€",
|
|
5749
5751
|
"arrondi": "2 décimales",
|
|
5750
5752
|
"références": {
|
|
@@ -5785,8 +5787,11 @@
|
|
|
5785
5787
|
}
|
|
5786
5788
|
}
|
|
5787
5789
|
},
|
|
5788
|
-
"contrat salarié . convention collective . commerces de gros .
|
|
5789
|
-
"
|
|
5790
|
+
"contrat salarié . convention collective . commerces de gros . plafond 12 mois": {
|
|
5791
|
+
"valeur": "contrat salarié . indemnité de licenciement . salaire de référence conventionnel * 12"
|
|
5792
|
+
},
|
|
5793
|
+
"contrat salarié . convention collective . commerces de gros . formule plafond 12 mois": {
|
|
5794
|
+
"applicable si": "contrat salarié . indemnité de licenciement . résultat conventionnel = plafond 12 mois",
|
|
5790
5795
|
"valeur": "oui",
|
|
5791
5796
|
"cdtn": {
|
|
5792
5797
|
"formule": {
|
|
@@ -5798,6 +5803,40 @@
|
|
|
5798
5803
|
]
|
|
5799
5804
|
}
|
|
5800
5805
|
}
|
|
5806
|
+
},
|
|
5807
|
+
"contrat salarié . convention collective . commerces de gros . plafond 12 mois majoré de 15 pourcent": {
|
|
5808
|
+
"valeur": "12 * contrat salarié . indemnité de licenciement . salaire de référence conventionnel + (12 * contrat salarié . indemnité de licenciement . salaire de référence conventionnel * 0.15)"
|
|
5809
|
+
},
|
|
5810
|
+
"contrat salarié . convention collective . commerces de gros . formule plafond 12 mois majoré de 15 pourcent": {
|
|
5811
|
+
"applicable si": "contrat salarié . indemnité de licenciement . résultat conventionnel >= plafond 12 mois majoré de 15 pourcent",
|
|
5812
|
+
"valeur": "oui",
|
|
5813
|
+
"cdtn": {
|
|
5814
|
+
"formule": {
|
|
5815
|
+
"formula": "12 * Sref + (15% * 12 * Sref)",
|
|
5816
|
+
"explanations": [
|
|
5817
|
+
{
|
|
5818
|
+
"Sref : Salaire de référence": "contrat salarié . indemnité de licenciement . salaire de référence conventionnel"
|
|
5819
|
+
}
|
|
5820
|
+
]
|
|
5821
|
+
}
|
|
5822
|
+
}
|
|
5823
|
+
},
|
|
5824
|
+
"contrat salarié . convention collective . commerces de gros . plafond 12 mois majoré de 20 pourcent": {
|
|
5825
|
+
"valeur": "12 * contrat salarié . indemnité de licenciement . salaire de référence conventionnel + (12 * contrat salarié . indemnité de licenciement . salaire de référence conventionnel * 0.2)"
|
|
5826
|
+
},
|
|
5827
|
+
"contrat salarié . convention collective . commerces de gros . formule plafond 12 mois majoré de 20 pourcent": {
|
|
5828
|
+
"applicable si": "contrat salarié . indemnité de licenciement . résultat conventionnel >= plafond 12 mois majoré de 20 pourcent",
|
|
5829
|
+
"valeur": "oui",
|
|
5830
|
+
"cdtn": {
|
|
5831
|
+
"formule": {
|
|
5832
|
+
"formula": "12 * Sref + (20% * 12 * Sref)",
|
|
5833
|
+
"explanations": [
|
|
5834
|
+
{
|
|
5835
|
+
"Sref : Salaire de référence": "contrat salarié . indemnité de licenciement . salaire de référence conventionnel"
|
|
5836
|
+
}
|
|
5837
|
+
]
|
|
5838
|
+
}
|
|
5839
|
+
}
|
|
5801
5840
|
}
|
|
5802
5841
|
},
|
|
5803
5842
|
"650": {
|
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.120.0",
|
|
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",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"yarn lint --fix --quiet"
|
|
51
51
|
]
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "68974a92bb034317eaa5b29454040ebe83770b19"
|
|
54
54
|
}
|
|
@@ -90,13 +90,16 @@ describe("Formules pour la CC 573", () => {
|
|
|
90
90
|
${40} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${6} | ${"3 / 10 * Sref * A1"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
91
91
|
${40} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${10} | ${"3 / 10 * Sref * A1 + 4 / 10 * Sref * A2"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"]}
|
|
92
92
|
${40} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${23} | ${"3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
93
|
+
${40} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.non} | ${40} | ${"12 * Sref"} | ${["Sref : Salaire de référence (1000 €)"]}
|
|
93
94
|
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${6} | ${"3 / 10 * Sref * A1"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
94
95
|
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${10} | ${"3 / 10 * Sref * A1 + 4 / 10 * Sref * A2"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"]}
|
|
95
96
|
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${23} | ${"3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 15% * (3 / 10 * Sref * A1) + 15% * (4 / 10 * Sref * A2) + 15% * (5 / 10 * Sref * A3)"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
97
|
+
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${40} | ${"12 * Sref + (15% * 12 * Sref)"} | ${["Sref : Salaire de référence (1000 €)"]}
|
|
96
98
|
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.non} | ${23} | ${"3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
97
99
|
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${6} | ${"3 / 10 * Sref * A1"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (6 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
98
100
|
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${10} | ${"3 / 10 * Sref * A1 + 4 / 10 * Sref * A2"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (1 an)", "Sref : Salaire de référence (1000 €)"]}
|
|
99
101
|
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${23} | ${"3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3 + 20% * (3 / 10 * Sref * A1) + 20% * (4 / 10 * Sref * A2) + 20% * (5 / 10 * Sref * A3)"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
102
|
+
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.oui} | ${40} | ${"12 * Sref + (20% * 12 * Sref)"} | ${["Sref : Salaire de référence (1000 €)"]}
|
|
100
103
|
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${QuestionOuiNon.non} | ${23} | ${"3 / 10 * Sref * A1 + 4 / 10 * Sref * A2 + 5 / 10 * Sref * A3"} | ${["A1 : Années de présence dans la tranche de 0 à 9 ans inclus (9 ans)", "A2 : Années de présence dans la tranche de 10 à 19 ans inclus (10 ans)", "A3 : Années de présence dans la tranche à partir de 20 ans (4 ans)", "Sref : Salaire de référence (1000 €)"]}
|
|
101
104
|
`(
|
|
102
105
|
"ancienneté: $seniority an, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €",
|
|
@@ -116,57 +116,102 @@ describe("Indemnité conventionnel de licenciement pour la CC 573", () => {
|
|
|
116
116
|
});
|
|
117
117
|
|
|
118
118
|
describe("Cadres", () => {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
seniorityRight,
|
|
160
|
-
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel":
|
|
161
|
-
salary,
|
|
162
|
-
},
|
|
163
|
-
"contrat salarié . indemnité de licenciement . résultat conventionnel"
|
|
164
|
-
);
|
|
119
|
+
describe("moins de 50 ans", () => {
|
|
120
|
+
test.each`
|
|
121
|
+
age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation
|
|
122
|
+
${32} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${0.99} | ${0.99} | ${3200} | ${0}
|
|
123
|
+
${32} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${0.99} | ${1} | ${3200} | ${0}
|
|
124
|
+
${32} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${1} | ${3200} | ${640}
|
|
125
|
+
${32} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${4} | ${3200} | ${2560}
|
|
126
|
+
${32} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${5} | ${3200} | ${3200}
|
|
127
|
+
${40} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${6} | ${3200} | ${5760}
|
|
128
|
+
${40} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${10} | ${3200} | ${9920}
|
|
129
|
+
${40} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${23} | ${3200} | ${27840}
|
|
130
|
+
${40} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${1} | ${23} | ${3200} | ${27840}
|
|
131
|
+
${40} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${1} | ${40} | ${3200} | ${38400}
|
|
132
|
+
`(
|
|
133
|
+
"ancienneté: $seniority an, salaire de référence: $salary, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €",
|
|
134
|
+
({
|
|
135
|
+
seniority,
|
|
136
|
+
seniorityRight,
|
|
137
|
+
salary,
|
|
138
|
+
expectedCompensation,
|
|
139
|
+
category,
|
|
140
|
+
auMoins15AnsCadre,
|
|
141
|
+
age,
|
|
142
|
+
}) => {
|
|
143
|
+
const { result, missingArgs } = engine.setSituation(
|
|
144
|
+
{
|
|
145
|
+
"contrat salarié . convention collective": "'IDCC0573'",
|
|
146
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle": `'${category}'`,
|
|
147
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans . age":
|
|
148
|
+
age,
|
|
149
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans question": `'${auMoins15AnsCadre}'`,
|
|
150
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année":
|
|
151
|
+
seniority,
|
|
152
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année":
|
|
153
|
+
seniorityRight,
|
|
154
|
+
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel":
|
|
155
|
+
salary,
|
|
156
|
+
},
|
|
157
|
+
"contrat salarié . indemnité de licenciement . résultat conventionnel"
|
|
158
|
+
);
|
|
165
159
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
160
|
+
expect(result.value).toEqual(expectedCompensation);
|
|
161
|
+
expect(missingArgs).toEqual([]);
|
|
162
|
+
expect(result.unit?.numerators).toEqual(["€"]);
|
|
163
|
+
}
|
|
164
|
+
);
|
|
165
|
+
});
|
|
166
|
+
describe("plus de 50 ans", () => {
|
|
167
|
+
// plafond : 12*Sref + (20%x12xSref)
|
|
168
|
+
test.each`
|
|
169
|
+
age | category | auMoins15AnsCadre | seniorityRight | seniority | salary | expectedCompensation
|
|
170
|
+
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${6} | ${3200} | ${5760}
|
|
171
|
+
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${10} | ${3200} | ${9920}
|
|
172
|
+
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${23} | ${3200} | ${32016}
|
|
173
|
+
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${40} | ${3200} | ${44160}
|
|
174
|
+
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${1} | ${23} | ${3200} | ${27840}
|
|
175
|
+
${52} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${1} | ${40} | ${3200} | ${38400}
|
|
176
|
+
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${6} | ${3200} | ${5760}
|
|
177
|
+
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${10} | ${3200} | ${9920}
|
|
178
|
+
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${23} | ${3200} | ${33408}
|
|
179
|
+
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.oui} | ${1} | ${40} | ${3200} | ${46080}
|
|
180
|
+
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${1} | ${23} | ${3200} | ${27840}
|
|
181
|
+
${57} | ${CatPro573.cadres} | ${QuestionOuiNon.non} | ${1} | ${40} | ${3200} | ${38400}
|
|
182
|
+
`(
|
|
183
|
+
"ancienneté: $seniority an, salaire de référence: $salary, age $age, type de licenciement $typeLicenciement, catégorie $category => $expectedCompensation €",
|
|
184
|
+
({
|
|
185
|
+
seniority,
|
|
186
|
+
seniorityRight,
|
|
187
|
+
salary,
|
|
188
|
+
expectedCompensation,
|
|
189
|
+
category,
|
|
190
|
+
auMoins15AnsCadre,
|
|
191
|
+
age,
|
|
192
|
+
}) => {
|
|
193
|
+
const { result, missingArgs } = engine.setSituation(
|
|
194
|
+
{
|
|
195
|
+
"contrat salarié . convention collective": "'IDCC0573'",
|
|
196
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle": `'${category}'`,
|
|
197
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans . age":
|
|
198
|
+
age,
|
|
199
|
+
"contrat salarié . convention collective . commerces de gros . catégorie professionnelle . cadres . cadre durant au moins de 15 ans question": `'${auMoins15AnsCadre}'`,
|
|
200
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année":
|
|
201
|
+
seniority,
|
|
202
|
+
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année":
|
|
203
|
+
seniorityRight,
|
|
204
|
+
"contrat salarié . indemnité de licenciement . salaire de référence conventionnel":
|
|
205
|
+
salary,
|
|
206
|
+
},
|
|
207
|
+
"contrat salarié . indemnité de licenciement . résultat conventionnel"
|
|
208
|
+
);
|
|
209
|
+
|
|
210
|
+
expect(result.value).toEqual(expectedCompensation);
|
|
211
|
+
expect(missingArgs).toEqual([]);
|
|
212
|
+
expect(result.unit?.numerators).toEqual(["€"]);
|
|
213
|
+
}
|
|
214
|
+
);
|
|
215
|
+
});
|
|
171
216
|
});
|
|
172
217
|
});
|
|
@@ -316,7 +316,7 @@ contrat salarié . convention collective . commerces de gros . catégorie profes
|
|
|
316
316
|
- contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année >= 1
|
|
317
317
|
- contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année <= 5
|
|
318
318
|
valeur: formule 3 agent
|
|
319
|
-
plafond:
|
|
319
|
+
plafond: plafond 12 mois
|
|
320
320
|
unité: €
|
|
321
321
|
arrondi: 2 décimales
|
|
322
322
|
références:
|
|
@@ -338,6 +338,7 @@ contrat salarié . convention collective . commerces de gros . catégorie profes
|
|
|
338
338
|
valeur: somme cadre avec majoration 20%
|
|
339
339
|
unité: €
|
|
340
340
|
arrondi: 2 décimales
|
|
341
|
+
plafond: plafond 12 mois majoré de 20 pourcent
|
|
341
342
|
références:
|
|
342
343
|
Article 37: https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000026802009?idConteneur=KALICONT000005635373
|
|
343
344
|
Article 4 de l’Avenant I relatif aux cadres: https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000026802057?idConteneur=KALICONT000005635373
|
|
@@ -359,6 +360,7 @@ contrat salarié . convention collective . commerces de gros . catégorie profes
|
|
|
359
360
|
- age < 55
|
|
360
361
|
valeur: somme cadre avec majoration 15%
|
|
361
362
|
unité: €
|
|
363
|
+
plafond: plafond 12 mois majoré de 15 pourcent
|
|
362
364
|
arrondi: 2 décimales
|
|
363
365
|
références:
|
|
364
366
|
Article 37: https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000026802009?idConteneur=KALICONT000005635373
|
|
@@ -380,7 +382,7 @@ contrat salarié . convention collective . commerces de gros . catégorie profes
|
|
|
380
382
|
- cadre durant au moins de 15 ans . age . résultat conventionnel 50 ans
|
|
381
383
|
applicable si: contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année > 5
|
|
382
384
|
valeur: somme cadre sans majoration
|
|
383
|
-
plafond:
|
|
385
|
+
plafond: plafond 12 mois
|
|
384
386
|
unité: €
|
|
385
387
|
arrondi: 2 décimales
|
|
386
388
|
références:
|
|
@@ -404,12 +406,40 @@ contrat salarié . convention collective . commerces de gros . formule max 6:
|
|
|
404
406
|
explanations:
|
|
405
407
|
- "Sref : Salaire de référence": contrat salarié . indemnité de licenciement . salaire de référence conventionnel
|
|
406
408
|
|
|
409
|
+
## Plafonds
|
|
407
410
|
|
|
408
|
-
contrat salarié . convention collective . commerces de gros .
|
|
409
|
-
|
|
411
|
+
contrat salarié . convention collective . commerces de gros . plafond 12 mois:
|
|
412
|
+
valeur: contrat salarié . indemnité de licenciement . salaire de référence conventionnel * 12
|
|
413
|
+
|
|
414
|
+
contrat salarié . convention collective . commerces de gros . formule plafond 12 mois:
|
|
415
|
+
applicable si: contrat salarié . indemnité de licenciement . résultat conventionnel = plafond 12 mois
|
|
410
416
|
valeur: oui
|
|
411
417
|
cdtn:
|
|
412
418
|
formule:
|
|
413
419
|
formula: 12 * Sref
|
|
414
420
|
explanations:
|
|
415
421
|
- "Sref : Salaire de référence": contrat salarié . indemnité de licenciement . salaire de référence conventionnel
|
|
422
|
+
|
|
423
|
+
contrat salarié . convention collective . commerces de gros . plafond 12 mois majoré de 15 pourcent:
|
|
424
|
+
valeur: 12 * contrat salarié . indemnité de licenciement . salaire de référence conventionnel + (12 * contrat salarié . indemnité de licenciement . salaire de référence conventionnel * 0.15)
|
|
425
|
+
|
|
426
|
+
contrat salarié . convention collective . commerces de gros . formule plafond 12 mois majoré de 15 pourcent:
|
|
427
|
+
applicable si: contrat salarié . indemnité de licenciement . résultat conventionnel >= plafond 12 mois majoré de 15 pourcent
|
|
428
|
+
valeur: oui
|
|
429
|
+
cdtn:
|
|
430
|
+
formule:
|
|
431
|
+
formula: 12 * Sref + (15% * 12 * Sref)
|
|
432
|
+
explanations:
|
|
433
|
+
- "Sref : Salaire de référence": contrat salarié . indemnité de licenciement . salaire de référence conventionnel
|
|
434
|
+
|
|
435
|
+
contrat salarié . convention collective . commerces de gros . plafond 12 mois majoré de 20 pourcent:
|
|
436
|
+
valeur: 12 * contrat salarié . indemnité de licenciement . salaire de référence conventionnel + (12 * contrat salarié . indemnité de licenciement . salaire de référence conventionnel * 0.2)
|
|
437
|
+
|
|
438
|
+
contrat salarié . convention collective . commerces de gros . formule plafond 12 mois majoré de 20 pourcent:
|
|
439
|
+
applicable si: contrat salarié . indemnité de licenciement . résultat conventionnel >= plafond 12 mois majoré de 20 pourcent
|
|
440
|
+
valeur: oui
|
|
441
|
+
cdtn:
|
|
442
|
+
formule:
|
|
443
|
+
formula: 12 * Sref + (20% * 12 * Sref)
|
|
444
|
+
explanations:
|
|
445
|
+
- "Sref : Salaire de référence": contrat salarié . indemnité de licenciement . salaire de référence conventionnel
|