Cypress test. Objects ordering feature.

main
Kruchinin 5 years ago
parent cffd897494
commit 4913eb65a7

@ -0,0 +1,83 @@
// Copyright (C) 2020 Intel Corporation
//
// SPDX-License-Identifier: MIT
/// <reference types="cypress" />
import { taskName, labelName, attrName } from '../../support/const';
context('Objects ordering feature', () => {
const caseId = '20';
const createRectangleShape2Points = {
points: 'By 2 Points',
type: 'Shape',
labelName: labelName,
firstX: 250,
firstY: 350,
secondX: 350,
secondY: 450,
};
const createRectangleShape2PointsSecond = {
points: 'By 2 Points',
type: 'Shape',
labelName: labelName,
firstX: createRectangleShape2Points.firstX + 300,
firstY: createRectangleShape2Points.firstY,
secondX: createRectangleShape2Points.secondX + 300,
secondY: createRectangleShape2Points.secondY,
};
function idAscent(arr) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] > arr[i + 1]) {
return false;
}
}
return true;
}
function checkSideBarItemOrdering(ordering) {
let cvatObjectsSidebarStateItemIdList = [];
cy.get('.cvat-objects-sidebar-state-item').then(($cvatObjectsSidebarStateItemId) => {
for (let i = 0; i < $cvatObjectsSidebarStateItemId.length; i++) {
cvatObjectsSidebarStateItemIdList.push(Number($cvatObjectsSidebarStateItemId[i].id.match(/\d+$/)));
}
if (ordering === 'ascent') {
expect(idAscent(cvatObjectsSidebarStateItemIdList)).to.be.true; //expected true to be true (ascent)
} else {
expect(idAscent(cvatObjectsSidebarStateItemIdList)).to.be.false; //expected false to be false (descent)
}
});
}
before(() => {
cy.openTaskJob(taskName);
});
describe(`Testing case "${caseId}"`, () => {
it('Create a couple of shapes.', () => {
cy.createRectangle(createRectangleShape2Points);
cy.createRectangle(createRectangleShape2PointsSecond);
checkSideBarItemOrdering('ascent');
});
it('Sort object by "ID - descent".', () => {
cy.sidebarItemSortBy('ID - descent');
checkSideBarItemOrdering('descent');
});
it('Sort objects by "Updated time". Change something in the first object. This object now in the top', () => {
cy.sidebarItemSortBy('Updated time');
cy.get('#cvat_canvas_shape_1').trigger('mousemove').rightclick();
cy.get('.cvat-canvas-context-menu').within(() => {
cy.contains('.cvat-objects-sidebar-state-item-collapse', 'Details').click();
cy.contains('.cvat-object-item-attribute-wrapper', attrName).within(() => {
cy.get('.cvat-object-item-text-attribute').clear();
});
});
cy.get('.cvat-canvas-container').click(); // Hide context menu
checkSideBarItemOrdering('ascent');
});
});
});

@ -75,9 +75,7 @@ Cypress.Commands.add('openTask', (taskName) => {
});
Cypress.Commands.add('saveJob', () => {
cy.get('button')
.contains('Save')
.click({ force: true });
cy.get('button').contains('Save').click({ force: true });
});
Cypress.Commands.add('openJob', (jobNumber = 0) => {
@ -383,3 +381,11 @@ Cypress.Commands.add('createTag', (labelName) => {
cy.get('button').click();
});
});
Cypress.Commands.add('sidebarItemSortBy', (sortBy) => {
cy.get('.cvat-objects-sidebar-ordering-selector').click();
cy.get('.ant-select-dropdown')
.not('.ant-select-dropdown-hidden')
.contains(new RegExp(`^${sortBy}$`, 'g'))
.click();
});

Loading…
Cancel
Save