From dfdbf6cac1fe3719dc71e130129d28e04ba4e225 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 1 Dec 2023 13:26:44 +0100 Subject: refactor(pages): refine Thematic pages * add a table of contents (however posts heading are not included) * rename posts list section title * add a useThematic hook to refresh thematic contents * add a useThematicLists hook to refresh thematics list * add a `notIn` filter in thematics list fetcher to directly remove unwanted thematics * add Cypress tests --- tests/cypress/e2e/pages/thematic.cy.ts | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/cypress/e2e/pages/thematic.cy.ts (limited to 'tests/cypress') diff --git a/tests/cypress/e2e/pages/thematic.cy.ts b/tests/cypress/e2e/pages/thematic.cy.ts new file mode 100644 index 0000000..dab0d45 --- /dev/null +++ b/tests/cypress/e2e/pages/thematic.cy.ts @@ -0,0 +1,41 @@ +import { ROUTES } from '../../../../src/utils/constants'; + +describe('Thematic', () => { + beforeEach(() => { + cy.visit(ROUTES.HOME); + cy.findByRole('link', { name: /^Développement/i }).click(); + }); + + it('successfully loads', () => { + cy.findByRole('heading', { level: 1 }).should('exist'); + }); + + it('contains the thematic meta', () => { + // eslint-disable-next-line @typescript-eslint/no-magic-numbers + cy.findAllByRole('term').should('have.length.at.least', 2); + + /* The accessible name is not recognized while it should be the `dt` text + * content */ + /* cy.findByRole('term', { name: 'Publié le :' }).should('exist'); + cy.findByRole('term', { name: 'Total :' }).should('exist'); */ + }); + + it('contains a breadcrumbs', () => { + cy.findByRole('navigation', { name: 'Fil d’Ariane' }).should('exist'); + }); + + it('contains a table of contents', () => { + cy.findByRole('heading', { level: 2, name: 'Table des matières' }).should( + 'exist' + ); + }); + + it('contains a thematics list widget and a topics list widget', () => { + cy.findByRole('heading', { level: 2, name: 'Autres thématiques' }).should( + 'exist' + ); + cy.findByRole('heading', { level: 2, name: 'Sujets connexes' }).should( + 'exist' + ); + }); +}); -- cgit v1.2.3