@socialgouv/modeles-social 4.68.0 → 4.69.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 CHANGED
@@ -3,6 +3,17 @@
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.69.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.68.0...v4.69.0) (2022-02-10)
7
+
8
+
9
+ ### Features
10
+
11
+ * **simulator:** add new CC 2941 ([#4166](https://github.com/SocialGouv/code-du-travail-numerique/issues/4166)) ([8330d59](https://github.com/SocialGouv/code-du-travail-numerique/commit/8330d59949b592446720173a680e01597d8df2ac))
12
+
13
+
14
+
15
+
16
+
6
17
  # [4.68.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.67.1...v4.68.0) (2022-02-02)
7
18
 
8
19
  **Note:** Version bump only for package @socialgouv/modeles-social
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@socialgouv/modeles-social",
3
- "version": "4.68.0",
3
+ "version": "4.69.0",
4
4
  "description": "Les règles publicodes des simulateurs de code du travail numérique",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -40,5 +40,5 @@
40
40
  "yarn lint --fix"
41
41
  ]
42
42
  },
43
- "gitHead": "70abb45648575e066c6e6d3b4d439bd27b43c15e"
43
+ "gitHead": "53c59d6ed307afd81e13c7b918be1642c5cbdb14"
44
44
  }
@@ -0,0 +1,84 @@
1
+ import Engine from "publicodes";
2
+
3
+ import { getNotifications } from "../../../index";
4
+ import { mergeModels } from "../../../internal/merger";
5
+
6
+ const engine = new Engine(mergeModels());
7
+
8
+ test.each`
9
+ seniority | expectedNotice
10
+ ${1} | ${0}
11
+ ${6} | ${1}
12
+ ${24} | ${2}
13
+ `(
14
+ "Pour un employé possédant $seniority mois d'ancienneté, son préavis de départ à la retraite devrait être $expectedNotice mois",
15
+ ({ seniority, expectedNotice }) => {
16
+ const situation = engine.setSituation({
17
+ "contrat salarié . ancienneté": seniority,
18
+ "contrat salarié . convention collective": "'IDCC2941'",
19
+ "contrat salarié . mise à la retraite": "non",
20
+ "contrat salarié . travailleur handicapé": "non",
21
+ });
22
+ const result = situation.evaluate("contrat salarié . préavis de retraite");
23
+
24
+ expect(result.nodeValue).toEqual(expectedNotice);
25
+ expect(result.unit?.numerators).toEqual(["mois"]);
26
+ expect(result.missingVariables).toEqual({});
27
+
28
+ expect(getNotifications(situation)).toHaveLength(0);
29
+ }
30
+ );
31
+
32
+ test.each`
33
+ seniority | category | expectedNotice | expectedUnit | expectedNotif
34
+ ${1} | ${"A, B, C ou D"} | ${7} | ${"jour"} | ${"1 semaine de date à date"}
35
+ ${6} | ${"A, B, C ou D"} | ${1} | ${"mois"} | ${"1 mois de date à date"}
36
+ ${25} | ${"A, B, C ou D"} | ${2} | ${"mois"} | ${"2 mois de date à date"}
37
+ ${1} | ${"E ou F"} | ${1} | ${"mois"} | ${"1 mois de date à date"}
38
+ ${6} | ${"E ou F"} | ${1} | ${"mois"} | ${"1 mois de date à date"}
39
+ ${24} | ${"E ou F"} | ${2} | ${"mois"} | ${"2 mois de date à date"}
40
+ ${25} | ${"E ou F"} | ${2} | ${"mois"} | ${"2 mois de date à date"}
41
+ ${1} | ${"G, H ou I"} | ${2} | ${"mois"} | ${"2 mois de date à date"}
42
+ ${6} | ${"G, H ou I"} | ${2} | ${"mois"} | ${"2 mois de date à date"}
43
+ ${24} | ${"G, H ou I"} | ${4} | ${"mois"} | ${"4 mois de date à date"}
44
+ ${25} | ${"G, H ou I"} | ${4} | ${"mois"} | ${"4 mois de date à date"}
45
+ `(
46
+ "Pour un employé de category $category possédant $seniority mois d'ancienneté, son préavis de mise à la retraite devrait être $expectedNotice mois",
47
+ ({ seniority, category, expectedNotice, expectedUnit, expectedNotif }) => {
48
+ const situation = engine.setSituation({
49
+ "contrat salarié . ancienneté": seniority,
50
+ "contrat salarié . convention collective": "'IDCC2941'",
51
+ "contrat salarié . convention collective . bad . catégorie professionnelle": `'${category}'`,
52
+ "contrat salarié . mise à la retraite": "oui",
53
+ "contrat salarié . travailleur handicapé": "non",
54
+ });
55
+ const result = situation.evaluate("contrat salarié . préavis de retraite");
56
+ const notifications = getNotifications(situation);
57
+
58
+ expect(result.nodeValue).toEqual(expectedNotice);
59
+ expect(result.unit?.numerators).toEqual([expectedUnit]);
60
+ expect(result.missingVariables).toEqual({});
61
+
62
+ expect(notifications).toHaveLength(1);
63
+ expect(notifications[0].description).toBe(expectedNotif);
64
+ }
65
+ );
66
+
67
+ test("Pour un employé de category A, B, C ou D possédant 24 mois d'ancienneté, son préavis de mise à la retraite devrait être 2 mois mais il ne doit pas avoir de notif", () => {
68
+ const situation = engine.setSituation({
69
+ "contrat salarié . ancienneté": 24,
70
+ "contrat salarié . convention collective": "'IDCC2941'",
71
+ "contrat salarié . convention collective . bad . catégorie professionnelle":
72
+ "'A, B, C ou D'",
73
+ "contrat salarié . mise à la retraite": "oui",
74
+ "contrat salarié . travailleur handicapé": "non",
75
+ });
76
+ const result = situation.evaluate("contrat salarié . préavis de retraite");
77
+ const notifications = getNotifications(situation);
78
+
79
+ expect(result.nodeValue).toEqual(2);
80
+ expect(result.unit?.numerators).toEqual(["mois"]);
81
+ expect(result.missingVariables).toEqual({});
82
+
83
+ expect(notifications).toHaveLength(0);
84
+ });
@@ -0,0 +1,54 @@
1
+ import Engine from "publicodes";
2
+
3
+ import { mergeModels } from "../../../internal/merger";
4
+ import { getReferences } from "../../../utils/GetReferences";
5
+ import {
6
+ DepartRetraiteReferences,
7
+ MiseRetraiteReferences,
8
+ } from "../../common/legal-references";
9
+
10
+ const engine = new Engine(mergeModels());
11
+
12
+ const MiseRetraiteReferencesBad = [
13
+ {
14
+ article: "Titre IV, article 26.1 et Titre IV, article 29",
15
+ url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000025805633/?idConteneur=KALICONT000025805800",
16
+ },
17
+ ].concat(MiseRetraiteReferences);
18
+ test("Vérification des références juridiques pour un employéen en depart à la retraite", () => {
19
+ const result = getReferences(
20
+ engine.setSituation({
21
+ "contrat salarié . ancienneté": 6,
22
+ "contrat salarié . convention collective": "'IDCC2941'",
23
+ "contrat salarié . convention collective . bad . catégorie professionnelle": `'A, B, C ou D'`,
24
+ "contrat salarié . mise à la retraite": "non",
25
+ "contrat salarié . travailleur handicapé": "non",
26
+ })
27
+ );
28
+
29
+ expect(result).toHaveLength(DepartRetraiteReferences.length);
30
+ expect(result).toEqual(expect.arrayContaining(DepartRetraiteReferences));
31
+ });
32
+
33
+ test.each`
34
+ category | expectedReferences
35
+ ${"A, B, C ou D"} | ${MiseRetraiteReferencesBad}
36
+ ${"E ou F"} | ${MiseRetraiteReferencesBad}
37
+ ${"G, H ou I"} | ${MiseRetraiteReferencesBad}
38
+ `(
39
+ "Vérification des références juridiques pour un $category mise à la retraite",
40
+ ({ category, expectedReferences }) => {
41
+ const result = getReferences(
42
+ engine.setSituation({
43
+ "contrat salarié . ancienneté": 6,
44
+ "contrat salarié . convention collective": "'IDCC2941'",
45
+ "contrat salarié . convention collective . bad . catégorie professionnelle": `'${category}'`,
46
+ "contrat salarié . mise à la retraite": "oui",
47
+ "contrat salarié . travailleur handicapé": "non",
48
+ })
49
+ );
50
+
51
+ expect(result).toHaveLength(expectedReferences.length);
52
+ expect(result).toEqual(expect.arrayContaining(expectedReferences));
53
+ }
54
+ );
@@ -4,4 +4,144 @@ contrat salarié . convention collective . bad:
4
4
  valeur: oui
5
5
  cdtn:
6
6
  idcc: 2941
7
- préavis-retraite: false
7
+ préavis-retraite: true
8
+
9
+ contrat salarié . convention collective . bad . catégorie professionnelle:
10
+ applicable si: mise à la retraite
11
+ titre: Catégorie professionnelle
12
+ question: Quelle est la catégorie professionnelle du salarié ?
13
+ description: La catégorie professionnelle du salarié est habituellement mentionnée sur le <strong>bulletin de salaire</strong>.
14
+ cdtn:
15
+ type: liste
16
+ valeurs:
17
+ A, B, C ou D: "'A, B, C ou D'"
18
+ E ou F: "'E ou F'"
19
+ G, H ou I: "'G, H ou I'"
20
+
21
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D:
22
+ applicable si: catégorie professionnelle = 'A, B, C ou D'
23
+ valeur: oui
24
+
25
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D . six mois:
26
+ applicable si: ancienneté < 6 mois
27
+ valeur: oui
28
+
29
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D . six mois . préavis de retaite:
30
+ applicable si: mise à la retraite
31
+ remplace: contrat salarié . préavis de retraite collective
32
+ valeur: 7 jour
33
+ références:
34
+ Titre IV, article 26.1 et Titre IV, article 29: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000025805633/?idConteneur=KALICONT000025805800
35
+
36
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D . six mois . préavis de retaite . notification:
37
+ type: notification
38
+ description: "1 semaine de date à date"
39
+ valeur: oui
40
+
41
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D . moins de deux ans:
42
+ applicable si:
43
+ toutes ces conditions:
44
+ - ancienneté >= 6 mois
45
+ - ancienneté <= 24 mois
46
+ valeur: oui
47
+
48
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D . moins de deux ans . préavis de retaite:
49
+ applicable si: mise à la retraite
50
+ remplace: contrat salarié . préavis de retraite collective
51
+ valeur: 1 mois
52
+ références:
53
+ Titre IV, article 26.1 et Titre IV, article 29: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000025805633/?idConteneur=KALICONT000025805800
54
+
55
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D . moins de deux ans . préavis de retaite . notification:
56
+ type: notification
57
+ applicable si: contrat salarié . préavis de retraite = contrat salarié . préavis de retraite collective
58
+ description: "1 mois de date à date"
59
+ valeur: oui
60
+
61
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D . plus de deux ans:
62
+ applicable si: ancienneté >= 25 mois
63
+ valeur: oui
64
+
65
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D . plus de deux ans . préavis de retaite:
66
+ applicable si: mise à la retraite
67
+ remplace: contrat salarié . préavis de retraite collective
68
+ valeur: 2 mois
69
+ références:
70
+ Titre IV, article 26.1 et Titre IV, article 29: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000025805633/?idConteneur=KALICONT000025805800
71
+
72
+ contrat salarié . convention collective . bad . catégorie professionnelle . A B C ou D . plus de deux ans . préavis de retaite . notification:
73
+ type: notification
74
+ description: "2 mois de date à date"
75
+ valeur: oui
76
+
77
+ contrat salarié . convention collective . bad . catégorie professionnelle . E ou F:
78
+ applicable si: catégorie professionnelle = 'E ou F'
79
+ valeur: oui
80
+
81
+ contrat salarié . convention collective . bad . catégorie professionnelle . E ou F . moins de deux ans:
82
+ applicable si: ancienneté < 24 mois
83
+ valeur: oui
84
+
85
+ contrat salarié . convention collective . bad . catégorie professionnelle . E ou F . moins de deux ans . préavis de retaite:
86
+ applicable si: mise à la retraite
87
+ remplace: contrat salarié . préavis de retraite collective
88
+ valeur: 1 mois
89
+ références:
90
+ Titre IV, article 26.1 et Titre IV, article 29: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000025805633/?idConteneur=KALICONT000025805800
91
+
92
+ contrat salarié . convention collective . bad . catégorie professionnelle . E ou F . moins de deux ans . préavis de retaite . notification:
93
+ type: notification
94
+ description: "1 mois de date à date"
95
+ valeur: oui
96
+
97
+ contrat salarié . convention collective . bad . catégorie professionnelle . E ou F . plus de deux ans:
98
+ applicable si: ancienneté >= 24 mois
99
+ valeur: oui
100
+
101
+ contrat salarié . convention collective . bad . catégorie professionnelle . E ou F . plus de deux ans . préavis de retaite:
102
+ applicable si: mise à la retraite
103
+ remplace: contrat salarié . préavis de retraite collective
104
+ valeur: 2 mois
105
+ références:
106
+ Titre IV, article 26.1 et Titre IV, article 29: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000025805633/?idConteneur=KALICONT000025805800
107
+
108
+ contrat salarié . convention collective . bad . catégorie professionnelle . E ou F . plus de deux ans . préavis de retaite . notification:
109
+ type: notification
110
+ description: "2 mois de date à date"
111
+ valeur: oui
112
+
113
+ contrat salarié . convention collective . bad . catégorie professionnelle . G H ou I:
114
+ applicable si: catégorie professionnelle = 'G, H ou I'
115
+ valeur: oui
116
+
117
+ contrat salarié . convention collective . bad . catégorie professionnelle . G H ou I . moins de deux ans:
118
+ applicable si: ancienneté < 24 mois
119
+ valeur: oui
120
+
121
+ contrat salarié . convention collective . bad . catégorie professionnelle . G H ou I . moins de deux ans . préavis de retaite:
122
+ applicable si: mise à la retraite
123
+ remplace: contrat salarié . préavis de retraite collective
124
+ valeur: 2 mois
125
+ références:
126
+ Titre IV, article 26.1 et Titre IV, article 29: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000025805633/?idConteneur=KALICONT000025805800
127
+
128
+ contrat salarié . convention collective . bad . catégorie professionnelle . G H ou I . moins de deux ans . préavis de retaite . notification:
129
+ type: notification
130
+ description: "2 mois de date à date"
131
+ valeur: oui
132
+
133
+ contrat salarié . convention collective . bad . catégorie professionnelle . G H ou I . plus de deux ans:
134
+ applicable si: ancienneté >= 24 mois
135
+ valeur: oui
136
+
137
+ contrat salarié . convention collective . bad . catégorie professionnelle . G H ou I . plus de deux ans . préavis de retaite:
138
+ applicable si: mise à la retraite
139
+ remplace: contrat salarié . préavis de retraite collective
140
+ valeur: 4 mois
141
+ références:
142
+ Titre IV, article 26.1 et Titre IV, article 29: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000025805633/?idConteneur=KALICONT000025805800
143
+
144
+ contrat salarié . convention collective . bad . catégorie professionnelle . G H ou I . plus de deux ans . préavis de retaite . notification:
145
+ type: notification
146
+ description: "4 mois de date à date"
147
+ valeur: oui