diff --git a/src/components/commun/Input.jsx b/src/components/commun/Input.jsx index c08fadc..e1a0009 100644 --- a/src/components/commun/Input.jsx +++ b/src/components/commun/Input.jsx @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; export default function Input({ children, id, isRequired = true, autoComplete = 'on', testId = '', type = 'text', - pattern, onChange, list, min, readOnly, isLoading, ariaBusy, value }) { + pattern, onChange, list, min, disabled, isLoading, ariaBusy, value }) { return (
@@ -17,7 +17,7 @@ export default function Input({ children, id, isRequired = true, autoComplete = onChange={onChange} list={list} min={min} - readOnly={readOnly} + disabled={disabled} name={id} value={value?.trim()} aria-busy={ariaBusy} @@ -43,7 +43,7 @@ Input.propTypes = { onChange: PropTypes.func, list: PropTypes.string, min: PropTypes.string, - readOnly: PropTypes.bool, + disabled: PropTypes.bool, isLoading: PropTypes.bool, ariaBusy: PropTypes.bool, value: PropTypes.string, diff --git a/src/views/candidature-conseiller/CandidatureConseiller.test.jsx b/src/views/candidature-conseiller/CandidatureConseiller.test.jsx index 8b88a74..a4bbeae 100644 --- a/src/views/candidature-conseiller/CandidatureConseiller.test.jsx +++ b/src/views/candidature-conseiller/CandidatureConseiller.test.jsx @@ -56,7 +56,7 @@ describe('candidature conseiller', () => { expect(nom).toHaveAttribute('type', 'text'); expect(nom).toBeRequired(); - const email = within(etapeInformationsDeContact).getByLabelText('Adresse e-mail * Format attendu : nom@domaine.fr'); + const email = within(etapeInformationsDeContact).getByLabelText('Adresse électronique * Format attendu : nom@domaine.fr'); expect(email).toHaveAttribute('type', 'email'); expect(email).toBeRequired(); @@ -369,7 +369,7 @@ describe('candidature conseiller', () => { fireEvent.change(prenom, { target: { value: 'Jean' } }); const nom = screen.getByLabelText('Nom *'); fireEvent.change(nom, { target: { value: 'Dupont' } }); - const email = screen.getByLabelText('Adresse e-mail * Format attendu : nom@domaine.fr'); + const email = screen.getByLabelText('Adresse électronique * Format attendu : nom@domaine.fr'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const adresse = screen.getByLabelText('Votre lieu d’habitation * Saississez le nom ou le code postal de votre commune.'); fireEvent.change(adresse, { target: { value: '93100 Montreuil' } }); @@ -408,7 +408,7 @@ describe('candidature conseiller', () => { fireEvent.change(prenom, { target: { value: 'Jean' } }); const nom = screen.getByLabelText('Nom *'); fireEvent.change(nom, { target: { value: 'Dupont' } }); - const email = screen.getByLabelText('Adresse e-mail * Format attendu : nom@domaine.fr'); + const email = screen.getByLabelText('Adresse électronique * Format attendu : nom@domaine.fr'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const adresse = screen.getByLabelText('Votre lieu d’habitation * Saississez le nom ou le code postal de votre commune.'); fireEvent.change(adresse, { target: { value: '93100 Montreuil' } }); @@ -450,7 +450,7 @@ describe('candidature conseiller', () => { fireEvent.change(prenom, { target: { value: 'Jean' } }); const nom = screen.getByLabelText('Nom *'); fireEvent.change(nom, { target: { value: 'Dupont' } }); - const email = screen.getByLabelText('Adresse e-mail * Format attendu : nom@domaine.fr'); + const email = screen.getByLabelText('Adresse électronique * Format attendu : nom@domaine.fr'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const adresse = screen.getByLabelText('Votre lieu d’habitation * Saississez le nom ou le code postal de votre commune.'); fireEvent.change(adresse, { target: { value: '93100 Montreuil' } }); @@ -499,7 +499,7 @@ describe('candidature conseiller', () => { fireEvent.change(prenom, { target: { value: 'Jean' } }); const nom = screen.getByLabelText('Nom *'); fireEvent.change(nom, { target: { value: 'Dupont' } }); - const email = screen.getByLabelText('Adresse e-mail * Format attendu : nom@domaine.fr'); + const email = screen.getByLabelText('Adresse électronique * Format attendu : nom@domaine.fr'); const adresse = screen.getByLabelText('Votre lieu d’habitation * Saississez le nom ou le code postal de votre commune.'); fireEvent.change(adresse, { target: { value: '93100 Montreuil' } }); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); @@ -545,7 +545,7 @@ describe('candidature conseiller', () => { fireEvent.change(prenom, { target: { value: 'Jean' } }); const nom = screen.getByLabelText('Nom *'); fireEvent.change(nom, { target: { value: 'Dupont' } }); - const email = screen.getByLabelText('Adresse e-mail * Format attendu : nom@domaine.fr'); + const email = screen.getByLabelText('Adresse électronique * Format attendu : nom@domaine.fr'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const adresse = screen.getByLabelText('Votre lieu d’habitation * Saississez le nom ou le code postal de votre commune.'); fireEvent.change(adresse, { target: { value: '93100 Montreuil' } }); @@ -687,7 +687,7 @@ describe('candidature conseiller', () => { fireEvent.change(prenom, { target: { value: 'Jean' } }); const nom = screen.getByLabelText('Nom *'); fireEvent.change(nom, { target: { value: 'Dupont' } }); - const email = screen.getByLabelText('Adresse e-mail * Format attendu : nom@domaine.fr'); + const email = screen.getByLabelText('Adresse électronique * Format attendu : nom@domaine.fr'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const adresse = screen.getByLabelText('Votre lieu d’habitation * Saississez le nom ou le code postal de votre commune.'); fireEvent.change(adresse, { target: { value: '93100 Montreuil' } }); diff --git a/src/views/candidature-conseiller/InformationsDeContact.jsx b/src/views/candidature-conseiller/InformationsDeContact.jsx index c8d0e59..0e4b6bd 100644 --- a/src/views/candidature-conseiller/InformationsDeContact.jsx +++ b/src/views/candidature-conseiller/InformationsDeContact.jsx @@ -21,7 +21,7 @@ export default function InformationsDeContact() { id="email" type="email" > - Adresse e-mail * Format attendu : nom@domaine.fr + Adresse électronique * Format attendu : nom@domaine.fr Votre besoin en coordinateur

- Avez-vous déjà identifié un candidat pour le poste de coordinateur de conseiller numérique ?* + Avez-vous déjà identifié un candidat pour le poste de coordinateur de conseiller numérique ? *

Si oui, merci d’inviter ce candidat à s’inscrire sur la plateforme Conseiller numérique

@@ -27,7 +27,7 @@ export default function BesoinEnCoordinateur() { Accompagnera également des publics
-

À partir de quand êtes vous prêt à accueillir votre coordinateur ?*

+

À partir de quand êtes vous prêt à accueillir votre coordinateur ? *

Choisir une date diff --git a/src/views/candidature-coordinateur/CandidatureCoordinateur.test.jsx b/src/views/candidature-coordinateur/CandidatureCoordinateur.test.jsx index 7b87627..46dc99c 100644 --- a/src/views/candidature-coordinateur/CandidatureCoordinateur.test.jsx +++ b/src/views/candidature-coordinateur/CandidatureCoordinateur.test.jsx @@ -111,7 +111,7 @@ describe('candidature coordinateur', () => { expect(fonction).toHaveAttribute('type', 'text'); expect(fonction).toBeRequired(); - const email = within(etapeInformationsDeContact).getByLabelText('Adresse e-mail *'); + const email = within(etapeInformationsDeContact).getByLabelText('Adresse électronique *'); expect(email).toHaveAttribute('type', 'email'); expect(email).toBeRequired(); @@ -131,7 +131,7 @@ describe('candidature coordinateur', () => { expect(etapeBesoinCoordinateur).toHaveAttribute('id', 'votre-besoin-en-coordinateur'); const identificationCandidat = within(etapeBesoinCoordinateur).getByText( - textMatcher('Avez-vous déjà identifié un candidat pour le poste de coordinateur de conseiller numérique ?*'), + textMatcher('Avez-vous déjà identifié un candidat pour le poste de coordinateur de conseiller numérique ? *'), { selector: 'p' } ); expect(identificationCandidat).toBeInTheDocument(); @@ -163,7 +163,7 @@ describe('candidature coordinateur', () => { expect(publics).toHaveAttribute('name', 'coordinateurTypeContrat'); const dateAccueilCoordinateur = within(etapeBesoinCoordinateur).getByText( - textMatcher('À partir de quand êtes vous prêt à accueillir votre coordinateur ?*'), + textMatcher('À partir de quand êtes vous prêt à accueillir votre coordinateur ? *'), { selector: 'p' } ); expect(dateAccueilCoordinateur).toBeInTheDocument(); @@ -226,11 +226,11 @@ describe('candidature coordinateur', () => { const engagements = screen.getByTestId('votre-engagement'); const listDetail = within(engagements).getAllByRole('listitem'); - within(listDetail[0]).getByText('Renforcer le maillage et les synergies territoriales'); - within(listDetail[1]).getByText('Être le relais principal des employeurs, des Conseillers numériques et de l’équipe d’animation nationale'); - within(listDetail[2]).getByText('Imaginer et mettre en place des collaborations sur la base des besoins de la communauté des Conseillers numériques'); - within(listDetail[3]).getByText('Signer dans les 15 jours suivants un contrat avec ce candidat'); - within(listDetail[4]).getByText('Laisser partir le conseiller numérique en formation initiale ou continue'); + within(listDetail[0]).getByText('Renforcer le maillage et les synergies territoriales,'); + within(listDetail[1]).getByText('Être le relais principal des employeurs, des Conseillers numériques et de l’équipe d’animation nationale,'); + within(listDetail[2]).getByText('Imaginer et mettre en place des collaborations sur la base des besoins de la communauté des Conseillers numériques,'); + within(listDetail[3]).getByText('Signer dans les 15 jours suivants un contrat avec ce candidat,'); + within(listDetail[4]).getByText('Laisser partir le conseiller numérique en formation initiale ou continue,'); within(listDetail[5]).getByText('Mettre à sa disposition les moyens et équipements pour réaliser sa mission (ordinateur, ' + 'téléphone portable, voiture si nécessaire)'); @@ -276,7 +276,7 @@ describe('candidature coordinateur', () => { fireEvent.change(nom, { target: { value: 'Dupont' } }); const fonction = screen.getByLabelText('Fonction *'); fireEvent.change(fonction, { target: { value: 'Test' } }); - const email = screen.getByLabelText('Adresse e-mail *'); + const email = screen.getByLabelText('Adresse électronique *'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const telephone = screen.getByLabelText('Téléphone *'); fireEvent.change(telephone, { target: { value: '+33123456789' } }); @@ -335,7 +335,7 @@ describe('candidature coordinateur', () => { fireEvent.change(nom, { target: { value: 'Dupont' } }); const fonction = screen.getByLabelText('Fonction *'); fireEvent.change(fonction, { target: { value: 'Test' } }); - const email = screen.getByLabelText('Adresse e-mail *'); + const email = screen.getByLabelText('Adresse électronique *'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const telephone = screen.getByLabelText('Téléphone *'); fireEvent.change(telephone, { target: { value: '+33123456789' } }); @@ -501,7 +501,7 @@ describe('candidature coordinateur', () => { fireEvent.change(nom, { target: { value: 'Dupont' } }); const fonction = screen.getByLabelText('Fonction *'); fireEvent.change(fonction, { target: { value: 'Test' } }); - const email = screen.getByLabelText('Adresse e-mail *'); + const email = screen.getByLabelText('Adresse électronique *'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const telephone = screen.getByLabelText('Téléphone *'); fireEvent.change(telephone, { target: { value: '+33123456789' } }); diff --git a/src/views/candidature-coordinateur/Engagement.jsx b/src/views/candidature-coordinateur/Engagement.jsx index 38cf628..cec591f 100644 --- a/src/views/candidature-coordinateur/Engagement.jsx +++ b/src/views/candidature-coordinateur/Engagement.jsx @@ -12,11 +12,11 @@ export default function Engagement() { Assurer que le conseiller réalise des activités visant à:

diff --git a/src/views/candidature-structure/BesoinEnConseillerNumerique.jsx b/src/views/candidature-structure/BesoinEnConseillerNumerique.jsx index ab2a0b1..ecbd75e 100644 --- a/src/views/candidature-structure/BesoinEnConseillerNumerique.jsx +++ b/src/views/candidature-structure/BesoinEnConseillerNumerique.jsx @@ -12,10 +12,10 @@ export default function BesoinEnConseillerNumerique() { Votre besoin en conseiller(s) numérique(s)
- Combien de conseillers numériques souhaitez-vous accueillir ?* + Combien de conseillers numériques souhaitez-vous accueillir ? *
-

Avez-vous déjà identifié un candidat pour le poste de conseiller numérique ?*

+

Avez-vous déjà identifié un candidat pour le poste de conseiller numérique ? *

Si oui, merci d’inviter ce candidat à s’inscrire sur la plateforme Conseiller numérique.

Oui @@ -24,7 +24,7 @@ export default function BesoinEnConseillerNumerique() { Non
-

À partir de quand êtes vous prêt à accueillir votre conseiller numerique ?*

+

À partir de quand êtes vous prêt à accueillir votre conseiller numerique ? *

Choisir une date diff --git a/src/views/candidature-structure/CandidatureStructure.test.jsx b/src/views/candidature-structure/CandidatureStructure.test.jsx index b47f2e6..2880f99 100644 --- a/src/views/candidature-structure/CandidatureStructure.test.jsx +++ b/src/views/candidature-structure/CandidatureStructure.test.jsx @@ -58,6 +58,7 @@ describe('candidature structure', () => { const adresse = within(etapeInformationsDeStructure).getByLabelText('Adresse *'); expect(adresse).toHaveAttribute('type', 'text'); + expect(adresse).toHaveAttribute('disabled'); expect(adresse).toBeRequired(); const questionTypeDeStructure = within(etapeInformationsDeStructure).getByText(textMatcher('Votre structure est *'), { selector: 'p' }); @@ -114,7 +115,7 @@ describe('candidature structure', () => { expect(fonction).toHaveAttribute('type', 'text'); expect(fonction).toBeRequired(); - const email = within(etapeInformationsDeContact).getByLabelText('Adresse e-mail *'); + const email = within(etapeInformationsDeContact).getByLabelText('Adresse électronique *'); expect(email).toHaveAttribute('type', 'email'); expect(email).toBeRequired(); @@ -133,13 +134,13 @@ describe('candidature structure', () => { const etapeBesoinConseillerNumerique = within(formulaire).getByRole('group', { name: 'Votre besoin en conseiller(s) numérique(s)' }); expect(etapeBesoinConseillerNumerique).toHaveAttribute('id', 'votre-besoin-en-conseiller-numerique'); - const combienConseillerNumerique = within(etapeBesoinConseillerNumerique).getByLabelText('Combien de conseillers numériques souhaitez-vous accueillir ?*'); + const combienConseillerNumerique = within(etapeBesoinConseillerNumerique).getByLabelText('Combien de conseillers numériques souhaitez-vous accueillir ? *'); expect(combienConseillerNumerique).toHaveAttribute('type', 'number'); expect(combienConseillerNumerique).toHaveAttribute('min', '1'); expect(combienConseillerNumerique).toBeRequired(); const identificationCandidat = within(etapeBesoinConseillerNumerique).getByText( - textMatcher('Avez-vous déjà identifié un candidat pour le poste de conseiller numérique ?*'), + textMatcher('Avez-vous déjà identifié un candidat pour le poste de conseiller numérique ? *'), { selector: 'p' } ); expect(identificationCandidat).toBeInTheDocument(); @@ -160,7 +161,7 @@ describe('candidature structure', () => { expect(non).toHaveAttribute('name', 'aIdentifieCandidat'); const dateDebutMission = within(etapeBesoinConseillerNumerique).getByText( - textMatcher('À partir de quand êtes vous prêt à accueillir votre conseiller numerique ?*'), + textMatcher('À partir de quand êtes vous prêt à accueillir votre conseiller numerique ? *'), { selector: 'p' } ); expect(dateDebutMission).toBeInTheDocument(); @@ -204,15 +205,15 @@ describe('candidature structure', () => { const listDetail = within(engagements).getAllByRole('listitem'); within(listDetail[0]).getByText('Assurer que le conseiller réalise des activités de ' + - 'montée en compétences du public (ateliers numériques, initiations au numérique), gratuites.'); + 'montée en compétences du public (ateliers numériques, initiations au numérique), gratuites,'); within(listDetail[1]).getByText('Qu’il consacre une partie de son temps aux rencontres locales et ' + - 'nationales organisées pour la communauté et la formation continue, etc.'); - within(listDetail[2]).getByText('Qu’il revête une tenue vestimentaire dédiée fournie par l’Etat.'); - within(listDetail[3]).getByText('Tout mettre en oeuvre pour sélectionner le candidat dans un délai maximum d’un mois sur la plateforme.'); - within(listDetail[4]).getByText('Signer dans les 15 jours suivants un contrat avec ce candidat.'); - within(listDetail[5]).getByText('Laisser partir le conseiller numérique France Services en formation initiale ou continue.'); + 'nationales organisées pour la communauté et la formation continue, etc,'); + within(listDetail[2]).getByText('Qu’il revête une tenue vestimentaire dédiée fournie par l’Etat,'); + within(listDetail[3]).getByText('Tout mettre en oeuvre pour sélectionner le candidat dans un délai maximum d’un mois sur la plateforme,'); + within(listDetail[4]).getByText('Signer dans les 15 jours suivants un contrat avec ce candidat,'); + within(listDetail[5]).getByText('Laisser partir le conseiller numérique France Services en formation initiale ou continue,'); within(listDetail[6]).getByText('Mettre à sa disposition les moyens et ' + - 'équipements pour réaliser sa mission (ordinateur, téléphone portable, voiture si nécessaire).'); + 'équipements pour réaliser sa mission (ordinateur, téléphone portable, voiture si nécessaire),'); const confirmationEngagement = screen.getByLabelText('Je confirme avoir lu et pris connaissance des conditions d’engagement.*'); expect(confirmationEngagement).toBeInTheDocument(); @@ -368,11 +369,11 @@ describe('candidature structure', () => { fireEvent.change(nom, { target: { value: 'Dupont' } }); const fonction = screen.getByLabelText('Fonction *'); fireEvent.change(fonction, { target: { value: 'Test' } }); - const email = screen.getByLabelText('Adresse e-mail *'); + const email = screen.getByLabelText('Adresse électronique *'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const telephone = screen.getByLabelText('Téléphone *'); fireEvent.change(telephone, { target: { value: '+33123456789' } }); - const nombre = screen.getByLabelText('Combien de conseillers numériques souhaitez-vous accueillir ?*'); + const nombre = screen.getByLabelText('Combien de conseillers numériques souhaitez-vous accueillir ? *'); fireEvent.change(nombre, { target: { value: 1 } }); const identificationCandidat = screen.getByRole('radio', { name: 'Oui' }); fireEvent.click(identificationCandidat); @@ -427,11 +428,11 @@ describe('candidature structure', () => { fireEvent.change(nom, { target: { value: 'Dupont' } }); const fonction = screen.getByLabelText('Fonction *'); fireEvent.change(fonction, { target: { value: 'Test' } }); - const email = screen.getByLabelText('Adresse e-mail *'); + const email = screen.getByLabelText('Adresse électronique *'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const telephone = screen.getByLabelText('Téléphone *'); fireEvent.change(telephone, { target: { value: '+33123456789' } }); - const nombre = screen.getByLabelText('Combien de conseillers numériques souhaitez-vous accueillir ?*'); + const nombre = screen.getByLabelText('Combien de conseillers numériques souhaitez-vous accueillir ? *'); fireEvent.change(nombre, { target: { value: 1 } }); const identificationCandidat = screen.getByRole('radio', { name: 'Oui' }); fireEvent.click(identificationCandidat); @@ -594,11 +595,11 @@ describe('candidature structure', () => { fireEvent.change(nom, { target: { value: 'Dupont' } }); const fonction = screen.getByLabelText('Fonction *'); fireEvent.change(fonction, { target: { value: 'Test' } }); - const email = screen.getByLabelText('Adresse e-mail *'); + const email = screen.getByLabelText('Adresse électronique *'); fireEvent.change(email, { target: { value: 'jean.dupont@example.com' } }); const telephone = screen.getByLabelText('Téléphone *'); fireEvent.change(telephone, { target: { value: '+33123456789' } }); - const nombre = screen.getByLabelText('Combien de conseillers numériques souhaitez-vous accueillir ?*'); + const nombre = screen.getByLabelText('Combien de conseillers numériques souhaitez-vous accueillir ? *'); fireEvent.change(nombre, { target: { value: 1 } }); const identificationCandidat = screen.getByRole('radio', { name: 'Oui' }); fireEvent.click(identificationCandidat); diff --git a/src/views/candidature-structure/Engagement.jsx b/src/views/candidature-structure/Engagement.jsx index 28fb886..aacaa4b 100644 --- a/src/views/candidature-structure/Engagement.jsx +++ b/src/views/candidature-structure/Engagement.jsx @@ -7,13 +7,13 @@ export default function Engagement() {

En tant que structure accueillante, vous vous engagez à

    -
  • Assurer que le conseiller réalise des activités de montée en compétences du public (ateliers numériques, initiations au numérique), gratuites.
  • -
  • Qu’il consacre une partie de son temps aux rencontres locales et nationales organisées pour la communauté et la formation continue, etc.
  • -
  • Qu’il revête une tenue vestimentaire dédiée fournie par l’Etat.
  • -
  • Tout mettre en oeuvre pour sélectionner le candidat dans un délai maximum d’un mois sur la plateforme.
  • -
  • Signer dans les 15 jours suivants un contrat avec ce candidat.
  • -
  • Laisser partir le conseiller numérique France Services en formation initiale ou continue.
  • -
  • Mettre à sa disposition les moyens et équipements pour réaliser sa mission (ordinateur, téléphone portable, voiture si nécessaire).
  • +
  • Assurer que le conseiller réalise des activités de montée en compétences du public (ateliers numériques, initiations au numérique), gratuites,
  • +
  • Qu’il consacre une partie de son temps aux rencontres locales et nationales organisées pour la communauté et la formation continue, etc,
  • +
  • Qu’il revête une tenue vestimentaire dédiée fournie par l’Etat,
  • +
  • Tout mettre en oeuvre pour sélectionner le candidat dans un délai maximum d’un mois sur la plateforme,
  • +
  • Signer dans les 15 jours suivants un contrat avec ce candidat,
  • +
  • Laisser partir le conseiller numérique France Services en formation initiale ou continue,
  • +
  • Mettre à sa disposition les moyens et équipements pour réaliser sa mission (ordinateur, téléphone portable, voiture si nécessaire),
Je confirme avoir lu et pris connaissance des conditions d’engagement.* diff --git a/src/views/candidature-structure/InformationsDeContact.jsx b/src/views/candidature-structure/InformationsDeContact.jsx index b5d7a28..74756d7 100644 --- a/src/views/candidature-structure/InformationsDeContact.jsx +++ b/src/views/candidature-structure/InformationsDeContact.jsx @@ -29,7 +29,7 @@ export default function InformationsDeContact() { name="email" type="email" > - Adresse e-mail * + Adresse électronique *