From b9f47fd3200485f05476a4be95ef877f837652fe Mon Sep 17 00:00:00 2001 From: Dmitry Kruchinin <33020454+dvkruchinin@users.noreply.github.com> Date: Wed, 12 Aug 2020 15:35:32 +0300 Subject: [PATCH] Cypress test for issue 1919 (#2013) * Cypress test for issue 1919 * Increase value of "defaultCommandTimeout" to 10000ms * Appying comments. Co-authored-by: Dmitry Kruchinin --- tests/cypress.json | 1 + .../integration/issue_1919_check_text_attr.js | 55 +++++++++++++++++++ tests/cypress/support/commands.js | 18 ++++++ 3 files changed, 74 insertions(+) create mode 100644 tests/cypress/integration/issue_1919_check_text_attr.js diff --git a/tests/cypress.json b/tests/cypress.json index 4f32312d..51422aa1 100644 --- a/tests/cypress.json +++ b/tests/cypress.json @@ -3,6 +3,7 @@ "baseUrl": "http://localhost:8080", "viewportWidth": 1300, "viewportHeight": 960, + "defaultCommandTimeout": 10000, "testFiles": [ "auth_page.js", "issue_*.js" diff --git a/tests/cypress/integration/issue_1919_check_text_attr.js b/tests/cypress/integration/issue_1919_check_text_attr.js new file mode 100644 index 00000000..ea6fca77 --- /dev/null +++ b/tests/cypress/integration/issue_1919_check_text_attr.js @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2020 Intel Corporation + * + * SPDX-License-Identifier: MIT + */ + +/// + +context('Check label attribute changes', () => { + + const issueId = '1919' + 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 image = `image_${issueId}.png` + const newLabelAttrValue = 'New attribute value' + const width = 800 + const height = 800 + const posX = 10 + const posY = 10 + const color = 'gray' + + before(() => { + cy.visit('auth/login') + cy.login() + cy.imageGenerator('cypress/fixtures', image, width, height, color, posX, posY, labelName) + cy.createAnnotationTask(taskName, labelName, attrName, textDefaultValue, image) + cy.openTaskJob(taskName) + cy.createShape(309, 431, 616, 671) + }) + + describe(`Testing issue "${issueId}"`, () => { + it('Open object menu', () => { + cy.get('#cvat_canvas_shape_1').trigger('mousemove').rightclick() + }) + it('Open object menu details', () => { + cy.get('.cvat-canvas-context-menu') + .contains('Details') + .click() + }) + it('Clear field of text attribute and write new value', () => { + cy.get('.cvat-canvas-context-menu') + .find('.cvat-object-item-text-attribute') + .should('have.value', textDefaultValue) + .clear() + .type(newLabelAttrValue) + }) + it('Check what value of right panel is changed too', () => { + cy.get('#cvat-objects-sidebar-state-item-1') + .find('.cvat-object-item-text-attribute') + .should('have.value', newLabelAttrValue) + }) + }) +}) diff --git a/tests/cypress/support/commands.js b/tests/cypress/support/commands.js index 1601e60b..d8c338c8 100644 --- a/tests/cypress/support/commands.js +++ b/tests/cypress/support/commands.js @@ -12,6 +12,7 @@ require('../plugins/imageGenerator/imageGeneratorCommand') Cypress.Commands.add('login', (username='admin', password='12qwaszx') => { cy.get('[placeholder="Username"]').type(username) cy.get('[placeholder="Password"]').type(password) + cy.get('[type="submit"]').click() }) Cypress.Commands.add('createAnnotationTask', (taksName='New annotation task', @@ -37,6 +38,23 @@ Cypress.Commands.add('createAnnotationTask', (taksName='New annotation task', cy.url().should('include', '/tasks?page=') }) +Cypress.Commands.add('openTask', (taskName) => { + cy.contains('strong', taskName) + .parents('.cvat-tasks-list-item') + .contains('a', 'Open') + .click() +}) + +Cypress.Commands.add('openJob', () => { + cy.contains('a', 'Job #').click() + cy.url().should('include', '/jobs') +}) + +Cypress.Commands.add('openTaskJob', (taskName) => { + cy.openTask(taskName) + cy.openJob() +}) + Cypress.Commands.add('createShape', (ferstX, ferstY, lastX, lastY) => { cy.get(':nth-child(8) > svg').trigger('mousemove').click() cy.get(':nth-child(6) > :nth-child(1) > .ant-btn').click()