From 82c3e0496b8957f515f49136f0120749f249bebb Mon Sep 17 00:00:00 2001 From: Dmitry Kruchinin <33020454+dvkruchinin@users.noreply.github.com> Date: Tue, 18 Aug 2020 11:57:32 +0300 Subject: [PATCH] Cypress test for issue 1750. (#2030) * Cypress test for issue 1750. * Rework imageGeneration function. Rework test for getting an elements by recently added classes. * Changing the class to switch to AAM mode Co-authored-by: Dmitry Kruchinin --- .../issue_1750_err_aam_switch_frames.js | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 tests/cypress/integration/issue_1750_err_aam_switch_frames.js diff --git a/tests/cypress/integration/issue_1750_err_aam_switch_frames.js b/tests/cypress/integration/issue_1750_err_aam_switch_frames.js new file mode 100644 index 00000000..1c106b4a --- /dev/null +++ b/tests/cypress/integration/issue_1750_err_aam_switch_frames.js @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2020 Intel Corporation + * + * SPDX-License-Identifier: MIT + */ + +/// + +context('An error occurs in AAM when switching to 2 frames, if the frames have objects created in shape mode', () => { + + const issueId = '1750' + const labelName = `Issue ${issueId}` + const taskName = `New annotation task for ${labelName}` + const attrName = `Attr for ${labelName}` + const textDefaultValue = 'Some default value for type Text' + const images = [`image_${issueId}_1.png`, + `image_${issueId}_2.png`, + `image_${issueId}_3.png`] + const width = 800 + const height = 800 + const posX = 10 + const posY = 10 + const color = 'gray' + const archiveName = `images_issue_${issueId}.zip` + const archivePath = `cypress/fixtures/${archiveName}` + const imagesFolder = `cypress/fixtures/image_issue_${issueId}` + const directoryToArchive = imagesFolder + + before(() => { + cy.visit('auth/login') + cy.login() + for (let img of images) { + cy.imageGenerator(imagesFolder, img, width, height, color, posX, posY, labelName) + } + cy.createZipArchive(directoryToArchive, archivePath) + cy.createAnnotationTask(taskName, labelName, attrName, textDefaultValue, archiveName) + cy.openTaskJob(taskName) + }) + + describe(`Testing issue "${issueId}"`, () => { + it('Create multiple objects', () => { + cy.createShape(309, 431, 409, 531) + cy.createShape(200, 300, 300, 400) + }) + it('Go to AAM', () => { + cy.get('.cvat-workspace-selector') + .click() + cy.get('.ant-select-dropdown-menu-item') + .contains('Attribute annotation') + .click() + .should('contain.text', 'Attribute annotation') + }) + it('Go to next frame', () => { + cy.get('.cvat-player-next-button') + .click() + cy.get('.cvat-player-frame-selector').within(() => { + cy.get('input[role="spinbutton"]') + .should('have.value', '1') + }) + }) + it('Go to previous frame', () => { + cy.get('.cvat-player-previous-button') + .click() + cy.get('.cvat-player-frame-selector').within(() => { + cy.get('input[role="spinbutton"]') + .should('have.value', '0') + }) + }) + it('Go to next object', () => { + cy.get('.attribute-annotation-sidebar-object-switcher') + .should('contain', `${labelName} 1 [1/2]`) + .find('.anticon-right') + .click({force: true}) + }) + it('Page with the error is missing', () => { + cy.contains('Oops, something went wrong') + .should('not.exist') + cy.get('.attribute-annotation-sidebar-object-switcher') + .should('contain', `${labelName} 2 [2/2]`) + }) + }) +})