Skip to content

Commit

Permalink
chore(test): test a11y sur toutes les pages n'ayant pas de problemes …
Browse files Browse the repository at this point in the history
…d'a11y
  • Loading branch information
Naorid committed Jul 20, 2023
1 parent d0f3137 commit e7a2228
Show file tree
Hide file tree
Showing 46 changed files with 1,011 additions and 20 deletions.
4 changes: 2 additions & 2 deletions docs/docs/architecture/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Point d'entrée des pages et chemins d'accès du site.
├── {ma-page}/
│ ├── index.analytics.ts : données d'analytics à transmettre lors de l'interaction avec la page
│ ├── index.page.tsx : point d'entrée de la page
│ └── index.page.test.tsx : fichier de test de la page, avec React Testing Library
│ └── [id].page.test.tsx : fichier de test de la page, avec React Testing Library
├── ...
└── api/ : ensemble des resources exposés
├── middlewares : middlewares partagés dans les ressources exposées
Expand Down Expand Up @@ -142,4 +142,4 @@ Les fichiers sont découpés selon leur destination et suffixés en conséquence
* `*.util.ts` : fonctions utilitaires nécessaires dans le module courant.
* `*.repository.ts` : dans un domaine, interface d'un repository. Côté infra, implémentation de l'interface.
* `*.mapper`
* `*.<interface>.service.ts` : Implémentation de l'interface `<interface>`. Ex : `tarteAuCitron.cookies.service.ts` est une implémentation de l'interface dans `cookies.service.ts`.
* `*.<interface>.service.ts` : Implémentation de l'interface `<interface>`. Ex : `tarteAuCitron.cookies.service.ts` est une implémentation de l'interface dans `cookies.service.ts`.
23 changes: 23 additions & 0 deletions src/pages/accessibilite/index.page.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
* @jest-environment jsdom
*/

import { render } from '@testing-library/react';

import { DependenciesProvider } from '~/client/context/dependenciesContainer.context';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import Accessibilite from '~/pages/accessibilite/index.page';
import { checkA11y } from '~/test-utils';

describe('Page accessibilite', () => {
it('n‘a pas de défaut d‘accessibilité', async () => {
const titre = 'titre';
const contenu = 'contenu';
const { container } = render(
<DependenciesProvider analyticsService={anAnalyticsService()}>
<Accessibilite titre={titre} contenu={contenu}/>);
</DependenciesProvider>);

await checkA11y(container);
});
});
28 changes: 27 additions & 1 deletion src/pages/apprentissage-entreprises/index.page.test.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,22 @@
/**
* @jest-environment jsdom
*/

import { render } from '@testing-library/react';
import * as process from 'process';

import { mockUseRouter } from '~/client/components/useRouter.mock';
import { mockSmallScreen } from '~/client/components/window.mock';
import { DependenciesProvider } from '~/client/context/dependenciesContainer.context';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import { aVideoService } from '~/client/services/video/video.service.fixture';
import { aVideoCampagneApprentissageList } from '~/server/cms/domain/videoCampagneApprentissage.fixture';
import { createFailure, createSuccess } from '~/server/errors/either';
import { ErreurMétier } from '~/server/errors/erreurMétier.types';
import { dependencies } from '~/server/start';
import { checkA11y } from '~/test-utils';

import { getServerSideProps } from './index.page';
import ApprentissageEntreprises, { getServerSideProps } from './index.page';

jest.mock('~/server/start', () => ({
dependencies: {
Expand All @@ -18,6 +29,21 @@ jest.mock('~/server/start', () => ({
}));

describe('<ApprentissageEntreprises />', () => {
it('n‘a pas de défaut d‘accessibilité', async () => {
mockSmallScreen();
mockUseRouter({ query: { page: '1' } });
const videos = aVideoCampagneApprentissageList();

const { container } = render(
<DependenciesProvider
analyticsService={anAnalyticsService()}
youtubeService={aVideoService()}
>
<ApprentissageEntreprises videos={videos} />);
</DependenciesProvider>);

await checkA11y(container);
});

describe('getServerSideProps', () => {

Expand Down
2 changes: 1 addition & 1 deletion src/pages/apprentissage/[id].page.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ describe('<AnnonceAlternancePage />', () => {
<AnnonceAlternancePage alternanceSerialized={alternanceSerialized} />
</DependenciesProvider>);

await checkA11y(container); //TODO FIX + verifier CSS
await checkA11y(container);
});

it('ajoute le nom de l’annonce au titre du document', async () => {
Expand Down
37 changes: 37 additions & 0 deletions src/pages/articles/[id].page.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/**
* @jest-environment jsdom
*/

import { render } from '@testing-library/react';

import { mockUseRouter } from '~/client/components/useRouter.mock';
import { mockSmallScreen } from '~/client/components/window.mock';
import { DependenciesProvider } from '~/client/context/dependenciesContainer.context';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import ConsulterArticlePage from '~/pages/articles/[id].page';
import { checkA11y } from '~/test-utils';

describe('Page accompagnement', () => {
it('n‘a pas de défaut d‘accessibilité', async () => {
const article = {
bannière: {
alt: 'alt',
src: 'url',
},
contenu: 'contenu',
slug: 'slug',
titre: 'titre',
};
mockUseRouter({});
mockSmallScreen();

const { container } = render(
<DependenciesProvider
analyticsService={anAnalyticsService()}
>
<ConsulterArticlePage article={article} />);
</DependenciesProvider>);

await checkA11y(container);
});
});
45 changes: 45 additions & 0 deletions src/pages/benevolat/[id].page.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/**
* @jest-environment jsdom
*/

import { render } from '@testing-library/react';

import { mockUseRouter } from '~/client/components/useRouter.mock';
import { mockSmallScreen } from '~/client/components/window.mock';
import { DependenciesProvider } from '~/client/context/dependenciesContainer.context';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import { aLocalisationService } from '~/client/services/localisation/localisationService.fixture';
import { aMissionEngagementService } from '~/client/services/missionEngagement/missionEngagementService.fixture';
import ConsulterMissionEngagementPage from '~/pages/benevolat/[id].page';
import { checkA11y } from '~/test-utils';

describe('Page accompagnement', () => {
it('n‘a pas de défaut d‘accessibilité', async () => {
const mission = {
description: 'description',
duréeContrat: 1,
débutContrat: 'débutContrat',
id: 'MissionId',
localisation: 'localisation',
nomEntreprise: 'nomEntreprise',
openToMinors: 'openToMinors',
titre: 'titre',
url: 'url',
étiquetteList: ['étiquetteList'],
};

mockUseRouter({});
mockSmallScreen();

const { container } = render(
<DependenciesProvider
analyticsService={anAnalyticsService()}
localisationService={aLocalisationService()}
missionEngagementService={aMissionEngagementService()}
>
<ConsulterMissionEngagementPage missionEngagement={mission} />);
</DependenciesProvider>);

await checkA11y(container);
});
});
28 changes: 28 additions & 0 deletions src/pages/cgu/index.page.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/**
* @jest-environment jsdom
*/

import { render } from '@testing-library/react';

import { mockUseRouter } from '~/client/components/useRouter.mock';
import { mockSmallScreen } from '~/client/components/window.mock';
import { DependenciesProvider } from '~/client/context/dependenciesContainer.context';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import Cgu from '~/pages/cgu/index.page';
import { checkA11y } from '~/test-utils';

describe('Page Cgu', () => {
it('n‘a pas de défaut d‘accessibilité', async () => {
mockUseRouter({});
mockSmallScreen();

const { container } = render(
<DependenciesProvider
analyticsService={anAnalyticsService()}
>
<Cgu titre={'titre'} contenu={'contenu'} />);
</DependenciesProvider>);

await checkA11y(container);
});
});
18 changes: 18 additions & 0 deletions src/pages/choisir-apprentissage/index.page.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ import { DependenciesProvider } from '~/client/context/dependenciesContainer.con
import { AnalyticsService } from '~/client/services/analytics/analytics.service';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import { aMarketingService } from '~/client/services/marketing/marketing.service.fixture';
import { aVideoService } from '~/client/services/video/video.service.fixture';
import { aVideoCampagneApprentissageList } from '~/server/cms/domain/videoCampagneApprentissage.fixture';
import { createFailure, createSuccess } from '~/server/errors/either';
import { ErreurMétier } from '~/server/errors/erreurMétier.types';
import { dependencies } from '~/server/start';
import { checkA11y } from '~/test-utils';

import ApprentissageJeunes, { getServerSideProps } from './index.page';

Expand Down Expand Up @@ -72,6 +74,22 @@ describe('Page Apprentissage Jeunes', () => {
});

describe('<ApprentissageJeunes />', () => {
it('n‘a pas de défaut d‘accessibilité', async () => {
mockSmallScreen();

const { container } = render(
<DependenciesProvider
analyticsService={analyticsService}
marketingService={aMarketingService()}
youtubeService={aVideoService()}
>
<ApprentissageJeunes videos={aVideoCampagneApprentissageList()}/>
</DependenciesProvider>,
);

await checkA11y(container);
});

it('affiche une section principale avec ancre pour le lien d‘évitement', () => {
// WHEN
render(
Expand Down
28 changes: 28 additions & 0 deletions src/pages/confidentialite/index.page.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/**
* @jest-environment jsdom
*/

import { render } from '@testing-library/react';

import { mockUseRouter } from '~/client/components/useRouter.mock';
import { mockSmallScreen } from '~/client/components/window.mock';
import { DependenciesProvider } from '~/client/context/dependenciesContainer.context';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import Confidentialite from '~/pages/confidentialite/index.page';
import { checkA11y } from '~/test-utils';

describe('Page Confidentialité', () => {
it('n‘a pas de défaut d‘accessibilité', async () => {
mockUseRouter({});
mockSmallScreen();

const { container } = render(
<DependenciesProvider
analyticsService={anAnalyticsService()}
>
<Confidentialite titre={'titre'} contenu={'contenu'} />);
</DependenciesProvider>);

await checkA11y(container);
});
});
28 changes: 28 additions & 0 deletions src/pages/creer-mon-cv/index.page.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/**
* @jest-environment jsdom
*/

import { render } from '@testing-library/react';

import { mockUseRouter } from '~/client/components/useRouter.mock';
import { mockSmallScreen } from '~/client/components/window.mock';
import { DependenciesProvider } from '~/client/context/dependenciesContainer.context';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import FormationPage from '~/pages/creer-mon-cv/index.page';
import { checkA11y } from '~/test-utils';

describe('Page Créer Mon CV', () => {
it('n‘a pas de défaut d‘accessibilité', async () => {
mockUseRouter({});
mockSmallScreen();

const { container } = render(
<DependenciesProvider
analyticsService={anAnalyticsService()}
>
<FormationPage />);
</DependenciesProvider>);

await checkA11y(container);
});
});
14 changes: 14 additions & 0 deletions src/pages/decouvrir-les-metiers/[nomMetier].page.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { DependenciesProvider } from '~/client/context/dependenciesContainer.con
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import ConsulterFicheMetierPage from '~/pages/decouvrir-les-metiers/[nomMetier].page';
import { aFicheMetier } from '~/server/fiche-metier/domain/ficheMetier.fixture';
import { checkA11y } from '~/test-utils';

describe('Page consulter fiche métier', () => {
beforeEach(() => {
Expand All @@ -20,6 +21,19 @@ describe('Page consulter fiche métier', () => {
jest.clearAllMocks();
});

it('n‘a pas de défaut d‘accessibilité', async () => {
const ficheMetier = aFicheMetier();
const analyticsService = anAnalyticsService();
const { container } = render(
<DependenciesProvider
analyticsService={analyticsService}
>
<ConsulterFicheMetierPage ficheMetier={ficheMetier}/>
</DependenciesProvider>,
);
await checkA11y(container);
});

it('affiche les informations disponibles de la fiche métier', async () => {
const ficheMetier = aFicheMetier();
const analyticsService = anAnalyticsService();
Expand Down
30 changes: 30 additions & 0 deletions src/pages/emplois/[id].page.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/**
* @jest-environment jsdom
*/

import { render } from '@testing-library/react';

import { mockUseRouter } from '~/client/components/useRouter.mock';
import { mockSmallScreen } from '~/client/components/window.mock';
import { DependenciesProvider } from '~/client/context/dependenciesContainer.context';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import ConsulterOffreEmploiPage from '~/pages/emplois/[id].page';
import { aBarmanOffre } from '~/server/offres/domain/offre.fixture';
import { checkA11y } from '~/test-utils';

describe('<ConsulterOffreEmploiPage />', () => {
it('n‘a pas de défaut d‘accessibilité', async () => {
mockUseRouter({});
mockSmallScreen();
const offre = aBarmanOffre();

const { container } = render(
<DependenciesProvider
analyticsService={anAnalyticsService()}
>
<ConsulterOffreEmploiPage offreEmploi={offre} />);
</DependenciesProvider>);

await checkA11y(container);
});
});
13 changes: 13 additions & 0 deletions src/pages/emplois/deposer-offre/index.page.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,25 @@ import { mockSmallScreen } from '~/client/components/window.mock';
import { DependenciesProvider } from '~/client/context/dependenciesContainer.context';
import { anAnalyticsService } from '~/client/services/analytics/analytics.service.fixture';
import DéposerUneOffreDEmploi from '~/pages/emplois/deposer-offre/index.page';
import { checkA11y } from '~/test-utils';

describe('Je recrute / Déposer une offre d‘emploi', () => {
beforeEach(() => {
mockSmallScreen();
});

it('n‘a pas de défaut d‘accessibilité', async () => {
const { container } = render(
<DependenciesProvider
analyticsService={anAnalyticsService()}
>
<DéposerUneOffreDEmploi />
</DependenciesProvider>,
);

await checkA11y(container);
});

it('envoie les analytics de la page à son affichage', () => {
const analyticsService = anAnalyticsService();

Expand Down
Loading

0 comments on commit e7a2228

Please sign in to comment.