From e9d5a40432c451090e17859c764e52a96120b712 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Mon, 4 Dec 2023 19:36:34 +0100 Subject: refactor(pages): refine Search page * extract NoResults component to improve readability * provide a different message when the url does not contain a query * use hooks to refresh Thematics and Topics lists * remove useDataFromApi hook --- tests/cypress/e2e/pages/search.cy.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/cypress/e2e/pages/search.cy.ts (limited to 'tests/cypress/e2e/pages/search.cy.ts') diff --git a/tests/cypress/e2e/pages/search.cy.ts b/tests/cypress/e2e/pages/search.cy.ts new file mode 100644 index 0000000..bde592e --- /dev/null +++ b/tests/cypress/e2e/pages/search.cy.ts @@ -0,0 +1,28 @@ +import { ROUTES } from '../../../../src/utils/constants'; + +describe('Search Page', () => { + beforeEach(() => { + cy.visit(ROUTES.SEARCH); + }); + + it('successfully loads', () => { + cy.findByRole('heading', { level: 1 }).should('exist'); + }); + + it('contains a breadcrumbs', () => { + cy.findByRole('navigation', { name: 'Fil d’Ariane' }).should('exist'); + }); + + it('contains a thematics list widget and a topics list widget', () => { + cy.findByRole('heading', { level: 2, name: 'Thématiques' }).should('exist'); + cy.findByRole('heading', { level: 2, name: 'Sujets' }).should('exist'); + }); + + it('provides a form to search for keywords', () => { + const keywords = 'coldark'; + + cy.findByRole('searchbox').type(keywords); + cy.findByRole('button', { name: /Rechercher/ }).click(); + cy.findByRole('heading', { level: 1 }).should('contain.text', keywords); + }); +}); -- cgit v1.2.3