Skip to content

Commit

Permalink
Merge branch 'dev' into linked-es8
Browse files Browse the repository at this point in the history
  • Loading branch information
maxgfr committed May 17, 2024
2 parents e332cfc + 33322cf commit 4fc5f64
Show file tree
Hide file tree
Showing 11 changed files with 164 additions and 59 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/check-sdr-url.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ jobs:
- name: Test SDR urls
run: |
jq ".[].url" ./packages/code-du-travail-frontend/src/data/services-de-renseignement.json | uniq | xargs -n 1 wget --spider
- name: Create the Mattermost Message
if: failure()
run: |
echo "{\"text\":\"Une ou plusieurs URLs des services de renseignement ne sont plus valides : ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}\"}" > mattermost.json
- uses: mattermost/action-mattermost-notify@master
if: failure()
with:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
PAYLOAD: |-
{
"text": "Une ou plusieurs URLs des services de renseignement ne sont plus valides : ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}",
}
4 changes: 2 additions & 2 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
path: |
packages/code-du-travail-frontend/cypress/screenshots
- name: Send message to mattermost when done
uses: mattermost/action-mattermost-notify@v2.0.0
uses: mattermost/action-mattermost-notify@master
if: always()
with:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
Expand All @@ -43,7 +43,7 @@ jobs:
"text": "Les tests automatiques e2e sont terminés: **${{ job.status }}**. Détails : ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}",
}
- name: Ping the team when failed
uses: mattermost/action-mattermost-notify@v2.0.0
uses: mattermost/action-mattermost-notify@master
if: failure()
with:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/verification-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ jobs:
curl -sSfL https://code.travail.gouv.fr/sitemap.xml -o sitemap.xml && grep -q "https://code.travail.gouv.fr/" sitemap.xml
- run: |
curl -sSfLI https://code.travail.gouv.fr/sitemap.xml | grep -q "content-type: text/xml"
- name: Create the Mattermost Message
if: failure()
run: |
echo "{\"text\":\"Erreur sur le robots.txt ou sitemap.xml 😱😱😱😱😱😱😱😱 ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID} (cc: @max @victorz @carolinebda @martial)\"}" > mattermost.json
- uses: mattermost/action-mattermost-notify@master
if: failure()
with:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
PAYLOAD: |-
{
"text": "Erreur sur le robots.txt ou sitemap.xml 😱😱😱😱😱😱😱😱 ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID} (cc: @max @victorz @carolinebda @martial)",
}
7 changes: 7 additions & 0 deletions packages/code-du-travail-frontend/src/common/TestHelper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,11 @@ export class UserAction {
fireEvent.change(element, { target: { value } });
return this;
}

setInputs(elements: readonly HTMLElement[], values: string[]): UserAction {
values.forEach((value, i) => {
this.setInput(elements[i], value);
});
return this;
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
import {
byLabelText,
byTestId,
byText,
byTitle,
} from "testing-library-selector";
import { byTestId, byText, byTitle } from "testing-library-selector";

export const ui = {
introduction: {
Expand Down Expand Up @@ -363,6 +358,7 @@ export const ui = {
age: byTestId(
"infos.contrat salarié - convention collective - personnel presta service tertiaire - rupture conventionnelle - cadre age"
),
inaptitudeNonPro: byText("Oui"),
},
agreement2216: {
proCategory: byTestId(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { fireEvent, render, RenderResult } from "@testing-library/react";
import { render } from "@testing-library/react";
import React from "react";
import { CalculateurIndemniteLicenciement } from "../..";
import { ui } from "../../CommonIndemniteDepart/__tests__/ui";
Expand All @@ -19,11 +19,14 @@ Storage.prototype.getItem = jest.fn(
);

describe("Indemnité licenciement - CC 1486", () => {
let rendering: RenderResult;
let userAction: UserAction;
beforeEach(() => {
rendering = render(
<CalculateurIndemniteLicenciement icon={""} title={""} displayTitle={""} />
render(
<CalculateurIndemniteLicenciement
icon={""}
title={""}
displayTitle={""}
/>
);
userAction = new UserAction();

Expand Down Expand Up @@ -57,18 +60,20 @@ describe("Indemnité licenciement - CC 1486", () => {
.click(ui.next.get())
.click(ui.salary.hasPartialTime.non.get())
.click(ui.salary.hasSameSalary.non.get())
.setInput(ui.salary.salaries.getAll()[0], "3500")
.setInput(ui.salary.salaries.getAll()[1], "3350")
.setInput(ui.salary.salaries.getAll()[2], "3200")
.setInput(ui.salary.salaries.getAll()[3], "3150")
.setInput(ui.salary.salaries.getAll()[4], "3300")
.setInput(ui.salary.salaries.getAll()[5], "3600")
.setInput(ui.salary.salaries.getAll()[6], "3100")
.setInput(ui.salary.salaries.getAll()[7], "3200")
.setInput(ui.salary.salaries.getAll()[8], "3300")
.setInput(ui.salary.salaries.getAll()[9], "3250")
.setInput(ui.salary.salaries.getAll()[10], "3100")
.setInput(ui.salary.salaries.getAll()[11], "3100")
.setInputs(ui.salary.salaries.getAll(), [
"3500",
"3350",
"3200",
"3150",
"3300",
"3600",
"3100",
"3200",
"3300",
"3250",
"3100",
"3100",
])
.click(ui.next.get());

expect(ui.activeStep.query()).toHaveTextContent("Indemnité");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,13 @@ Storage.prototype.getItem = jest.fn(
describe("Indemnité licenciement - CC 1527", () => {
let userAction: UserAction;
beforeEach(() => {
render(<CalculateurIndemniteLicenciement icon={""} title={""} displayTitle={""} />);
render(
<CalculateurIndemniteLicenciement
icon={""}
title={""}
displayTitle={""}
/>
);
userAction = new UserAction();

userAction
Expand All @@ -42,18 +48,20 @@ describe("Indemnité licenciement - CC 1527", () => {
.click(ui.next.get())
.click(ui.salary.hasPartialTime.non.get())
.click(ui.salary.hasSameSalary.non.get())
.setInput(ui.salary.salaries.getAll()[0], "2100")
.setInput(ui.salary.salaries.getAll()[1], "2100")
.setInput(ui.salary.salaries.getAll()[2], "2100")
.setInput(ui.salary.salaries.getAll()[3], "1900")
.setInput(ui.salary.salaries.getAll()[4], "2090")
.setInput(ui.salary.salaries.getAll()[5], "2500")
.setInput(ui.salary.salaries.getAll()[6], "2080")
.setInput(ui.salary.salaries.getAll()[7], "2000")
.setInput(ui.salary.salaries.getAll()[8], "1999")
.setInput(ui.salary.salaries.getAll()[9], "1995")
.setInput(ui.salary.salaries.getAll()[10], "1990")
.setInput(ui.salary.salaries.getAll()[11], "1990")
.setInputs(ui.salary.salaries.getAll(), [
"2100",
"2100",
"2100",
"1900",
"2090",
"2500",
"2080",
"2000",
"1999",
"1995",
"1990",
"1990",
])
.click(ui.salary.agreement1517.hasContractSalary.oui.get())
.click(ui.next.get());

Expand All @@ -71,18 +79,20 @@ describe("Indemnité licenciement - CC 1527", () => {
.click(ui.next.get())
.click(ui.salary.hasPartialTime.non.get())
.click(ui.salary.hasSameSalary.non.get())
.setInput(ui.salary.salaries.getAll()[0], "2100")
.setInput(ui.salary.salaries.getAll()[1], "2100")
.setInput(ui.salary.salaries.getAll()[2], "2100")
.setInput(ui.salary.salaries.getAll()[3], "1900")
.setInput(ui.salary.salaries.getAll()[4], "2090")
.setInput(ui.salary.salaries.getAll()[5], "2500")
.setInput(ui.salary.salaries.getAll()[6], "2080")
.setInput(ui.salary.salaries.getAll()[7], "2000")
.setInput(ui.salary.salaries.getAll()[8], "1999")
.setInput(ui.salary.salaries.getAll()[9], "1995")
.setInput(ui.salary.salaries.getAll()[10], "1990")
.setInput(ui.salary.salaries.getAll()[11], "1990")
.setInputs(ui.salary.salaries.getAll(), [
"2100",
"2100",
"2100",
"1900",
"2090",
"2500",
"2080",
"2000",
"1999",
"1995",
"1990",
"1990",
])
.click(ui.salary.agreement1517.hasContractSalary.non.get())
.click(ui.next.get());

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import { render } from "@testing-library/react";
import React from "react";
import { CalculateurIndemniteLicenciement } from "../..";
import { ui } from "../../CommonIndemniteDepart/__tests__/ui";
import { UserAction } from "../../../common";

jest.spyOn(Storage.prototype, "setItem");
Storage.prototype.getItem = jest.fn(
() => `
{
"url": "https://www.legifrance.gouv.fr/affichIDCC.do?idConvention=KALICONT000005635780",
"id": "2098",
"num": 2098,
"shortTitle": "personnel presta service tertiaire",
"slug": "2098-personnel presta service tertiaire",
"title": "Convention collective nationale de la banque du 10 janvier 2000. Etendue par arrêté du 17 novembre 2004 JORF 11 décembre 2004."
}
`
);

describe("Indemnité licenciement- CC 2098", () => {
let userAction: UserAction;
test("Inaptitude non pro", () => {
render(
<CalculateurIndemniteLicenciement
icon={""}
title={""}
displayTitle={""}
/>
);
userAction = new UserAction();

userAction
.click(ui.introduction.startButton.get())
.click(ui.contract.type.cdi.get())
.click(ui.contract.fauteGrave.non.get())
.click(ui.contract.inaptitude.oui.get())
.click(ui.next.get())
.click(ui.next.get())

.click(ui.information.agreement2098.inaptitudeNonPro.get())
.click(ui.next.get())
.setInput(ui.seniority.startDate.get(), "01/01/2009")
.setInput(ui.seniority.notificationDate.get(), "01/01/2024")
.setInput(ui.seniority.endDate.get(), "01/01/2024")
.click(ui.seniority.hasAbsence.oui.get())
.setInput(ui.seniority.absences.duration(0).get(), "8")
.click(ui.next.get())
.click(ui.salary.hasPartialTime.non.get())
.click(ui.salary.hasSameSalary.non.get())
.setInputs(ui.salary.salaries.getAll(), [
"2266",
"2250",
"2203",
"2199",
"2100",
"2020",
"2010",
"2010",
"1930",
"1890",
"1900",
"1800",
])
.click(ui.next.get());

expect(ui.activeStep.query()).toHaveTextContent("Indemnité");
expect(ui.result.resultat.get()).toHaveTextContent("17668,48 €");
expect(ui.result.resultatAgreement.get()).toHaveTextContent("9331.94 €");
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ type IntroductionProps = {
export const Introduction = ({ onClick }: IntroductionProps): JSX.Element => {
return (
<Div>
<Paragraph fontSize="hsmall" fontWeight="600" variant="title">
<Paragraph fontSize="hsmall" fontWeight="600">
Votre avis sur ce simulateur nous intéresse
</Paragraph>
<Button onClick={onClick}>Donner mon avis</Button>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ describe("Calcul de l'indemnité de licenciement CC 2098", () => {
"contrat salarié . convention collective": "'IDCC2098'",
"contrat salarié . convention collective . personnel presta service tertiaire . inaptitude suite à un accident non professionnelle":
"'Oui'",

"contrat salarié . indemnité de licenciement . ancienneté conventionnelle en année":
seniority,
"contrat salarié . indemnité de licenciement . ancienneté conventionnelle requise en année":
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,23 @@ export type CC2098ReferenceSalaryProps = {
export class ReferenceSalary2098
implements IReferenceSalary<SupportedCc.IDCC2098>
{
mapSituation(
args: Record<string, string | undefined>
): ReferenceSalaryProps<SupportedCc.IDCC2098> {
return {
category: args[
"contrat salarié . convention collective . bureaux études techniques . indemnité de licenciement . catégorie professionnelle"
] as CategoryPro2098,
inabilityNonProfessional:
args[
"contrat salarié . convention collective . personnel presta service tertiaire . inaptitude suite à un accident non professionnelle"
] === "'Oui'",
salaires: args.salaryPeriods
? (JSON.parse(args.salaryPeriods) as SalaryPeriods[])
: [],
};
}

computeReferenceSalary(
props: ReferenceSalaryProps<SupportedCc.IDCC2098>
): number {
Expand Down

0 comments on commit 4fc5f64

Please sign in to comment.