Skip to content

feat(preavis-retraite): passage en dsfr #6524

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ async function IndemniteRuptureCo() {
title={tool.title}
displayTitle={tool.displayTitle}
relatedItems={relatedItems}
description={tool.description}
/>
</DsfrLayout>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import { DsfrLayout } from "../../../src/modules/layout";
import { fetchRelatedItems } from "../../../src/modules/documents";
import { fetchTool } from "../../../src/modules/outils";
import { notFound } from "next/navigation";
import { generateDefaultMetadata } from "../../../src/modules/common/metas";
import PreavisRetraiteSimulator from "../../../src/modules/outils/preavis-retraite/PreavisRetraiteSimulator";

export async function generateMetadata() {
const { metaTitle, metaDescription } = await getTool();

return generateDefaultMetadata({
title: metaTitle,
description: metaDescription,
path: `/outils/preavis-retraite`,
});
}

async function PreavisRetraite() {
const tool = await getTool();
const relatedItems = await fetchRelatedItems(
{ _id: tool._id },
"preavis-retraite"
);
return (
<DsfrLayout>
<PreavisRetraiteSimulator
title={tool.title}
displayTitle={tool.displayTitle}
relatedItems={relatedItems}
/>
</DsfrLayout>
);
}

const getTool = async () => {
const tool = await fetchTool("preavis-retraite");

if (!tool) {
return notFound();
}
return tool;
};

export default PreavisRetraite;
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { DocumentElasticResult } from "../../../src/modules/documents";
import { fetchTool } from "../../../src/modules/outils";
import { notFound } from "next/navigation";
import { generateDefaultMetadata } from "../../../src/modules/common/metas";
import { SITE_URL } from "../../../src/config";
import { WidgetWithIframeResizer } from "src/modules/widgets/WidgetWithIframeResizer";
import { CalculateurPreavisRetraite } from "src/modules/outils/preavis-retraite/PreavisRetraiteSimulator";
import { ElasticTool } from "@socialgouv/cdtn-types";

export async function generateMetadata() {
const { title, description } = await getTool();

return generateDefaultMetadata({
title: `Simulateur - ${title}`,
description: description,
path: `${SITE_URL}/widgets/preavis-retraite`,
overrideCanonical: `${SITE_URL}/outils/preavis-retraite`,
});
}

async function PreavisRetraiteWidget() {
const { title, displayTitle } = await getTool();
return (
<WidgetWithIframeResizer title={displayTitle}>
<CalculateurPreavisRetraite title={title} />
</WidgetWithIframeResizer>
);
}

const getTool = async () => {
const tool: DocumentElasticResult<ElasticTool> =
await fetchTool("preavis-retraite");

if (!tool) {
return notFound();
}
return tool;
};

export default PreavisRetraiteWidget;
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ describe("Outil - Préavis de retraite", () => {
cy.contains("Commencer").click();

// Origine du départ à la retraite
cy.contains("Qui est à lorigine du départ en retraite ?");
cy.contains("Qui est à l'origine du départ en retraite ?");
cy.get("button").contains("Suivant").click();
cy.contains("Vous devez répondre à cette question");
cy.get(
Expand Down Expand Up @@ -76,14 +76,13 @@ describe("Outil - Préavis de retraite", () => {
cy.get("button").contains("Suivant").click();

// Résultat
cy.contains("Voir le détail du calcul");
cy.contains("2 mois");
cy.contains("Durée prévue par le code du travail (durée légale) : 2 mois");
cy.contains(
"Durée prévue par la convention collective (durée conventionnelle) : convention collective non renseignée"
);
cy.contains(
"La convention collective nayant pas été renseignée, la durée de préavis affichée correspond à la durée légale."
"La convention collective n'ayant pas été renseignée, la durée de préavis affichée correspond à la durée légale."
);
});

Expand All @@ -103,12 +102,12 @@ describe("Outil - Préavis de retraite", () => {
// Convention collective
cy.contains("Quel est le nom de la convention collective applicable ?");
cy.get(
'label:contains("Je sais quelle est ma convention collective (je la saisis)")'
'label:contains("Je sais quelle est ma convention collective et je la saisis.")'
)
.first()
.click();
cy.contains("Précisez et sélectionnez votre convention collective");
cy.get("#agreement-search").type("843");
cy.get('input[type="search"]').eq(1).type("843");
cy.get('ul[role="listbox"] li').contains("Boulangerie").click();
cy.get("button").contains("Suivant").click();

Expand All @@ -129,7 +128,7 @@ describe("Outil - Préavis de retraite", () => {

// Résultat
cy.contains("Préavis de départ à la retraite");
cy.contains("2 mois*");
cy.contains("2 mois");
cy.contains("Travailleur handicapé : Oui*");
cy.contains(
"Le salarié étant reconnu en tant que travailleur handicapé, la durée du préavis de départ à la retraite est doublée mais ne peut pas dépasser un maximum de 3 mois."
Expand Down Expand Up @@ -159,42 +158,42 @@ describe("Outil - Préavis de retraite", () => {
// Convention collective
cy.contains("Quel est le nom de la convention collective applicable ?");
cy.get(
'label:contains("Je ne sais pas quelle est ma convention collective (je la recherche)")'
'label:contains("Je ne sais pas quelle est ma convention collective et je la recherche.")'
)
.first()
.click();
cy.contains("Précisez et sélectionnez votre entreprise");
cy.contains("Précisez votre entreprise");
cy.get("button").contains("Suivant").click();
cy.contains("Vous devez sélectionner une entreprise");
cy.get("#enterprise-search").type("CARREFOUR BANQUE", { delay: 0 });
cy.selectByLabel("Nom de votre entreprise ou numéro Siren/Siret").type(
"CARREFOUR BANQUE"
);
cy.get('button[type="submit"]').last().click();
cy.contains("CARREFOUR BANQUE").click();
cy.contains("2 conventions collectives trouvées");
cy.contains("Sociétés financières IDCC 0478");
cy.contains("Banque IDCC 2120");
cy.get('label:contains("Sociétés financières IDCC 0478")').first().click();
cy.contains("Vous devez sélectionner une entreprise").should("not.exist");
cy.contains(
"2 conventions collectives ont été trouvées pour cette entreprise"
cy.contains("Nous n'avons pas de réponse pour cette convention collective");
cy.get("button").contains("Modifier").click();
cy.selectByLabel("Nom de votre entreprise ou numéro Siren/Siret").clear();
cy.selectByLabel("Nom de votre entreprise ou numéro Siren/Siret").type(
"boursorama"
);
cy.selectByLabel("Code postal ou Ville (optionnel)").type("9210");
cy.selectByLabel("Code postal ou Ville (optionnel)").type(
"0{downArrow}{enter}",
{
delay: 2000,
force: true,
}
);
cy.contains("Sociétés financières (IDCC 0478)");
cy.contains("Banque (IDCC 2120)");
cy.get('label:contains("Sociétés financières (IDCC 0478)")')
.first()
.click();
cy.contains("Cliquez sur Suivant pour poursuivre la simulation.");
cy.get('[aria-label="Fermer"]').click();
cy.get("#enterprise-search").clear();
cy.get("#enterprise-search").type("boursorama", { delay: 0 });
cy.get("#enterprise-search-address").type("9210");
cy.get("#enterprise-search-address").type("0{downArrow}{enter}", {
delay: 3000,
force: true,
});
cy.get('button[type="submit"]').last().click();
cy.contains(
"BOURSORAMA (BOURSORAMA - BOURSORAMA BANQUE - BOURSOBANK)"
).click();
cy.contains(
"Une convention collective a été trouvée pour cette entreprise"
);
cy.contains("Cliquez sur Suivant pour poursuivre la simulation.");
cy.contains("Vous avez sélectionné la convention collective");

cy.get("button").contains("Suivant").click();

Expand All @@ -214,7 +213,7 @@ describe("Outil - Préavis de retraite", () => {
"Durée prévue par la convention collective (durée conventionnelle) : pas de préavis"
);
cy.contains(
"En labsence de durée prévue par la convention collective, la durée de préavis à appliquer pour le salarié est donc la durée légale."
"En l'absence de durée prévue par la convention collective, la durée de préavis à appliquer pour le salarié est donc la durée légale."
);
});
});
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
describe("Widgets", () => {
it("Page widget preavis de retraite", () => {
cy.visit("/widgets/preavis-retraite");
cy.contains("Étapes");
cy.contains("Étape");
cy.contains("Calculer le préavis de départ à la retraite");
cy.contains(
"permet de calculer la durée de préavis à respecter en cas de départ ou de mise à la retraite"
);

cy.get("button").contains("Commencer").click();
cy.contains("Qui est à lorigine du départ en retraite");
cy.contains("Qui est à l'origine du départ en retraite");
});

it("Page widget preavis de licenciement", () => {
Expand Down
2 changes: 0 additions & 2 deletions packages/code-du-travail-frontend/pages/outils/[slug].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import {
DureePreavisLicenciement,
HeuresRechercheEmploi,
SimulateurIndemnitePrecarite,
CalculateurPreavisRetraite,
CalculateurIndemniteLicenciement,
} from "../../src/outils";
import {
Expand All @@ -32,7 +31,6 @@ const toolsBySlug = {
"indemnite-precarite": SimulateurIndemnitePrecarite,
"preavis-demission": DureePreavisDemission,
"preavis-licenciement": DureePreavisLicenciement,
"preavis-retraite": CalculateurPreavisRetraite,
"procedure-licenciement": DismissalProcess,
"indemnite-licenciement": CalculateurIndemniteLicenciement,
};
Expand Down
2 changes: 0 additions & 2 deletions packages/code-du-travail-frontend/pages/widgets/[slug].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,13 @@ import {
DureePreavisDemission,
DureePreavisLicenciement,
SimulateurIndemnitePrecarite,
CalculateurPreavisRetraite,
} from "../../src/outils";
import Metas from "../../src/common/Metas";
import { SITE_URL } from "../../src/config";
import { getBySlugTools } from "../../src/api";

const toolsBySlug = {
"preavis-licenciement": DureePreavisLicenciement,
"preavis-retraite": CalculateurPreavisRetraite,
"procedure-licenciement": DismissalProcess,
"indemnite-licenciement": CalculateurIndemniteLicenciement,
"indemnite-precarite": SimulateurIndemnitePrecarite,
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion packages/code-du-travail-frontend/sentry.client.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ Sentry.init({
// Basic configuration
dsn: isCypressTest ? undefined : process.env.NEXT_PUBLIC_SENTRY_DSN, // Disable Sentry in Cypress by setting DSN to undefined
environment: ENVIRONMENT,
debug: true, // Temporarily enable debug mode to troubleshoot
dist: process.env.NEXT_PUBLIC_GITHUB_SHA || "dev",

// Performance monitoring and source maps
Expand Down
1 change: 0 additions & 1 deletion packages/code-du-travail-frontend/sentry.edge.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ Sentry.init({
// Basic configuration
dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
environment: ENVIRONMENT,
debug: true, // Temporarily enable debug mode to troubleshoot
dist: process.env.NEXT_PUBLIC_GITHUB_SHA || "dev",

// Performance monitoring and source maps
Expand Down
1 change: 0 additions & 1 deletion packages/code-du-travail-frontend/sentry.server.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ Sentry.init({
// Basic configuration
dsn: isCypressTest ? undefined : process.env.NEXT_PUBLIC_SENTRY_DSN, // Disable Sentry in Cypress
environment: ENVIRONMENT,
debug: true, // Temporarily enable debug mode to troubleshoot
dist: process.env.NEXT_PUBLIC_GITHUB_SHA || "dev",

// Performance monitoring and source maps
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ export const RelatedItems = ({
}

return (
<div className={`${fr.cx("fr-mb-5w")} ${hideOnPrint}`}>
<div className={`${hideOnPrint}`}>
{relatedItems.map(
({ title, items }) =>
items.length > 0 && (
<div key={title}>
<div key={title} className={fr.cx("fr-mb-5w")}>
<div
className={fr.cx("fr-mb-2w", "fr-text--lead")}
role="heading"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
exports[`<RelatedItems /> should render 1`] = `
<div>
<div
class="fr-mb-5w [@media_print]:d_none"
class="[@media_print]:d_none"
>
<div>
<div
class="fr-mb-5w"
>
<div
aria-level="2"
class="fr-mb-2w fr-text--lead"
Expand Down Expand Up @@ -49,7 +51,9 @@ exports[`<RelatedItems /> should render 1`] = `
</li>
</ul>
</div>
<div>
<div
class="fr-mb-5w"
>
<div
aria-level="2"
class="fr-mb-2w fr-text--lead"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,13 @@ export const getAgreementFromLocalStorage = (): Agreement | undefined => {
console.error(e);
}
};

export const removeAgreementFromLocalStorage = () => {
try {
if (window?.localStorage) {
window.localStorage.removeItem(STORAGE_KEY_AGREEMENT);
}
} catch (e) {
console.error(e);
}
};
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { fr } from "@codegouvfr/react-dsfr";
import { ContainerSimulator } from "../../layout/ContainerSimulator";
import { ElasticAgreement } from "@socialgouv/cdtn-types";
import { AgreementsSection } from "./AgreementsSection";
import { AgreementsGlossaire } from "./AgreementsGlossaire";
import { AgreementsIntro } from "./AgreementsIntro";
import { ContainerSimulatorLight } from "../../layout/ContainerSimulatorLight";

type Agreement = Pick<ElasticAgreement, "shortTitle" | "slug">;

Expand All @@ -17,7 +17,7 @@ type Props = {

export const Agreements = ({ firstLettersAgreements }: Props) => {
return (
<ContainerSimulator
<ContainerSimulatorLight
title="Votre convention collective"
description="Retrouvez les questions/réponses fréquentes organisées par thème pour votre convention collective"
relatedItems={[]}
Expand All @@ -39,6 +39,6 @@ export const Agreements = ({ firstLettersAgreements }: Props) => {
/>
))}
</div>
</ContainerSimulator>
</ContainerSimulatorLight>
);
};
Loading