From 01d35c8794df0e263276b0238cac49a8ce9e10a5 Mon Sep 17 00:00:00 2001 From: Dmitry Kruchinin <33020454+dvkruchinin@users.noreply.github.com> Date: Tue, 29 Dec 2020 12:53:03 +0300 Subject: [PATCH] Cypress test. Issue 2625. (#2629) * Add css class for modal window. * Add cypress test * Move base_actions_project_task_user.js to another folder. This folder will not be available when running through Firefox * Rework cypress main configs. * Add assert Co-authored-by: Kruchinin --- .../components/projects-page/actions-menu.tsx | 1 + tests/cypress.json | 2 +- .../issue_2625_delete_project_via_actions.js | 28 +++++++++++++++++++ .../base_actions_project_task_user.js | 2 +- tests/cypress_cron_type.json | 1 + 5 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 tests/cypress/integration/actions_projects/issue_2625_delete_project_via_actions.js rename tests/cypress/integration/actions_projects/{ => registration_involved}/base_actions_project_task_user.js (98%) diff --git a/cvat-ui/src/components/projects-page/actions-menu.tsx b/cvat-ui/src/components/projects-page/actions-menu.tsx index bedfd727..35fefea5 100644 --- a/cvat-ui/src/components/projects-page/actions-menu.tsx +++ b/cvat-ui/src/components/projects-page/actions-menu.tsx @@ -22,6 +22,7 @@ export default function ProjectActionsMenuComponent(props: Props): JSX.Element { Modal.confirm({ title: `The project ${projectInstance.id} will be deleted`, content: 'All related data (images, annotations) will be lost. Continue?', + className: 'cvat-modal-confirm-remove-project', onOk: () => { dispatch(deleteProjectAsync(projectInstance)); }, diff --git a/tests/cypress.json b/tests/cypress.json index bfd99ddd..fe266d54 100644 --- a/tests/cypress.json +++ b/tests/cypress.json @@ -13,7 +13,7 @@ "auth_page.js", "actions_tasks_objects/*", "actions_users/**/*", - "actions_projects/*", + "actions_projects/**/*", "remove_users_tasks_projects.js" ] } diff --git a/tests/cypress/integration/actions_projects/issue_2625_delete_project_via_actions.js b/tests/cypress/integration/actions_projects/issue_2625_delete_project_via_actions.js new file mode 100644 index 00000000..c45c23c7 --- /dev/null +++ b/tests/cypress/integration/actions_projects/issue_2625_delete_project_via_actions.js @@ -0,0 +1,28 @@ +// Copyright (C) 2020 Intel Corporation +// +// SPDX-License-Identifier: MIT + +/// + +import { projectName } from '../../support/const_project'; + +context('Delete a project via actions.', () => { + const issueID = 2625; + + before(() => { + cy.openProject(projectName); + }); + + describe(`Testing "Issue ${issueID}"`, () => { + it('Delete a project via actions.', () => { + cy.get('.cvat-project-top-bar-actions').trigger('mouseover'); + cy.get('.cvat-project-actions-menu').within(() => { + cy.contains('[role="menuitem"]', 'Delete').click(); + }); + cy.get('.cvat-modal-confirm-remove-project').within(() => { + cy.contains('button', 'Delete').click(); + }); + cy.contains('.cvat-projects-project-item-title', projectName).should('not.exist'); + }); + }); +}); diff --git a/tests/cypress/integration/actions_projects/base_actions_project_task_user.js b/tests/cypress/integration/actions_projects/registration_involved/base_actions_project_task_user.js similarity index 98% rename from tests/cypress/integration/actions_projects/base_actions_project_task_user.js rename to tests/cypress/integration/actions_projects/registration_involved/base_actions_project_task_user.js index 229f2313..ca3c5f64 100644 --- a/tests/cypress/integration/actions_projects/base_actions_project_task_user.js +++ b/tests/cypress/integration/actions_projects/registration_involved/base_actions_project_task_user.js @@ -4,7 +4,7 @@ /// -import { projectName } from '../../support/const_project'; +import { projectName } from '../../../support/const_project'; const randomString = (isPassword) => { let result = ''; diff --git a/tests/cypress_cron_type.json b/tests/cypress_cron_type.json index 2033f6a3..77698831 100644 --- a/tests/cypress_cron_type.json +++ b/tests/cypress_cron_type.json @@ -12,6 +12,7 @@ "testFiles": [ "auth_page.js", "actions_tasks_objects/*", + "actions_projects/*", "actions_users/*", "email_system/*", "remove_users_tasks_projects.js"