diff --git a/tests/cypress/integration/actions_projects_models/case_57_project_label_deleting_feature.js b/tests/cypress/integration/actions_projects_models/case_57_project_label_deleting_feature.js index 8c285a1017b..00a95df1c98 100644 --- a/tests/cypress/integration/actions_projects_models/case_57_project_label_deleting_feature.js +++ b/tests/cypress/integration/actions_projects_models/case_57_project_label_deleting_feature.js @@ -1,4 +1,4 @@ -// Copyright (C) 2021 Intel Corporation +// Copyright (C) 2021-2022 Intel Corporation // // SPDX-License-Identifier: MIT @@ -28,7 +28,7 @@ context('Delete a label from a project.', () => { const multiAttrParams = false; let projectID = ''; - function getProjectID(projectName) { + function getProjectID() { cy.contains('.cvat-project-name', projectName) .parents('.cvat-project-details') .should('have.attr', 'cvat-project-id') @@ -67,17 +67,7 @@ context('Delete a label from a project.', () => { it('Delete a label from project.', () => { cy.openProject(projectName); getProjectID(projectName); - cy.contains('.cvat-constructor-viewer-item', labelName) - .should('exist') - .and('be.visible') - .find('[aria-label="close"]') - .click(); - cy.get('.cvat-modal-delete-label') - .should('be.visible') - .within(() => { - cy.contains('[type="button"]', 'OK').click(); - }); - cy.contains('.cvat-constructor-viewer-item', labelName).should('not.exist'); + cy.deleteLabel(labelName); }); it('Try to open job with no labels in the project. Successful.', () => { diff --git a/tests/cypress/integration/actions_tasks/case_58_task_label_deleting_feature.js b/tests/cypress/integration/actions_tasks/case_58_task_label_deleting_feature.js index 9779e402f73..e070b83f0a9 100644 --- a/tests/cypress/integration/actions_tasks/case_58_task_label_deleting_feature.js +++ b/tests/cypress/integration/actions_tasks/case_58_task_label_deleting_feature.js @@ -1,4 +1,4 @@ -// Copyright (C) 2021 Intel Corporation +// Copyright (C) 2021-2022 Intel Corporation // // SPDX-License-Identifier: MIT @@ -38,17 +38,7 @@ context('Delete a label from a task.', () => { describe(`Testing "${labelName}"`, () => { it('Delete a label from the task.', () => { - cy.contains('.cvat-constructor-viewer-item', labelName) - .should('exist') - .and('be.visible') - .find('[aria-label="close"]') - .click(); - cy.get('.cvat-modal-delete-label') - .should('be.visible') - .within(() => { - cy.contains('[type="button"]', 'OK').click(); - }); - cy.contains('.cvat-constructor-viewer-item', labelName).should('not.exist'); + cy.deleteLabel(labelName); }); it('Try to open a job with no labels. Successful.', () => { diff --git a/tests/cypress/support/commands.js b/tests/cypress/support/commands.js index 9ef50846ed8..2ce62b61695 100644 --- a/tests/cypress/support/commands.js +++ b/tests/cypress/support/commands.js @@ -630,24 +630,42 @@ Cypress.Commands.add('collectLabelsName', () => { }); }); +Cypress.Commands.add('deleteLabel', (labelName) => { + cy.contains('.cvat-constructor-viewer-item', new RegExp(`^${labelName}$`)) + .should('exist') + .and('be.visible') + .find('[aria-label="close"]') + .click(); + cy.intercept('PATCH', /\/api\/v1\/(tasks|projects)\/.*/).as('deleteLabel'); + cy.get('.cvat-modal-delete-label') + .should('be.visible') + .within(() => { + cy.contains('[type="button"]', 'OK').click(); + }); + cy.wait('@deleteLabel').its('response.statusCode').should('equal', 200); + cy.contains('.cvat-constructor-viewer-item', new RegExp(`^${labelName}$`)).should('not.exist'); +}); + Cypress.Commands.add('addNewLabel', (newLabelName, additionalAttrs, labelColor) => { cy.collectLabelsName().then((labelsNames) => { - if (labelsNames.indexOf(newLabelName) === -1) { - cy.contains('button', 'Add label').click(); - cy.get('[placeholder="Label name"]').type(newLabelName); - if (labelColor) { - cy.get('.cvat-change-task-label-color-badge').click(); - cy.changeColorViaBadge(labelColor); - } - if (additionalAttrs) { - for (let i = 0; i < additionalAttrs.length; i++) { - cy.updateAttributes(additionalAttrs[i]); - } - } - cy.contains('button', 'Done').click(); - cy.get('.cvat-constructor-viewer').should('be.visible'); + if (labelsNames.includes(newLabelName)) { + cy.deleteLabel(newLabelName); } }); + cy.contains('button', 'Add label').click(); + cy.get('[placeholder="Label name"]').type(newLabelName); + if (labelColor) { + cy.get('.cvat-change-task-label-color-badge').click(); + cy.changeColorViaBadge(labelColor); + } + if (additionalAttrs) { + for (let i = 0; i < additionalAttrs.length; i++) { + cy.updateAttributes(additionalAttrs[i]); + } + } + cy.contains('button', 'Done').click(); + cy.get('.cvat-constructor-viewer').should('be.visible'); + cy.contains('.cvat-constructor-viewer-item', new RegExp(`^${newLabelName}$`)).should('exist'); }); Cypress.Commands.add('addNewLabelViaContinueButton', (additionalLabels) => {