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 = () => {