Skip to content

Commit

Permalink
Merge pull request #2482 from dvkruchinin/dkru/cypress-test-issue-182…
Browse files Browse the repository at this point in the history
…3-after-fix

Cypress test. Issue 1823.
  • Loading branch information
Boris Sekachev authored Nov 26, 2020
2 parents 7f0cee9 + bf8e9c2 commit cffd897
Show file tree
Hide file tree
Showing 2 changed files with 99 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
// Copyright (C) 2020 Intel Corporation
//
// SPDX-License-Identifier: MIT

/// <reference types="cypress" />

context('Cannot read property label of undefined', () => {
const issueId = '1823';
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 imagesCount = 10;
const imageFileName = `image_${labelName.replace(' ', '_').toLowerCase()}`;
const width = 800;
const height = 800;
const posX = 10;
const posY = 10;
const color = 'gray';
const archiveName = `${imageFileName}.zip`;
const archivePath = `cypress/fixtures/${archiveName}`;
const imagesFolder = `cypress/fixtures/${imageFileName}`;
const directoryToArchive = imagesFolder;
const advancedConfigurationParams = {
chunkSize: 1,
};

const createRectangleShape2Points = {
points: 'By 2 Points',
type: 'Shape',
labelName: labelName,
firstX: 250,
firstY: 350,
secondX: 350,
secondY: 450,
};

before(() => {
cy.visit('auth/login');
cy.login();
cy.imageGenerator(imagesFolder, imageFileName, width, height, color, posX, posY, labelName, imagesCount);
cy.createZipArchive(directoryToArchive, archivePath);
});

after(() => {
cy.goToTaskList();
cy.getTaskID(taskName).then(($taskID) => {
cy.deleteTask(taskName, $taskID);
});
});

describe(`Testing "${labelName}"`, () => {
it('Create a task with chunk size === 1. Open the task.', () => {
cy.createAnnotationTask(
taskName,
labelName,
attrName,
textDefaultValue,
archiveName,
null,
advancedConfigurationParams,
);
cy.openTaskJob(taskName);
});
it('Create a shape on the first frame.', () => {
cy.createRectangle(createRectangleShape2Points);
});
it('Go to another frame. During this procedure open context menu for a shape.', () => {
cy.get('body').type('f');
cy.get('#cvat_canvas_shape_1').trigger('mousemove').rightclick();
});
it('Page with the error is missing', () => {
cy.get('.cvat-global-boundary').should('not.exist');
});
});
});
33 changes: 23 additions & 10 deletions tests/cypress/support/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,12 +122,17 @@ Cypress.Commands.add('createRectangle', (createRectangleParams) => {
});

Cypress.Commands.add('switchLabel', (labelName, objectType) => {
const pattern = `^(Draw new|Setup) ${objectType}$`
const regex = new RegExp(pattern, 'g');
cy.contains(regex).parents('.cvat-draw-shape-popover-content').within(() => {
cy.get('.ant-select-selection-selected-value').click();
});
cy.get('.ant-select-dropdown').not('.ant-select-dropdown-hidden').contains(new RegExp(`^${labelName}$`, 'g')).click();
const pattern = `^(Draw new|Setup) ${objectType}$`;
const regex = new RegExp(pattern, 'g');
cy.contains(regex)
.parents('.cvat-draw-shape-popover-content')
.within(() => {
cy.get('.ant-select-selection-selected-value').click();
});
cy.get('.ant-select-dropdown')
.not('.ant-select-dropdown-hidden')
.contains(new RegExp(`^${labelName}$`, 'g'))
.click();
});

Cypress.Commands.add('checkObjectParameters', (objectParameters, objectType) => {
Expand Down Expand Up @@ -242,7 +247,10 @@ Cypress.Commands.add('changeLabelAAM', (labelName) => {
cy.get('.attribute-annotation-sidebar-basics-editor').within(() => {
cy.get('.ant-select-selection').click();
});
cy.get('.ant-select-dropdown').not('.ant-select-dropdown-hidden').contains(new RegExp(`^${labelName}$`, 'g')).click();
cy.get('.ant-select-dropdown')
.not('.ant-select-dropdown-hidden')
.contains(new RegExp(`^${labelName}$`, 'g'))
.click();
}
});
});
Expand Down Expand Up @@ -332,6 +340,9 @@ Cypress.Commands.add('advancedConfiguration', (advancedConfigurationParams) => {
cy.get('#stopFrame').type(advancedConfigurationParams.stopFrame);
cy.get('#frameStep').type(advancedConfigurationParams.frameStep);
}
if (advancedConfigurationParams.chunkSize) {
cy.get('#dataChunkSize').type(advancedConfigurationParams.chunkSize);
}
});

Cypress.Commands.add('removeAnnotations', () => {
Expand Down Expand Up @@ -366,7 +377,9 @@ Cypress.Commands.add('addNewLabel', (newLabelName) => {
Cypress.Commands.add('createTag', (labelName) => {
cy.get('.cvat-setup-tag-control').click();
cy.switchLabel(labelName, 'tag');
cy.contains('Setup tag').parents('.cvat-draw-shape-popover-content').within(() => {
cy.get('button').click();
});
cy.contains('Setup tag')
.parents('.cvat-draw-shape-popover-content')
.within(() => {
cy.get('button').click();
});
});

0 comments on commit cffd897

Please sign in to comment.