Cypress test. Undo and redo feature. (#2535)
* add test * step for create objects moved to before function Co-authored-by: Dmitriy Oparin <dmitriyx.oparin@intel.com>main
parent
09cf807d39
commit
6e5f6834b9
@ -0,0 +1,82 @@
|
||||
// Copyright (C) 2020 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const';
|
||||
|
||||
context('Undo/redo feature', () => {
|
||||
const caseId = '27';
|
||||
const firstRectangleShape2Points = {
|
||||
points: 'By 2 Points',
|
||||
type: 'Shape',
|
||||
labelName: labelName,
|
||||
firstX: 100,
|
||||
firstY: 100,
|
||||
secondX: 150,
|
||||
secondY: 150,
|
||||
};
|
||||
const secondRectangleShape2Points = {
|
||||
points: 'By 2 Points',
|
||||
type: 'Shape',
|
||||
labelName: labelName,
|
||||
firstX: 150,
|
||||
firstY: 150,
|
||||
secondX: 200,
|
||||
secondY: 200,
|
||||
};
|
||||
const thirdRectangleShape2Points = {
|
||||
points: 'By 2 Points',
|
||||
type: 'Shape',
|
||||
labelName: labelName,
|
||||
firstX: 200,
|
||||
firstY: 200,
|
||||
secondX: 250,
|
||||
secondY: 250,
|
||||
};
|
||||
|
||||
function checkExistObject(stateFirstObject, stateSecondObject, stateThirdObject) {
|
||||
// check objects on background
|
||||
cy.get('#cvat_canvas_shape_1').should(stateFirstObject);
|
||||
cy.get('#cvat_canvas_shape_2').should(stateSecondObject);
|
||||
cy.get('#cvat_canvas_shape_3').should(stateThirdObject);
|
||||
// check objects on sidebar
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').should(stateFirstObject);
|
||||
cy.get('#cvat-objects-sidebar-state-item-2').should(stateSecondObject);
|
||||
cy.get('#cvat-objects-sidebar-state-item-3').should(stateThirdObject);
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTaskJob(taskName);
|
||||
|
||||
// create objects
|
||||
cy.createRectangle(firstRectangleShape2Points);
|
||||
cy.createRectangle(secondRectangleShape2Points);
|
||||
cy.createRectangle(thirdRectangleShape2Points);
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Undo objects', () => {
|
||||
cy.contains('.cvat-annotation-header-button', 'Undo').click();
|
||||
checkExistObject('exist', 'exist', 'not.exist');
|
||||
|
||||
cy.contains('.cvat-annotation-header-button', 'Undo').click();
|
||||
checkExistObject('exist', 'not.exist', 'not.exist');
|
||||
|
||||
cy.get('body').type('{ctrl}{z}');
|
||||
checkExistObject('not.exist', 'not.exist', 'not.exist');
|
||||
});
|
||||
|
||||
it('Redo objects', () => {
|
||||
cy.contains('.cvat-annotation-header-button', 'Redo').click();
|
||||
checkExistObject('exist', 'not.exist', 'not.exist');
|
||||
|
||||
cy.get('body').type('{ctrl}{shift}{z}');
|
||||
checkExistObject('exist', 'exist', 'not.exist');
|
||||
|
||||
cy.get('body').type('{ctrl}{y}');
|
||||
checkExistObject('exist', 'exist', 'exist');
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
Reference in New Issue