Skip to content

Commit

Permalink
fix: formulation lorsque le résultat légal et cc est identique (#6250)
Browse files Browse the repository at this point in the history
  • Loading branch information
m-maillot authored Oct 31, 2024
1 parent ecd387b commit 520afad
Show file tree
Hide file tree
Showing 3 changed files with 123 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import { DureePreavisLicenciement } from "../index";
import { ui } from "./ui";
import { fireEvent, render, screen } from "@testing-library/react";

jest.spyOn(Storage.prototype, "setItem");
Storage.prototype.getItem = jest.fn(
() => `
{
"num": 3239,
"shortTitle": "shortTitle",
"id": "id",
"title": "title",
"url": "https://www.url.fr",
"slug": "3239"
}
`
);

describe("DureePreavisLicenciement : wording on same result", () => {
test("Should display a specific message when legal and agreement result are equals", () => {
render(<DureePreavisLicenciement icon={""} title={""} displayTitle={""} />);
fireEvent.click(ui.introduction.startButton.get());

fireEvent.click(screen.getByTestId("seriousMisconduct-non"));
fireEvent.click(ui.next.get());

fireEvent.click(screen.getByTestId("disabledWorker-non"));
fireEvent.click(ui.next.get());

fireEvent.change(screen.getByTestId("cdt.ancienneté"), {
target: { value: "43| Plus de 2 ans" },
});
fireEvent.click(ui.next.get());

fireEvent.click(ui.next.get());

fireEvent.change(screen.getByTestId("criteria.catégorie professionnelle"), {
target: { value: "100| Salariés du particulier employeur" },
});
fireEvent.click(ui.next.get());

fireEvent.change(screen.getByTestId("criteria.ancienneté"), {
target: { value: "42| 2 ans ou plus" },
});
fireEvent.click(ui.next.get());

expect(
screen.queryByText(
/La durée prévue par le code du travail est le même que celle prévue par la convention collective/
)
).toBeInTheDocument();
});

test("Should display default message when legal and agreement result are not equals", () => {
render(<DureePreavisLicenciement icon={""} title={""} displayTitle={""} />);
fireEvent.click(ui.introduction.startButton.get());

fireEvent.click(screen.getByTestId("seriousMisconduct-non"));
fireEvent.click(ui.next.get());

fireEvent.click(screen.getByTestId("disabledWorker-non"));
fireEvent.click(ui.next.get());

fireEvent.change(screen.getByTestId("cdt.ancienneté"), {
target: { value: "15| Moins de 6 mois" },
});
fireEvent.click(ui.next.get());

fireEvent.click(ui.next.get());

fireEvent.change(screen.getByTestId("criteria.catégorie professionnelle"), {
target: { value: "100| Salariés du particulier employeur" },
});
fireEvent.click(ui.next.get());

fireEvent.change(screen.getByTestId("criteria.ancienneté"), {
target: { value: "42| 2 ans ou plus" },
});
fireEvent.click(ui.next.get());

expect(
screen.queryByText(
/Il s’agit de la durée la plus longue entre la durée légale prévue par le Code du travail et la durée conventionnelle prévue par la convention collective/
)
).toBeInTheDocument();
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,35 @@ type Props = {
agreementSituation?: LicenciementSituation;
};

const ShowMessage = ({
idcc,
legalDuration,
agreementDuration,
}: {
idcc: number;
legalDuration: number;
agreementDuration?: number;
}) => {
if (idcc > 0) {
if (legalDuration === agreementDuration) {
return (
<p>
La durée prévue par le code du travail est le même que celle prévue
par la convention collective&nbsp;:
</p>
);
}
return (
<p>
Il s’agit de la durée la plus longue entre la durée légale prévue par le
Code du travail et la durée conventionnelle prévue par la convention
collective&nbsp;:
</p>
);
}
return;
};

const DisplayResult = ({
idcc,
legalSituation,
Expand All @@ -20,13 +49,11 @@ const DisplayResult = ({
return (
<>
<SectionTitle>Résultat</SectionTitle>
{idcc > 0 && (
<p>
Il s’agit de la durée la plus longue entre la durée légale prévue par
le Code du travail et la durée conventionnelle prévue par la
convention collective&nbsp;:
</p>
)}
<ShowMessage
agreementDuration={agreementSituation?.duration}
legalDuration={legalSituation.duration}
idcc={idcc}
/>
<ul>
<li>
Durée légale&nbsp;:{" "}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ exports[`<StepResult /> should render with O duration 1`] = `
Résultat
</h2>
<p>
Il s’agit de la durée la plus longue entre la durée légale prévue par le Code du travail et la durée conventionnelle prévue par la convention collective :
La durée prévue par le code du travail est le même que celle prévue par la convention collective :
</p>
<ul>
<li>
Expand Down Expand Up @@ -291,7 +291,7 @@ exports[`<StepResult /> should render with both CC duration and CDT duration 1`]
Résultat
</h2>
<p>
Il s’agit de la durée la plus longue entre la durée légale prévue par le Code du travail et la durée conventionnelle prévue par la convention collective :
La durée prévue par le code du travail est le même que celle prévue par la convention collective :
</p>
<ul>
<li>
Expand Down

0 comments on commit 520afad

Please sign in to comment.