Skip to content

Commit

Permalink
fix(indemnite-licenciement): ajout de log + tests sur les années (#5798)
Browse files Browse the repository at this point in the history
* fix: tu

* fix(e2e): set number of idcc for h2 in contributions

* fix: test

* fix: disable other
  • Loading branch information
maxgfr committed Apr 23, 2024
1 parent 8bf7337 commit 56c357e
Show file tree
Hide file tree
Showing 10 changed files with 133 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export const customSeniorityValidator = (
if (agreeement) {
idcc = getSupportedAgreement(agreeement.num);
}
console.log("Validateur de la séniorité");
switch (idcc) {
case SupportedCc.IDCC1517:
return validateStep1517(state, stateContratTravail, information);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ export const getDateEntreeErrors = (
): Partial<AncienneteStoreError> => {
let errors: AncienneteStoreError = {};

console.log(`La date d'entrée est ${state.dateEntree}`);

// Date d'entrée
if (!state.dateEntree) {
errors.errorDateEntree = "Veuillez saisir cette date";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ export const getDateNotificationErrors = (
const dNotification = parse(state.dateNotification);
let errors: AncienneteStoreError = {};

console.log(`La date de notification est ${state.dateNotification}`);

// Date de notification
if (!state.dateNotification) {
errors.errorDateNotification = "Veuillez saisir cette date";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ export const getDateSortieErrors = (
const dSortie = parse(state.dateSortie);
let errors: AncienneteStoreError = {};

console.log(`La date de sortie est ${state.dateNotification}`);

if (!state.dateSortie) {
errors.errorDateSortie = "Veuillez saisir cette date";
} else if (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,11 @@ const createResultStore: StoreSlice<
};
let errorPublicodes = false;
const absencePeriods = get().ancienneteData.input.absencePeriods;

console.log(
`Les informations de l'ancienneté sont ${JSON.stringify(
get().ancienneteData.input
)}`
);
try {
const situationLegal = {
...mapToPublicodesSituationForCalculation(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { OuiNon } from "../IndemniteLicenciement/common";
import { CdiCdd } from "../IndemniteLicenciement/steps/ContratTravail/store";
import { formatIdcc, SalaryPeriods } from "@socialgouv/modeles-social";

export const mapToPublicodesSituationForCalculation = (
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
export interface ISituationItem {
name: string;
value: number | string;
rawNode: {
nom: string;
valeur?: number | string;
titre?: string;
unité?: string;
};
}

export function generateSituation(
situation: ISituationItem[]
): Record<string, string | undefined> {
const output: Record<string, string | undefined> = {};
situation.forEach((item) => {
output[item.name] = item.value.toString();
});
return output;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
import { generateSituation } from "../../__test__/common/transform-to-situation";
import { mergeIndemniteLicenciementModels } from "../../internal/merger";
import IndemniteLicenciementPublicodes from "../IndemniteLicenciementPublicodes";

const situationAvecDate = [
{
name: "contrat salarié . indemnité de licenciement . date d'entrée",
rawNode: {
nom: "contrat salarié . indemnité de licenciement . date d'entrée",
valeur: "01/01/2024",
},
value: "01/10/12",
},
{
name: "contrat salarié . indemnité de licenciement . date de notification",
rawNode: {
nom: "contrat salarié . indemnité de licenciement . date de notification",
valeur: "01/01/2024",
},
value: "21/02/24",
},
{
name: "contrat salarié . indemnité de licenciement . date de sortie",
rawNode: {
nom: "contrat salarié . indemnité de licenciement . date de sortie",
valeur: "non",
},
value: "13/03/24",
},
{
name: "contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle",
rawNode: {
nom: "contrat salarié . indemnité de licenciement . inaptitude suite à un accident ou maladie professionnelle",
valeur: "non",
},
value: "non",
},
{
name: "contrat salarié . indemnité de licenciement . arrêt de travail",
rawNode: {
nom: "contrat salarié . indemnité de licenciement . arrêt de travail",
valeur: "non",
},
value: "oui",
},
{
name: "contrat salarié . indemnité de licenciement . ancienneté en année",
rawNode: {
nom: "contrat salarié . indemnité de licenciement . ancienneté en année",
titre:
"Ancienneté calculée pour le calcul de l'indemnité de licenciement",
unité: "an",
},
value: "2011.4166666666667",
},
{
name: "contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année",
rawNode: {
nom: "contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année",
titre:
"Ancienneté calculée pour le calcul de l'indemnité de licenciement conventionnelle",
unité: "an",
},
value: "2011.4166666666667",
},
{
name: "contrat salarié . indemnité de licenciement . ancienneté requise en année",
rawNode: {
nom: "contrat salarié . indemnité de licenciement . ancienneté requise en année",
titre: "Ancienneté calculée pour le droit à l'indemnité de licenciement",
unité: "an",
},
value: "2011.3333333333333",
},
{
name: "contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année",
rawNode: {
nom: "contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année",
titre:
"Ancienneté calculée pour le droit à l'indemnité de licenciement conventionnelle",
unité: "an",
},
value: "2011.3333333333333",
},
]; // Ça doit failed car la date n'a que deux digits

describe("Classe qui permet de débugguer les console.error issues de Sentry", () => {
const publicodes = new IndemniteLicenciementPublicodes(
mergeIndemniteLicenciementModels()
);

it.each([[situationAvecDate]])("doit failed", (situation) => {
expect(() => {
publicodes.setSituation(generateSituation(situation));
}).toThrow();
});
});
8 changes: 3 additions & 5 deletions packages/react-ui/src/field/InputDate.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,14 +82,12 @@ export const InputDate = ({ value, onChange, invalid, ref, ...props }) => {
const isValidDate = /^\d{2}\/\d{2}\/\d{4}$/.test(date);
return isYearValid && isMonthValid && isDayValid && isValidDate;
}
return true;
return false;
};

const onBlur = () => {
setIsFocus(false);
if (date.length !== 10) {
setIsValid(false);
}
setIsValid(isValidDate(date));
};

return (
Expand All @@ -112,7 +110,7 @@ export const InputDate = ({ value, onChange, invalid, ref, ...props }) => {
</StyledDateWrapper>
<StyledDatePicker
type="date"
aria-disabled={!isValid}
aria-disabled={true}
tabIndex={-1}
min="1900-01-01"
max="2100-01-01"
Expand Down
2 changes: 1 addition & 1 deletion packages/react-ui/src/field/__snapshots__/test.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ exports[`<InputDate /> should render input date field 1`] = `
</svg>
</div>
<input
aria-disabled="false"
aria-disabled="true"
class="sc-imWYAI NArQa"
max="2100-01-01"
min="1900-01-01"
Expand Down

0 comments on commit 56c357e

Please sign in to comment.