improvements test

main
Dmitriy Oparin 5 years ago
parent 733ba57a0b
commit 70b67ccdca

@ -20,43 +20,74 @@ context('Delete unlock/lock object', () => {
};
function lockObject() {
cy.get('div.cvat-objects-sidebar-state-item').within(() => {
cy.get('.cvat-objects-sidebar-state-item').within(() => {
cy.get('.cvat-object-item-button-lock').click();
});
};
function deleteObjectViaShortcut(shortcut) {
cy.get('.cvat-canvas-container')
.trigger('mousemove', createRectangleShape2Points.secondX - 10, createRectangleShape2Points.secondY - 10) // activate shape
.get('body')
function deleteObjectViaShortcut(shortcut, stateLockObject) {
if (stateLockObject == 'unlock') {
cy.get('.cvat-canvas-container').within(() => {
cy.get('.cvat_canvas_shape')
.trigger('mousemove')
.should('have.class', 'cvat_canvas_shape_activated');
});
};
cy.get('body')
.type(shortcut);
};
function deleteObjectViaGUI() {
cy.get('div.cvat-objects-sidebar-state-item').within(() => {
cy.get('i.ant-dropdown-trigger').click();
function clickRemoveOnDropdownMenu() {
cy.get('.ant-dropdown')
.not('.ant-dropdown-hidden')
.contains(new RegExp('^Remove$', 'g'))
.click({ force: true });
};
function deleteObjectViaGUIFromSidebar() {
cy.get('.cvat-objects-sidebar-states-list').within(() => {
cy.get('.cvat-objects-sidebar-state-item').within(() => {
cy.get('[aria-label="icon: more"]').click();
});
});
cy.get('ul.cvat-object-item-menu').within(() => {
cy.contains('Remove').click();
clickRemoveOnDropdownMenu();
};
function deleteObjectViaGUIFromObject() {
cy.get('.cvat-canvas-container').within(() => {
cy.get('.cvat_canvas_shape')
.trigger('mousemove')
.rightclick();
});
cy.get('.cvat-canvas-context-menu').within(() => {
cy.get('.cvat-objects-sidebar-state-item').within(() => {
cy.get('[aria-label="icon: more"]').click();
});
});
clickRemoveOnDropdownMenu();
};
function confirmationToDelete() {
function actionOnConfirmWindow(textBuntton) {
cy.get('.ant-modal-confirm').within(() => {
cy.contains('OK').click();
cy.contains(new RegExp(`^${textBuntton}$`, 'g'))
.click();
});
};
function checkFailDeleteLockObject(shortcut) {
deleteObjectViaShortcut(shortcut);
cy.get('rect.cvat_canvas_shape').should('exist');
cy.get('div.cvat-objects-sidebar-state-item').should('exist');
cy.contains('.ant-notification-topRight', 'Error: Could not remove the locked object').should('exist');
deleteObjectViaShortcut(shortcut, 'lock');
checkExistObject();
cy.get('.ant-notification-topRight').should('exist');
};
function checkExistObject() {
cy.get('rect.cvat_canvas_shape').should('not.exist');
cy.get('div.cvat-objects-sidebar-state-item').should('not.exist');
cy.get('.cvat_canvas_shape').should('exist');
cy.get('.cvat-objects-sidebar-state-item').should('exist');
};
function checkNotExistObject() {
cy.get('.cvat_canvas_shape').should('not.exist');
cy.get('.cvat-objects-sidebar-state-item').should('not.exist');
};
before(() => {
@ -66,29 +97,37 @@ context('Delete unlock/lock object', () => {
describe(`Testing case "${caseId}"`, () => {
it('Create and delete object via "Delete" shortcut', () => {
cy.createRectangle(createRectangleShape2Points);
deleteObjectViaShortcut('{del}');
checkExistObject();
deleteObjectViaShortcut('{del}', 'unlock');
checkNotExistObject();
});
it('Create and delete object via GUI', () => {
it('Create and delete object via GUI from sidebar', () => {
cy.createRectangle(createRectangleShape2Points);
deleteObjectViaGUI();
checkExistObject();
deleteObjectViaGUIFromSidebar();
checkNotExistObject();
});
it('Create, lock and delete object via "Shift+Delete" shortcuts', () => {
cy.createRectangle(createRectangleShape2Points);
lockObject();
checkFailDeleteLockObject('{del}');
deleteObjectViaShortcut('{shift}{del}');
checkExistObject();
deleteObjectViaShortcut('{shift}{del}', 'lock');
checkNotExistObject();
});
it('Create, lock and delete object via GUI from sidebar', () => {
cy.createRectangle(createRectangleShape2Points);
lockObject();
deleteObjectViaGUIFromSidebar();
actionOnConfirmWindow('OK');
checkNotExistObject();
});
it('Create, lock and delete object via GUI', () => {
it('Create, lock and cancel delete object via GUI from object', () => {
cy.createRectangle(createRectangleShape2Points);
lockObject();
deleteObjectViaGUI();
confirmationToDelete();
deleteObjectViaGUIFromObject();
actionOnConfirmWindow('Cancel');
checkExistObject();
});
});

Loading…
Cancel
Save