Skip to content

Commit 965c756

Browse files
committed
feat(admin): added prerequisites summary block to certification registry manager update certification page
1 parent 8f2a5b6 commit 965c756

File tree

4 files changed

+71
-15
lines changed

4 files changed

+71
-15
lines changed

packages/reva-admin-react/cypress/e2e/responsable-certifications/certifications/update-certification-page/fixtures/certification-bp-boucher.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"label": "Niveau 4 : Baccalauréat"
1515
},
1616
"domains": [],
17+
"prerequisites": [],
1718
"competenceBlocs": [
1819
{
1920
"id": "008a6fab-55ad-4412-ab17-56bc4b8e2fd0",
@@ -51,7 +52,8 @@
5152
"id": "a8e39ba6-9463-48b2-aa99-f8ce1b83904c",
5253
"label": "Appliquer les règles relatives à l’alimentation, à l’hygiène, aux locaux et équipements dans l’environnement professionnel du boucher et de la boucherie"
5354
}
54-
]
55+
],
56+
"prerequisites": []
5557
}
5658
]
5759
}

packages/reva-admin-react/cypress/e2e/responsable-certifications/certifications/update-certification-page/update-certification-page.cy.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,4 +124,23 @@ context("when i access the update certification page ", () => {
124124
);
125125
});
126126
});
127+
context("prerequisites summary card", () => {
128+
it("display the a default message when the certification has no prerequisite", function () {
129+
interceptCertification();
130+
131+
cy.admin(
132+
"/responsable-certifications/certifications/bf78b4d6-f6ac-4c8f-9e6b-d6c6ae9e891b",
133+
);
134+
cy.wait("@activeFeaturesForConnectedUser");
135+
cy.wait("@getOrganismForAAPVisibilityCheck");
136+
cy.wait("@getMaisonMereCGUQuery");
137+
cy.wait(
138+
"@getCertificationForCertificationRegistryManagerUpdateCertificationPage",
139+
);
140+
141+
cy.get(
142+
'[data-test="prerequisites-summary-card"] [data-test="no-prerequisite-message"]',
143+
).should("exist");
144+
});
145+
});
127146
});

packages/reva-admin-react/src/app/responsable-certifications/certifications/[certificationId]/page.tsx

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import { useParams } from "next/navigation";
33
import { useUpdateCertificationPage } from "./updateCertification.hook";
44
import { CertificationCompetenceBlocsSummaryCard } from "@/components/certifications/certification-competence-blocs-summary-card/CertificationCompetenceBlocsSummaryCard";
55
import { useRouter } from "next/navigation";
6+
import { SectionCard } from "../../../../components/card/section-card/SectionCard";
7+
import { SmallNotice } from "../../../../components/small-notice/SmallNotice";
68

79
type CertificationForPage = Exclude<
810
ReturnType<typeof useUpdateCertificationPage>["certification"],
@@ -38,20 +40,49 @@ const PageContent = ({
3840
validée et visible sur la plateforme, ces informations seront affichées
3941
aux AAP et aux candidats.
4042
</p>
41-
<CertificationCompetenceBlocsSummaryCard
42-
isEditable
43-
competenceBlocs={certification.competenceBlocs}
44-
onAddBlocCompetenceButtonClick={() =>
45-
router.push(
46-
`/responsable-certifications/certifications/${certification.id}/bloc-competence/add`,
47-
)
48-
}
49-
onUpdateCompetenceBlocButtonClick={(blocId) =>
50-
router.push(
51-
`/responsable-certifications/certifications/${certification.id}/bloc-competence/${blocId}`,
52-
)
53-
}
54-
/>
43+
<div className="flex flex-col gap-8">
44+
<CertificationCompetenceBlocsSummaryCard
45+
isEditable
46+
competenceBlocs={certification.competenceBlocs}
47+
onAddBlocCompetenceButtonClick={() =>
48+
router.push(
49+
`/responsable-certifications/certifications/${certification.id}/bloc-competence/add`,
50+
)
51+
}
52+
onUpdateCompetenceBlocButtonClick={(blocId) =>
53+
router.push(
54+
`/responsable-certifications/certifications/${certification.id}/bloc-competence/${blocId}`,
55+
)
56+
}
57+
/>
58+
<SectionCard
59+
data-test="prerequisites-summary-card"
60+
title="Prérequis obligatoires"
61+
titleIconClass="fr-icon-success-fill"
62+
>
63+
{certification.prerequisites.length ? null : (
64+
<ul className="ml-10" data-test="no-prerequisite-message">
65+
<li>
66+
Avant d’accéder aux évaluations certificatives, le candidat doit
67+
avoir eu l’occasion de mettre en œuvre au cours de son parcours
68+
CQP, au sein d’une entreprise de commerces de gros, les
69+
activités visées par le CQP.
70+
</li>
71+
<li>
72+
La durée de cette expérience doit être d’au moins 6 mois si tous
73+
les blocs sont visés et d’au moins 3 mois dans le cadre d’un
74+
accès au CQP par bloc de compétences.
75+
</li>
76+
</ul>
77+
)}
78+
<SmallNotice className="mt-6">
79+
Si les prérequis obligatoires ont pu être récupérés depuis France
80+
compétences, ils seront affichés ci-dessus. Vous pouvez revoir
81+
l'ordre des prérequis ou corriger des fautes de frappe en cliquant
82+
sur le bouton “Modifier”.
83+
</SmallNotice>
84+
</SectionCard>
85+
</div>
5586
</div>
5687
);
5788
};

packages/reva-admin-react/src/app/responsable-certifications/certifications/[certificationId]/updateCertification.hook.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ const getCertificationQuery = graphql(`
1919
label
2020
}
2121
}
22+
prerequisites {
23+
id
24+
label
25+
}
2226
}
2327
}
2428
`);

0 commit comments

Comments
 (0)