From c6e3d2a1050941f0f4bf88994236edb34df49070 Mon Sep 17 00:00:00 2001 From: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com> Date: Tue, 16 Apr 2024 12:49:32 +0200 Subject: [PATCH] test(e2e): projects list --- .../cypress/integration/projects/list.spec.ts | 36 +++++++++++++++++++ .../project/ProjectList/ProjectList.tsx | 1 + 2 files changed, 37 insertions(+) create mode 100644 frontend/cypress/integration/projects/list.spec.ts diff --git a/frontend/cypress/integration/projects/list.spec.ts b/frontend/cypress/integration/projects/list.spec.ts new file mode 100644 index 0000000000..a1b5186f69 --- /dev/null +++ b/frontend/cypress/integration/projects/list.spec.ts @@ -0,0 +1,36 @@ +/// +import { + SEARCH_INPUT, + //@ts-ignore +} from '../../../src/utils/testIds'; + +describe('project overview', () => { + const randomId = String(Math.random()).split('.')[1]; + const projectName = `unleash-e2e-projects-list-${randomId}`; + + before(() => { + cy.runBefore(); + cy.login_UI(); + cy.createProject_API(projectName); + }); + + after(() => { + cy.deleteProject_API(projectName); + }); + + it('allows for searching and persists search query', () => { + cy.login_UI(); + cy.visit(`/projects`); + cy.get(`[data-testid="${SEARCH_INPUT}"]`).as('search').click(); + cy.get('@search').type(projectName); + cy.url().should('include', `search=${projectName}`); + cy.get('h1').contains('Projects (1 of'); + + cy.get('[data-testid=PROJECT_CARD_LINK]').contains(projectName).click(); + cy.get('nav').contains('Projects').click(); + + cy.url().should('include', `search=${projectName}`); + cy.get('@search').clear(); + cy.url().should('not.include', `search=${projectName}`); + }); +}); diff --git a/frontend/src/component/project/ProjectList/ProjectList.tsx b/frontend/src/component/project/ProjectList/ProjectList.tsx index 7d016c64f8..16201038f7 100644 --- a/frontend/src/component/project/ProjectList/ProjectList.tsx +++ b/frontend/src/component/project/ProjectList/ProjectList.tsx @@ -340,6 +340,7 @@ export const ProjectListNew = () => {