Cypress test. Label constructor. Color label. (#2568)
* Cypress test. Label constructor. Color label. One test adaptation. * Fix test case22. Disable checking tag name. * Some fix. * Add css classes. Update cypress command. * Version updated * Some rework case22 Co-authored-by: Kruchinin <dmitryx.kruchinin@intel.com>main
parent
48b6da9361
commit
e6e6be94f9
@ -0,0 +1,129 @@
|
|||||||
|
// Copyright (C) 2020 Intel Corporation
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
/// <reference types="cypress" />
|
||||||
|
|
||||||
|
import { taskName } from '../../support/const';
|
||||||
|
|
||||||
|
context('Label constructor. Color label.', () => {
|
||||||
|
const caseId = '31';
|
||||||
|
const labelColor = {
|
||||||
|
redHex: 'ff0000',
|
||||||
|
greenHex: '00ff00',
|
||||||
|
blueHex: '0000ff',
|
||||||
|
yellowHex: 'fcbe03',
|
||||||
|
redRgb: '255, 0, 0',
|
||||||
|
greenRgb: '0, 255, 0',
|
||||||
|
blueRgb: '0, 0, 255',
|
||||||
|
yellowRgb: '252, 190, 3',
|
||||||
|
};
|
||||||
|
const colorRed = 'Color red';
|
||||||
|
const colorGreen = 'Color green';
|
||||||
|
const colorBlue = 'Color blue';
|
||||||
|
const labelAdditionalAttrs = false;
|
||||||
|
|
||||||
|
const createRectangleShape2Points = {
|
||||||
|
points: 'By 2 Points',
|
||||||
|
type: 'Shape',
|
||||||
|
labelName: colorRed,
|
||||||
|
firstX: 100,
|
||||||
|
firstY: 350,
|
||||||
|
secondX: 200,
|
||||||
|
secondY: 450,
|
||||||
|
};
|
||||||
|
const createRectangleShape2PointsSecond = {
|
||||||
|
points: createRectangleShape2Points.points,
|
||||||
|
type: createRectangleShape2Points.type,
|
||||||
|
labelName: colorGreen,
|
||||||
|
firstX: createRectangleShape2Points.firstX + 150,
|
||||||
|
firstY: createRectangleShape2Points.firstY,
|
||||||
|
secondX: createRectangleShape2Points.secondX + 150,
|
||||||
|
secondY: createRectangleShape2Points.secondY,
|
||||||
|
};
|
||||||
|
|
||||||
|
const createRectangleShape2PointsThird = {
|
||||||
|
points: createRectangleShape2Points.points,
|
||||||
|
type: createRectangleShape2Points.type,
|
||||||
|
labelName: colorBlue,
|
||||||
|
firstX: createRectangleShape2PointsSecond.firstX + 150,
|
||||||
|
firstY: createRectangleShape2PointsSecond.firstY,
|
||||||
|
secondX: createRectangleShape2PointsSecond.secondX + 150,
|
||||||
|
secondY: createRectangleShape2PointsSecond.secondY,
|
||||||
|
};
|
||||||
|
|
||||||
|
before(() => {
|
||||||
|
cy.openTask(taskName);
|
||||||
|
});
|
||||||
|
|
||||||
|
after('Remove annotation and save job.', () => {
|
||||||
|
cy.removeAnnotations();
|
||||||
|
cy.saveJob();
|
||||||
|
});
|
||||||
|
|
||||||
|
describe(`Testing case "${caseId}"`, () => {
|
||||||
|
it('To add multiple labels with a color change.', () => {
|
||||||
|
cy.addNewLabel(colorRed, labelAdditionalAttrs, labelColor.redHex);
|
||||||
|
cy.addNewLabel(colorGreen, labelAdditionalAttrs, labelColor.greenHex);
|
||||||
|
cy.addNewLabel(colorBlue, labelAdditionalAttrs, labelColor.blueHex);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Check color for created labels.', () => {
|
||||||
|
cy.get('.cvat-constructor-viewer-item').then((label) => {
|
||||||
|
for (let i = 0; i < label.length; i++) {
|
||||||
|
if (label[i].textContent === colorRed) {
|
||||||
|
cy.get(label[i]).should('have.attr', 'style').and('contain', labelColor.redRgb);
|
||||||
|
} else if (label[i].textContent === colorGreen) {
|
||||||
|
cy.get(label[i]).should('have.attr', 'style').and('contain', labelColor.greenRgb);
|
||||||
|
} else if (label[i].textContent === colorBlue) {
|
||||||
|
cy.get(label[i]).should('have.attr', 'style').and('contain', labelColor.blueRgb);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Open the job. Create an objects.', () => {
|
||||||
|
cy.openJob();
|
||||||
|
cy.createRectangle(createRectangleShape2Points);
|
||||||
|
cy.createRectangle(createRectangleShape2PointsSecond);
|
||||||
|
cy.createRectangle(createRectangleShape2PointsThird);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Created objects and objects on the side panel should have the same solor as label.', () => {
|
||||||
|
cy.get('#cvat_canvas_shape_1').should('have.attr', 'stroke', `#${labelColor.redHex}`);
|
||||||
|
cy.get('#cvat_canvas_shape_2').should('have.attr', 'stroke', `#${labelColor.greenHex}`);
|
||||||
|
cy.get('#cvat_canvas_shape_3').should('have.attr', 'stroke', `#${labelColor.blueHex}`);
|
||||||
|
cy.get('#cvat-objects-sidebar-state-item-1')
|
||||||
|
.should('have.attr', 'style')
|
||||||
|
.and('contain', `background-color: rgba(${labelColor.redRgb}`);
|
||||||
|
cy.get('#cvat-objects-sidebar-state-item-2')
|
||||||
|
.should('have.attr', 'style')
|
||||||
|
.and('contain', `background-color: rgba(${labelColor.greenRgb}`);
|
||||||
|
cy.get('#cvat-objects-sidebar-state-item-3')
|
||||||
|
.should('have.attr', 'style')
|
||||||
|
.and('contain', `background-color: rgba(${labelColor.blueRgb}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Save job and change color for a label.', () => {
|
||||||
|
cy.saveJob();
|
||||||
|
cy.goToTaskList();
|
||||||
|
cy.openTask(taskName);
|
||||||
|
cy.contains('.cvat-constructor-viewer-item', colorRed).within(() => {
|
||||||
|
cy.get('[data-icon="edit"]').click();
|
||||||
|
});
|
||||||
|
cy.get('.cvat-change-task-label-color-button').click();
|
||||||
|
cy.changeColorViaBadge(labelColor.yellowHex);
|
||||||
|
cy.contains('button', 'Done').click();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Open the job. Existing objects with this label have changed their color.', () => {
|
||||||
|
cy.openJob();
|
||||||
|
cy.getObjectIdNumberByLabelName(colorRed).then((objectId) => {
|
||||||
|
cy.get(`#cvat_canvas_shape_${objectId}`).should('have.attr', 'stroke', `#${labelColor.yellowHex}`);
|
||||||
|
cy.get(`#cvat-objects-sidebar-state-item-${objectId}`)
|
||||||
|
.should('have.attr', 'style')
|
||||||
|
.and('contain', `background-color: rgba(${labelColor.yellowRgb}`);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue