diff --git a/packages/code-du-travail-modeles/src/modeles/conventions/675_habillement_commerce_succursales/__tests__/indemnite-licenciement/calculate.spec.ts b/packages/code-du-travail-modeles/src/modeles/conventions/675_habillement_commerce_succursales/__tests__/indemnite-licenciement/calculate.spec.ts new file mode 100644 index 0000000000..4becc2b634 --- /dev/null +++ b/packages/code-du-travail-modeles/src/modeles/conventions/675_habillement_commerce_succursales/__tests__/indemnite-licenciement/calculate.spec.ts @@ -0,0 +1,35 @@ +import { IndemniteLicenciementPublicodes } from "../../../../../publicodes"; + +const engine = new IndemniteLicenciementPublicodes( + modelsIndemniteLicenciement, + "675" +); + +describe("Employés", () => { + test("Vérifier que les extras infos du salaire sont bien pris en compte", () => { + const { result, missingArgs } = engine.calculate( + { + "contrat salarié . convention collective": "'IDCC0675'", + "contrat salarié . convention collective . habillement commerce succursales . catégorie professionnelle": + "'Employés'", + "contrat salarié . indemnité de licenciement . arrêt de travail": "non", + "contrat salarié . indemnité de licenciement . date d'entrée": + "01/01/2021", + "contrat salarié . indemnité de licenciement . date de notification": + "01/01/2024", + "contrat salarié . indemnité de licenciement . date de sortie": + "01/01/2024", + "contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle": + "non", + licenciementFauteGrave: "non", + salaryPeriods: + '[{"month":"décembre 2023","value":1488},{"month":"novembre 2023","value":1488},{"month":"octobre 2023","value":1488},{"month":"septembre 2023","value":1488},{"month":"août 2023","value":1488},{"month":"juillet 2023","value":1488},{"month":"juin 2023","value":1488},{"month":"mai 2023","value":1488},{"month":"avril 2023","value":1488},{"month":"mars 2023","value":1488},{"month":"février 2023","value":1488},{"month":"janvier 2023","value":1488}]', + typeContratTravail: "cdi", + }, + "contrat salarié . indemnité de licenciement . résultat conventionnel" + ); + expect(missingArgs).toEqual([]); + expect(result.unit?.numerators).toEqual(["€"]); + expect(result.value).toEqual(446.4); + }); +}); diff --git a/packages/code-du-travail-modeles/src/publicodes/IndemniteLicenciementPublicodes.ts b/packages/code-du-travail-modeles/src/publicodes/IndemniteLicenciementPublicodes.ts index 46386c77fe..0d213dba24 100644 --- a/packages/code-du-travail-modeles/src/publicodes/IndemniteLicenciementPublicodes.ts +++ b/packages/code-du-travail-modeles/src/publicodes/IndemniteLicenciementPublicodes.ts @@ -163,20 +163,21 @@ class IndemniteLicenciementPublicodes ] ) { const s = new ReferenceSalaryFactory().create(this.idcc); - const value = s.computeReferenceSalary( - s.mapSituation - ? s.mapSituation(args) - : { - salaires: args.salaryPeriods - ? JSON.parse(args.salaryPeriods) - : [], - } - ); + const salarySituation = s.mapSituation + ? s.mapSituation(args) + : { + salaires: args.salaryPeriods ? JSON.parse(args.salaryPeriods) : [], + }; + const salaryExtraInfo = s.computeExtraInfo + ? s.computeExtraInfo(salarySituation) + : {}; + const value = s.computeReferenceSalary(salarySituation); if (value) { newArgs = { ...newArgs, "contrat salarié . indemnité de licenciement . salaire de référence conventionnel": value.toString(), + ...salaryExtraInfo, }; } }