@socialgouv/modeles-social 4.117.0 → 4.119.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.
Files changed (153) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/bin/modeles/common/factory/seniority.js +3 -2
  3. package/bin/modeles/common/supported-agreements.d.ts +1 -0
  4. package/bin/modeles/common/supported-agreements.js +2 -1
  5. package/bin/modeles/common/types/seniority.d.ts +4 -5
  6. package/bin/modeles/conventions/1090_automobiles/seniority.d.ts +1 -1
  7. package/bin/modeles/conventions/1404_sedima/seniority.d.ts +1 -1
  8. package/bin/modeles/conventions/1486_bureaux_etudes_techniques/seniority.d.ts +1 -1
  9. package/bin/modeles/conventions/1517_commerces_de_detail_non_alimentaires/seniority.d.ts +1 -1
  10. package/bin/modeles/conventions/1527_immobilier/seniority.d.ts +1 -1
  11. package/bin/modeles/conventions/1606_bricolage/seniority.d.ts +1 -1
  12. package/bin/modeles/conventions/1672_societes_assurances/seniority.d.ts +1 -1
  13. package/bin/modeles/conventions/16_transports_routiers/seniority.d.ts +1 -1
  14. package/bin/modeles/conventions/176_industrie_pharmaceutique/seniority.d.ts +1 -1
  15. package/bin/modeles/conventions/1996_pharmacie/seniority.d.ts +1 -1
  16. package/bin/modeles/conventions/2216_commerces_detail_alimentation/seniority.d.ts +1 -1
  17. package/bin/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/seniority.d.ts +1 -1
  18. package/bin/modeles/conventions/3239_particuliers_employeurs_domicile/seniority.d.ts +1 -1
  19. package/bin/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/anciennete.spec.d.ts +1 -0
  20. package/bin/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/anciennete.spec.js +136 -0
  21. package/bin/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/indemnite.spec.d.ts +1 -0
  22. package/bin/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/indemnite.spec.js +721 -0
  23. package/bin/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/missing-args.spec.d.ts +1 -0
  24. package/bin/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/missing-args.spec.js +126 -0
  25. package/bin/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/notifications.spec.d.ts +1 -0
  26. package/bin/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/notifications.spec.js +42 -0
  27. package/bin/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/depart-mise.spec.d.ts +1 -0
  28. package/bin/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/depart-mise.spec.js +55 -0
  29. package/bin/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/references.spec.d.ts +1 -0
  30. package/bin/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/references.spec.js +41 -0
  31. package/bin/modeles/conventions/3248_metallurgie/index.d.ts +1 -0
  32. package/bin/modeles/conventions/3248_metallurgie/index.js +17 -0
  33. package/bin/modeles/conventions/3248_metallurgie/seniority.d.ts +21 -0
  34. package/bin/modeles/conventions/3248_metallurgie/seniority.js +127 -0
  35. package/bin/modeles/conventions/413_handicap/seniority.d.ts +1 -1
  36. package/bin/modeles/conventions/44_industries_chimiques/seniority.d.ts +1 -1
  37. package/bin/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/anciennete.spec.js +2 -0
  38. package/bin/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/formule.spec.js +1 -0
  39. package/bin/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/indemnite.spec.js +591 -0
  40. package/bin/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/missing-args.spec.d.ts +1 -0
  41. package/bin/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/missing-args.spec.js +62 -0
  42. package/bin/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/notifications.spec.js +26 -1
  43. package/bin/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/references.spec.js +3 -0
  44. package/bin/modeles/conventions/650_metallurgie_ingenieurs_cadres/seniority.d.ts +16 -1
  45. package/bin/modeles/conventions/650_metallurgie_ingenieurs_cadres/seniority.js +56 -1
  46. package/bin/modeles/conventions/index.d.ts +2 -0
  47. package/bin/modeles/conventions/index.js +2 -0
  48. package/bin/publicodes/PublicodesBase.js +2 -1
  49. package/bin/simulators/heure-recherche-emploi/heures-recherche-emploi.data.json +128 -81
  50. package/bin/simulators/preavis-demission/preavis-demission.data.json +115 -54
  51. package/bin/simulators/preavis-licenciement/preavis-licenciement.data.json +459 -284
  52. package/bin/simulators/prime-precarite/precarite.data.json +14 -14
  53. package/bin/simulators/types.d.ts +1 -1
  54. package/lib/modeles/common/factory/seniority.js +3 -2
  55. package/lib/modeles/common/supported-agreements.d.ts +1 -0
  56. package/lib/modeles/common/supported-agreements.js +2 -1
  57. package/lib/modeles/common/types/seniority.d.ts +4 -5
  58. package/lib/modeles/common/utils/ccn-supported.json +5 -0
  59. package/lib/modeles/conventions/1090_automobiles/seniority.d.ts +1 -1
  60. package/lib/modeles/conventions/1404_sedima/seniority.d.ts +1 -1
  61. package/lib/modeles/conventions/1486_bureaux_etudes_techniques/seniority.d.ts +1 -1
  62. package/lib/modeles/conventions/1517_commerces_de_detail_non_alimentaires/seniority.d.ts +1 -1
  63. package/lib/modeles/conventions/1527_immobilier/seniority.d.ts +1 -1
  64. package/lib/modeles/conventions/1606_bricolage/seniority.d.ts +1 -1
  65. package/lib/modeles/conventions/1672_societes_assurances/seniority.d.ts +1 -1
  66. package/lib/modeles/conventions/16_transports_routiers/seniority.d.ts +1 -1
  67. package/lib/modeles/conventions/176_industrie_pharmaceutique/seniority.d.ts +1 -1
  68. package/lib/modeles/conventions/1996_pharmacie/seniority.d.ts +1 -1
  69. package/lib/modeles/conventions/2216_commerces_detail_alimentation/seniority.d.ts +1 -1
  70. package/lib/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/seniority.d.ts +1 -1
  71. package/lib/modeles/conventions/3239_particuliers_employeurs_domicile/seniority.d.ts +1 -1
  72. package/lib/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/anciennete.spec.d.ts +1 -0
  73. package/lib/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/anciennete.spec.js +136 -0
  74. package/lib/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/indemnite.spec.d.ts +1 -0
  75. package/lib/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/indemnite.spec.js +721 -0
  76. package/lib/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/missing-args.spec.d.ts +1 -0
  77. package/lib/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/missing-args.spec.js +126 -0
  78. package/lib/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/notifications.spec.d.ts +1 -0
  79. package/lib/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/notifications.spec.js +42 -0
  80. package/lib/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/depart-mise.spec.d.ts +1 -0
  81. package/lib/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/depart-mise.spec.js +55 -0
  82. package/lib/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/references.spec.d.ts +1 -0
  83. package/lib/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/references.spec.js +41 -0
  84. package/lib/modeles/conventions/3248_metallurgie/index.d.ts +1 -0
  85. package/lib/modeles/conventions/3248_metallurgie/index.js +17 -0
  86. package/lib/modeles/conventions/3248_metallurgie/seniority.d.ts +21 -0
  87. package/lib/modeles/conventions/3248_metallurgie/seniority.js +127 -0
  88. package/lib/modeles/conventions/413_handicap/seniority.d.ts +1 -1
  89. package/lib/modeles/conventions/44_industries_chimiques/seniority.d.ts +1 -1
  90. package/lib/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/anciennete.spec.js +2 -0
  91. package/lib/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/formule.spec.js +1 -0
  92. package/lib/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/indemnite.spec.js +591 -0
  93. package/lib/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/missing-args.spec.d.ts +1 -0
  94. package/lib/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/missing-args.spec.js +62 -0
  95. package/lib/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/notifications.spec.js +26 -1
  96. package/lib/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/references.spec.js +3 -0
  97. package/lib/modeles/conventions/650_metallurgie_ingenieurs_cadres/seniority.d.ts +16 -1
  98. package/lib/modeles/conventions/650_metallurgie_ingenieurs_cadres/seniority.js +56 -1
  99. package/lib/modeles/conventions/index.d.ts +2 -0
  100. package/lib/modeles/conventions/index.js +2 -0
  101. package/lib/modeles/modeles-indemnite-licenciement.json +2835 -1581
  102. package/lib/modeles/modeles-preavis-retraite.json +59 -0
  103. package/lib/publicodes/PublicodesBase.js +2 -1
  104. package/lib/simulators/heure-recherche-emploi/heures-recherche-emploi.data.json +128 -81
  105. package/lib/simulators/preavis-demission/preavis-demission.data.json +115 -54
  106. package/lib/simulators/preavis-licenciement/preavis-licenciement.data.json +459 -284
  107. package/lib/simulators/prime-precarite/precarite.data.json +14 -14
  108. package/lib/simulators/types.d.ts +1 -1
  109. package/package.json +2 -2
  110. package/src/modeles/common/factory/seniority.ts +5 -2
  111. package/src/modeles/common/supported-agreements.ts +2 -1
  112. package/src/modeles/common/types/seniority.ts +16 -3
  113. package/src/modeles/conventions/1090_automobiles/seniority.ts +1 -1
  114. package/src/modeles/conventions/1404_sedima/seniority.ts +1 -1
  115. package/src/modeles/conventions/1486_bureaux_etudes_techniques/seniority.ts +1 -1
  116. package/src/modeles/conventions/1517_commerces_de_detail_non_alimentaires/seniority.ts +1 -1
  117. package/src/modeles/conventions/1527_immobilier/seniority.ts +1 -1
  118. package/src/modeles/conventions/1606_bricolage/seniority.ts +1 -1
  119. package/src/modeles/conventions/1672_societes_assurances/seniority.ts +1 -1
  120. package/src/modeles/conventions/16_transports_routiers/seniority.ts +1 -1
  121. package/src/modeles/conventions/176_industrie_pharmaceutique/seniority.ts +1 -1
  122. package/src/modeles/conventions/1996_pharmacie/seniority.ts +1 -1
  123. package/src/modeles/conventions/2216_commerces_detail_alimentation/seniority.ts +1 -1
  124. package/src/modeles/conventions/2941_aide_accompagnement_soins_services_domicile/seniority.ts +1 -1
  125. package/src/modeles/conventions/3239_particuliers_employeurs_domicile/seniority.ts +1 -1
  126. package/src/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/anciennete.spec.ts +246 -0
  127. package/src/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/indemnite.spec.ts +908 -0
  128. package/src/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/missing-args.spec.ts +298 -0
  129. package/src/modeles/conventions/3248_metallurgie/__tests__/indemnite-licenciement/notifications.spec.ts +70 -0
  130. package/src/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/depart-mise.spec.ts +91 -0
  131. package/src/modeles/conventions/3248_metallurgie/__tests__/preavis-retraite/references.spec.ts +52 -0
  132. package/src/modeles/conventions/3248_metallurgie/common.yaml +8 -0
  133. package/src/modeles/conventions/3248_metallurgie/indemnite-licenciement.yaml +494 -0
  134. package/src/modeles/conventions/3248_metallurgie/index.ts +1 -0
  135. package/src/modeles/conventions/3248_metallurgie/preavis-retraite.yaml +35 -0
  136. package/src/modeles/conventions/3248_metallurgie/seniority.ts +184 -0
  137. package/src/modeles/conventions/413_handicap/seniority.ts +1 -1
  138. package/src/modeles/conventions/44_industries_chimiques/seniority.ts +1 -1
  139. package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/anciennete.spec.ts +2 -0
  140. package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/formule.spec.ts +2 -1
  141. package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/indemnite.spec.ts +733 -8
  142. package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/missing-args.spec.ts +116 -0
  143. package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/notifications.spec.ts +50 -7
  144. package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/__tests__/indemnite-licenciement/references.spec.ts +6 -3
  145. package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/indemnite-licenciement.yaml +540 -14
  146. package/src/modeles/conventions/650_metallurgie_ingenieurs_cadres/seniority.ts +109 -1
  147. package/src/modeles/conventions/index.ts +2 -0
  148. package/src/publicodes/PublicodesBase.ts +2 -1
  149. package/src/simulators/heure-recherche-emploi/heures-recherche-emploi.data.json +128 -81
  150. package/src/simulators/preavis-demission/preavis-demission.data.json +115 -54
  151. package/src/simulators/preavis-licenciement/preavis-licenciement.data.json +460 -284
  152. package/src/simulators/prime-precarite/precarite.data.json +14 -14
  153. package/src/simulators/types.ts +1 -1
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.119.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.118.0...v4.119.0) (2024-01-11)
7
+
8
+ **Note:** Version bump only for package @socialgouv/modeles-social
9
+
10
+ # [4.118.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.117.0...v4.118.0) (2023-12-28)
11
+
12
+ ### Features
13
+
14
+ - **meta:** désactivation des anciennes CC Meta après 1er janvier ([#5488](https://github.com/SocialGouv/code-du-travail-numerique/issues/5488)) ([092069b](https://github.com/SocialGouv/code-du-travail-numerique/commit/092069b40e495547d2016d273ba1ac450921a40b)), closes [#5430](https://github.com/SocialGouv/code-du-travail-numerique/issues/5430) [#5419](https://github.com/SocialGouv/code-du-travail-numerique/issues/5419) [#5482](https://github.com/SocialGouv/code-du-travail-numerique/issues/5482) [#5423](https://github.com/SocialGouv/code-du-travail-numerique/issues/5423) [#5421](https://github.com/SocialGouv/code-du-travail-numerique/issues/5421)
15
+
6
16
  # [4.117.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.116.0...v4.117.0) (2023-12-21)
7
17
 
8
18
  **Note:** Version bump only for package @socialgouv/modeles-social
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SeniorityFactory = void 0;
4
4
  var base_1 = require("../../base");
5
5
  var conventions_1 = require("../../conventions");
6
- var _292_plasturgie_1 = require("../../conventions/292_plasturgie");
7
6
  var index_1 = require("../index");
8
7
  var SeniorityFactory = /** @class */ (function () {
9
8
  function SeniorityFactory() {
@@ -27,7 +26,7 @@ var SeniorityFactory = /** @class */ (function () {
27
26
  case index_1.SupportedCcIndemniteLicenciement.IDCC0016:
28
27
  return new conventions_1.Seniority16();
29
28
  case index_1.SupportedCcIndemniteLicenciement.IDCC0292:
30
- return new _292_plasturgie_1.Seniority0292();
29
+ return new conventions_1.Seniority0292();
31
30
  case index_1.SupportedCcIndemniteLicenciement.IDCC3239:
32
31
  return new conventions_1.Seniority3239();
33
32
  case index_1.SupportedCcIndemniteLicenciement.IDCC650:
@@ -76,6 +75,8 @@ var SeniorityFactory = /** @class */ (function () {
76
75
  return new conventions_1.Seniority176();
77
76
  case index_1.SupportedCcIndemniteLicenciement.IDCC2120:
78
77
  return new conventions_1.Seniority2120();
78
+ case index_1.SupportedCcIndemniteLicenciement.IDCC3248:
79
+ return new conventions_1.Seniority3248();
79
80
  case index_1.SupportedCcIndemniteLicenciement.default:
80
81
  default:
81
82
  return new base_1.SeniorityLegal();
@@ -47,6 +47,7 @@ export declare enum SupportedCcIndemniteLicenciement {
47
47
  IDCC1740 = "1740",
48
48
  IDCC0176 = "176",
49
49
  IDCC2120 = "2120",
50
+ IDCC3248 = "3248",
50
51
  default = "default"
51
52
  }
52
53
  export declare const INDEMNITE_LICENCIEMENT_PRODUCTION_READY_CC: number[];
@@ -52,13 +52,14 @@ var SupportedCcIndemniteLicenciement;
52
52
  SupportedCcIndemniteLicenciement["IDCC1740"] = "1740";
53
53
  SupportedCcIndemniteLicenciement["IDCC0176"] = "176";
54
54
  SupportedCcIndemniteLicenciement["IDCC2120"] = "2120";
55
+ SupportedCcIndemniteLicenciement["IDCC3248"] = "3248";
55
56
  SupportedCcIndemniteLicenciement["default"] = "default";
56
57
  })(SupportedCcIndemniteLicenciement || (exports.SupportedCcIndemniteLicenciement = SupportedCcIndemniteLicenciement = {}));
57
58
  exports.INDEMNITE_LICENCIEMENT_PRODUCTION_READY_CC = [
58
59
  16, 29, 44, 413, 573, 650, 1090, 1351, 1486, 1501, 1518, 1527, 1596, 1597,
59
60
  1979, 2216, 2264, 2941, 3043, 3127, 3239, 1517, 2098, 2511, 2609, 787, 843,
60
61
  675, 1996, 1505, 1147, 1702, 1266, 1672, 275, 86, 2614, 2596, 1043, 1483,
61
- 1516, 1606, 2148, 1404, 292, 2120,
62
+ 1516, 1606, 2148, 1404, 292, 2120, 3248,
62
63
  ];
63
64
  var getSupportedAgreement = function (idcc) {
64
65
  for (var _i = 0, _a = Object.values(SupportedCcIndemniteLicenciement); _i < _a.length; _i++) {
@@ -1,5 +1,4 @@
1
- import type { CC0016SeniorityProps, CC0413SeniorityProps } from "../../conventions";
2
- import type { CC1672SeniorityProps } from "../../conventions/1672_societes_assurances/seniority";
1
+ import type { CC0016SeniorityProps, CC0413SeniorityProps, CC650SeniorityProps, CC650SeniorityRequiredProps, CC1672SeniorityProps, CC3248SeniorityProps, CC3248SeniorityRequiredProps } from "../../conventions";
3
2
  import type { MotifKeys } from "../motif-keys";
4
3
  import type { DefaultSeniorityProps, DefaultSeniorityRequiredProps } from "../seniority";
5
4
  import type { SupportedCcIndemniteLicenciement } from "../supported-agreements";
@@ -20,11 +19,11 @@ export type Motif = {
20
19
  };
21
20
  export interface ISeniority<T extends SupportedCcIndemniteLicenciement> {
22
21
  computeSeniority: (args: SeniorityProps<T>) => SeniorityResult;
23
- computeRequiredSeniority: (args: SeniorityRequiredProps) => RequiredSeniorityResult;
22
+ computeRequiredSeniority: (args: SeniorityRequiredProps<T>) => RequiredSeniorityResult;
24
23
  getMotifs: () => Motif[];
25
24
  }
26
- export type SeniorityRequiredProps = DefaultSeniorityRequiredProps;
27
- export type SeniorityProps<T> = T extends SupportedCcIndemniteLicenciement.IDCC0016 ? CC0016SeniorityProps : T extends SupportedCcIndemniteLicenciement.IDCC413 ? CC0413SeniorityProps : T extends SupportedCcIndemniteLicenciement.IDCC1672 ? CC1672SeniorityProps : DefaultSeniorityProps;
25
+ export type SeniorityRequiredProps<T> = T extends SupportedCcIndemniteLicenciement.IDCC3248 ? CC3248SeniorityRequiredProps : T extends SupportedCcIndemniteLicenciement.IDCC650 ? CC650SeniorityRequiredProps : DefaultSeniorityRequiredProps;
26
+ export type SeniorityProps<T> = T extends SupportedCcIndemniteLicenciement.IDCC0016 ? CC0016SeniorityProps : T extends SupportedCcIndemniteLicenciement.IDCC413 ? CC0413SeniorityProps : T extends SupportedCcIndemniteLicenciement.IDCC1672 ? CC1672SeniorityProps : T extends SupportedCcIndemniteLicenciement.IDCC3248 ? CC3248SeniorityProps : T extends SupportedCcIndemniteLicenciement.IDCC650 ? CC650SeniorityProps : DefaultSeniorityProps;
28
27
  export type SeniorityResult = {
29
28
  value: number;
30
29
  extraInfos?: Record<string, number | string>;
@@ -1,7 +1,7 @@
1
1
  import type { ISeniority, Motif, RequiredSeniorityResult, SeniorityProps, SeniorityRequiredProps, SeniorityResult, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  export declare class Seniority1090 implements ISeniority<SupportedCcIndemniteLicenciement.default> {
3
3
  computeSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityProps<SupportedCcIndemniteLicenciement.default>): SeniorityResult;
4
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  private compute;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import type { ISeniority, Motif, RequiredSeniorityResult, SeniorityProps, SeniorityRequiredProps, SeniorityResult, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  export declare class Seniority1404 implements ISeniority<SupportedCcIndemniteLicenciement.IDCC1404> {
3
3
  computeSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityProps<SupportedCcIndemniteLicenciement.IDCC1404>): SeniorityResult;
4
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  private compute;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import type { ISeniority, Motif, RequiredSeniorityResult, SeniorityProps, SeniorityRequiredProps, SeniorityResult, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  export declare class Seniority1486 implements ISeniority<SupportedCcIndemniteLicenciement.IDCC1486> {
3
3
  computeSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityProps<SupportedCcIndemniteLicenciement.IDCC1486>): SeniorityResult;
4
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  private compute;
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import type { Motif, RequiredSeniorityResult, SeniorityRequiredProps, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  import { SeniorityDefault } from "../../common/seniority";
3
3
  export declare class Seniority1517 extends SeniorityDefault<SupportedCcIndemniteLicenciement.IDCC1517> {
4
- computeRequiredSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  }
@@ -1,7 +1,7 @@
1
1
  import type { ISeniority, Motif, RequiredSeniorityResult, SeniorityProps, SeniorityRequiredProps, SeniorityResult, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  export declare class Seniority1527 implements ISeniority<SupportedCcIndemniteLicenciement.IDCC1527> {
3
3
  computeSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityProps<SupportedCcIndemniteLicenciement.IDCC1527>): SeniorityResult;
4
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  private compute;
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import type { Motif, RequiredSeniorityResult, SeniorityRequiredProps, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  import { SeniorityDefault } from "../../common/seniority";
3
3
  export declare class Seniority1606 extends SeniorityDefault<SupportedCcIndemniteLicenciement.IDCC1606> {
4
- computeRequiredSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  }
@@ -5,7 +5,7 @@ export type CC1672SeniorityProps = DefaultSeniorityProps & {
5
5
  };
6
6
  export declare class Seniority1672 implements ISeniority<SupportedCcIndemniteLicenciement.IDCC1672> {
7
7
  computeSeniority({ dateEntree, dateSortie, absencePeriods, isExecutive, becameExecutiveAt, }: SeniorityProps<SupportedCcIndemniteLicenciement.IDCC0016>): SeniorityResult;
8
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
8
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
9
9
  getMotifs(): Motif[];
10
10
  private removeFirstYearOfCongesParentalEducation;
11
11
  private getExtraInfoAbsence;
@@ -5,6 +5,6 @@ export type CC0016SeniorityProps = DefaultSeniorityProps & {
5
5
  };
6
6
  export declare class Seniority16 implements ISeniority<SupportedCcIndemniteLicenciement.IDCC0016> {
7
7
  computeSeniority({ dateEntree, dateSortie, absencePeriods, isExecutive, becameExecutiveAt, }: SeniorityProps<SupportedCcIndemniteLicenciement.IDCC0016>): SeniorityResult;
8
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
8
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
9
9
  getMotifs(): Motif[];
10
10
  }
@@ -1,7 +1,7 @@
1
1
  import type { ISeniority, Motif, RequiredSeniorityResult, SeniorityProps, SeniorityRequiredProps, SeniorityResult, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  export declare class Seniority176 implements ISeniority<SupportedCcIndemniteLicenciement.IDCC0176> {
3
3
  computeSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityProps<SupportedCcIndemniteLicenciement.IDCC0176>): SeniorityResult;
4
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  private compute;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import type { ISeniority, Motif, RequiredSeniorityResult, SeniorityProps, SeniorityRequiredProps, SeniorityResult, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  export declare class Seniority1996 implements ISeniority<SupportedCcIndemniteLicenciement.default> {
3
3
  computeSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityProps<SupportedCcIndemniteLicenciement.default>): SeniorityResult;
4
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  private compute;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import type { ISeniority, Motif, RequiredSeniorityResult, SeniorityProps, SeniorityRequiredProps, SeniorityResult, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  export declare class Seniority2216 implements ISeniority<SupportedCcIndemniteLicenciement.IDCC2216> {
3
3
  computeSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityProps<SupportedCcIndemniteLicenciement.IDCC2216>): SeniorityResult;
4
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  private compute;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import type { ISeniority, Motif, RequiredSeniorityResult, SeniorityProps, SeniorityRequiredProps, SeniorityResult, SupportedCcIndemniteLicenciement } from "../../common";
2
2
  export declare class Seniority2941 implements ISeniority<SupportedCcIndemniteLicenciement.IDCC2941> {
3
3
  computeSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityProps<SupportedCcIndemniteLicenciement.default>): SeniorityResult;
4
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
4
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
5
5
  getMotifs(): Motif[];
6
6
  private compute;
7
7
  }
@@ -2,7 +2,7 @@ import type { Absence, Motif, RequiredSeniorityResult, SeniorityProps, Seniority
2
2
  import { SeniorityDefault } from "../../common/seniority";
3
3
  export declare class Seniority3239 extends SeniorityDefault<SupportedCcIndemniteLicenciement.IDCC3239> {
4
4
  computeSeniority({ dateEntree, dateSortie, absencePeriods, }: SeniorityProps<SupportedCcIndemniteLicenciement.IDCC3239>): SeniorityResult;
5
- computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps): RequiredSeniorityResult;
5
+ computeRequiredSeniority({ dateEntree, dateNotification, absencePeriods, }: SeniorityRequiredProps<SupportedCcIndemniteLicenciement.default>): RequiredSeniorityResult;
6
6
  getMotifs(): Motif[];
7
7
  protected compute(from: string, to: string, absences: Absence[]): SeniorityResult;
8
8
  }
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var common_1 = require("../../../../common");
8
+ describe("CC 3248", function () {
9
+ describe("Calcul de l'ancienneté pour les groupes F,G,H,I (cadre)", function () {
10
+ test.each(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "], ["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "])), [], "20/02/2020", "20/02/2021", 1, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2021", 1, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.greve } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.miseAPied } }], "20/02/2020", "20/02/2025", 5)("Calcul de l'ancienneté avec $entryDate et $exitDate en attendant $expectedAnciennete an", function (_a) {
11
+ var absences = _a.absences, entryDate = _a.entryDate, exitDate = _a.exitDate, expectedAnciennete = _a.expectedAnciennete;
12
+ var seniority = new common_1.SeniorityFactory().create(common_1.SupportedCcIndemniteLicenciement.IDCC3248);
13
+ var result = seniority.computeSeniority({
14
+ absencePeriods: absences,
15
+ categoriePro: "'F, G, H ou I'",
16
+ dateEntree: entryDate,
17
+ dateSortie: exitDate,
18
+ hasBeenDayContract: false,
19
+ hasBeenExecutive: false,
20
+ });
21
+ expect(result.value).toEqual(expectedAnciennete);
22
+ });
23
+ });
24
+ describe("Calcul de l'ancienneté requise pour les groupes A,B,C,D,E (pas au forfait jour)", function () {
25
+ test.each(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "], ["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "])), [], "20/02/2020", "20/02/2021", 1, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2021", 1, [{ durationInMonth: 12, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2025", 5, [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2025", 3.9166666666666665, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.greve } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.miseAPied } }], "20/02/2020", "20/02/2025", 5)("Calcul de l'ancienneté avec $entryDate et $exitDate en attendant $expectedAnciennete an", function (_a) {
26
+ var absences = _a.absences, entryDate = _a.entryDate, exitDate = _a.exitDate, expectedAnciennete = _a.expectedAnciennete;
27
+ var seniority = new common_1.SeniorityFactory().create(common_1.SupportedCcIndemniteLicenciement.IDCC3248);
28
+ var result = seniority.computeRequiredSeniority({
29
+ absencePeriods: absences,
30
+ categoriePro: "'A, B, C, D ou E'",
31
+ dateEntree: entryDate,
32
+ dateNotification: exitDate,
33
+ dateSortie: exitDate,
34
+ hasBeenDayContract: false,
35
+ hasBeenExecutive: false,
36
+ });
37
+ expect(result.value).toEqual(expectedAnciennete);
38
+ });
39
+ });
40
+ describe("Calcul de l'ancienneté pour les groupes A,B,C,D,E (pas au forfait jour)", function () {
41
+ test.each(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "], ["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "])), [], "20/02/2020", "20/02/2021", 1, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2021", 1, [{ durationInMonth: 12, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2025", 5, [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2025", 3.9166666666666665, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.greve } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.miseAPied } }], "20/02/2020", "20/02/2025", 5)("Calcul de l'ancienneté avec $entryDate et $exitDate en attendant $expectedAnciennete an", function (_a) {
42
+ var absences = _a.absences, entryDate = _a.entryDate, exitDate = _a.exitDate, expectedAnciennete = _a.expectedAnciennete;
43
+ var seniority = new common_1.SeniorityFactory().create(common_1.SupportedCcIndemniteLicenciement.IDCC3248);
44
+ var result = seniority.computeSeniority({
45
+ absencePeriods: absences,
46
+ categoriePro: "'A, B, C, D ou E'",
47
+ dateEntree: entryDate,
48
+ dateSortie: exitDate,
49
+ hasBeenDayContract: false,
50
+ hasBeenExecutive: false,
51
+ });
52
+ expect(result.value).toEqual(expectedAnciennete);
53
+ });
54
+ });
55
+ describe("Calcul de l'ancienneté pour les groupes A,B,C,D,E (absence de plus de 12 mois)", function () {
56
+ test.each(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n absences | hasLongPeriod\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n "], ["\n absences | hasLongPeriod\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n "])), [], "non", [{ durationInMonth: 6, motif: { key: common_1.MotifKeys.maladieNonPro } }], "non", [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.maladieNonPro } }], "non", [{ durationInMonth: 11, motif: { key: common_1.MotifKeys.congesCreationEntreprise } }], "non", [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.congesCreationEntreprise } }], "oui", [{ durationInMonth: 11, motif: { key: common_1.MotifKeys.congesSabbatique } }], "non", [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.congesSabbatique } }], "oui", [{ durationInMonth: 11, motif: { key: common_1.MotifKeys.congesSansSolde } }], "non", [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.congesSansSolde } }], "oui")("Avec une absence longue $absences[1], on s'attend \u00E0 la d\u00E9tection d'une longue p\u00E9riode d'absence : $hasLongPeriod", function (_a) {
57
+ var _b;
58
+ var absences = _a.absences, hasLongPeriod = _a.hasLongPeriod;
59
+ var seniority = new common_1.SeniorityFactory().create(common_1.SupportedCcIndemniteLicenciement.IDCC3248);
60
+ var result = seniority.computeSeniority({
61
+ absencePeriods: absences,
62
+ categoriePro: "'A, B, C, D ou E'",
63
+ dateEntree: "01/01/2010",
64
+ dateSortie: "01/01/2025",
65
+ hasBeenDayContract: false,
66
+ hasBeenExecutive: false,
67
+ });
68
+ var extraInfos = (_b = result.extraInfos) !== null && _b !== void 0 ? _b : {};
69
+ expect(extraInfos["contrat salarié . convention collective . métallurgie . indemnité de licenciement . catégorie professionnelle . ABCDE . congés plus de 12 mois"]).toEqual(hasLongPeriod);
70
+ });
71
+ });
72
+ describe("Calcul de l'ancienneté pour les groupes A,B,C,D,E (au forfait jour)", function () {
73
+ test.each(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "], ["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "])), [], "20/02/2020", "20/02/2021", 1.5, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2021", 1.5, [{ durationInMonth: 12, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2025", 7.5, [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.maladieNonPro } }], "20/02/2020", "20/02/2025", 5.875, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.greve } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.miseAPied } }], "20/02/2020", "20/02/2025", 7.5)("Calcul de l'ancienneté avec $entryDate et $exitDate en attendant $expectedAnciennete an", function (_a) {
74
+ var absences = _a.absences, entryDate = _a.entryDate, exitDate = _a.exitDate, expectedAnciennete = _a.expectedAnciennete;
75
+ var seniority = new common_1.SeniorityFactory().create(common_1.SupportedCcIndemniteLicenciement.IDCC3248);
76
+ var result = seniority.computeSeniority({
77
+ absencePeriods: absences,
78
+ categoriePro: "'A, B, C, D ou E'",
79
+ dateEntree: entryDate,
80
+ dateSortie: exitDate,
81
+ hasBeenDayContract: true,
82
+ hasBeenExecutive: false,
83
+ });
84
+ expect(result.value).toEqual(expectedAnciennete);
85
+ });
86
+ });
87
+ describe("Calcul de l'ancienneté pour les groupes A,B,C,D,E (passage au forfait jour)", function () {
88
+ test.each(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "], ["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "])), [], "20/02/2020", "20/02/2025", 6.5, [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.maladieNonPro, value: 1 }, startedAt: "01/05/2020" }], "20/02/2020", "20/02/2025", 5.416666666666667, [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.maladieNonPro, value: 1 }, startedAt: "01/05/2022" }], "20/02/2020", "20/02/2025", 4.875, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.greve } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.miseAPied } }], "20/02/2020", "20/02/2025", 6.5, [{ durationInMonth: 3, motif: { key: common_1.MotifKeys.maladieNonPro }, startedAt: "01/01/2022" }], "20/02/2020", "20/02/2025", 6.5)("Calcul de l'ancienneté avec $entryDate et $exitDate en attendant $expectedAnciennete an", function (_a) {
89
+ var absences = _a.absences, entryDate = _a.entryDate, exitDate = _a.exitDate, expectedAnciennete = _a.expectedAnciennete;
90
+ var seniority = new common_1.SeniorityFactory().create(common_1.SupportedCcIndemniteLicenciement.IDCC3248);
91
+ var result = seniority.computeSeniority({
92
+ absencePeriods: absences,
93
+ categoriePro: "'A, B, C, D ou E'",
94
+ dateBecomeDayContract: "20/02/2022",
95
+ dateEntree: entryDate,
96
+ dateSortie: exitDate,
97
+ hasBeenDayContract: true,
98
+ hasBeenExecutive: false,
99
+ });
100
+ expect(result.value).toEqual(expectedAnciennete);
101
+ });
102
+ });
103
+ describe("Calcul de l'ancienneté pour les groupes A,B,C,D,E (passage au forfait jour et cadre)", function () {
104
+ test.each(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "], ["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "])), [], "20/02/2020", "20/02/2025", 7.5, [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.maladieNonPro, value: 1 }, startedAt: "01/05/2020" }], "20/02/2020", "20/02/2025", 7.5, [{ durationInMonth: 13, motif: { key: common_1.MotifKeys.maladieNonPro, value: 1 }, startedAt: "01/05/2022" }], "20/02/2020", "20/02/2025", 7.5, [{ durationInMonth: 1, motif: { key: common_1.MotifKeys.maladieNonPro } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.accidentTrajet } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSabbatique } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesCreationEntreprise } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesParentalEducation } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.congesSansSolde } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.greve } }, { durationInMonth: 1, motif: { key: common_1.MotifKeys.miseAPied } }], "20/02/2020", "20/02/2025", 7.5, [{ durationInMonth: 3, motif: { key: common_1.MotifKeys.maladieNonPro }, startedAt: "01/01/2022" }], "20/02/2020", "20/02/2025", 7.5)("Calcul de l'ancienneté avec $entryDate et $exitDate en attendant $expectedAnciennete an", function (_a) {
105
+ var absences = _a.absences, entryDate = _a.entryDate, exitDate = _a.exitDate, expectedAnciennete = _a.expectedAnciennete;
106
+ var seniority = new common_1.SeniorityFactory().create(common_1.SupportedCcIndemniteLicenciement.IDCC3248);
107
+ var result = seniority.computeSeniority({
108
+ absencePeriods: absences,
109
+ categoriePro: "'A, B, C, D ou E'",
110
+ dateBecomeDayContract: "20/02/2020",
111
+ dateEntree: entryDate,
112
+ dateSortie: exitDate,
113
+ hasBeenDayContract: true,
114
+ hasBeenExecutive: true,
115
+ });
116
+ expect(result.value).toEqual(expectedAnciennete);
117
+ });
118
+ });
119
+ describe("Calcul de l'ancienneté pour les groupes A,B,C,D,E (passage au forfait jour) - Cas spécifique", function () {
120
+ test.each(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n "], ["\n absences | entryDate | exitDate | expectedAnciennete\n ", " | ", " | ", " | ", "\n "])), [{ durationInMonth: 6, motif: { key: common_1.MotifKeys.maladieNonPro, value: 1 }, startedAt: "01/01/2022" }], "01/01/2013", "01/01/2024", 12.5)("Calcul de l'ancienneté avec $entryDate et $exitDate en attendant $expectedAnciennete an", function (_a) {
121
+ var absences = _a.absences, entryDate = _a.entryDate, exitDate = _a.exitDate, expectedAnciennete = _a.expectedAnciennete;
122
+ var seniority = new common_1.SeniorityFactory().create(common_1.SupportedCcIndemniteLicenciement.IDCC3248);
123
+ var result = seniority.computeSeniority({
124
+ absencePeriods: absences,
125
+ categoriePro: "'A, B, C, D ou E'",
126
+ dateBecomeDayContract: "01/01/2021",
127
+ dateEntree: entryDate,
128
+ dateSortie: exitDate,
129
+ hasBeenDayContract: true,
130
+ hasBeenExecutive: false,
131
+ });
132
+ expect(result.value).toEqual(expectedAnciennete);
133
+ });
134
+ });
135
+ });
136
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;