Cypress tests for CVAT-3D-M5 (#3228)
* CVAT 3D Milestone-5 changes * Fixed Lint errors * test * Fixed review comments * Fixed Lint errors * M5 Box operations * M5- Bounding Box Operations * M5 Fixes * Cypress test added wait time * Changed the scene color to white * Fixed year in header * CameraAction naming convention changes * M5-Fixes * Fixed test fail issue * M5- Major fixes * Trigger notification * Minor Fixes M5 * M5 - Other open items * Trigger notification * Error fix * Trigger notification * Unit Test fail fix * Unit Test fail fix * Trigger notification * CVAT-3D M5 Review Fixes -1 * Add cypress test. * try run canvas3d without headless * hide tooltips * Tests adaptations * Review Fixes -2 * Review Fixes -3 * Merge changes * Revert case 64 * Revert to cvat-3D-M5 * The test adaptation * Add comments * Added wait time in cypress * Add condition for compare images * cypress test. cuboid context menu. * Cypress test. Make a copy. * Cypress test. Cuboid propagate. * Cypress test. Opacity. Outlined borders. Add cypress command. Tests adaptation. * Cypress test. Cuboid grouping. * Fixes -1 * Trigger notification * Case 64 adaptation. * Updated yml for cypress tests 3D * Cypress test. Redraw a cuboid. * Updated tests * Latest tests * Cypress test. Cancel cuboid drawning. * Cypress test. "Move the image" button interaction. * Cypress test. Delete a cuboid. * Cypress test. Save a job. Remove annotations. * Fix case 88 * Fix case 88 * Cypress test. Filters. * Minor rework case88 * Applying comments. Co-authored-by: cdp <cdp123> Co-authored-by: Jayraj <jayrajsolanki96@gmail.com>main
parent
cc4b3f3119
commit
156ddae122
@ -0,0 +1,176 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Interaction with cuboid via sidebar.', () => {
|
||||
const caseId = '78';
|
||||
const secondLabel = 'car';
|
||||
|
||||
const screenshotsPath = 'cypress/screenshots/canvas3d_functionality/case_78_canvas3d_functionality_cuboid_label.js';
|
||||
const cuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.addNewLabel(secondLabel);
|
||||
cy.openJob();
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_before_all');
|
||||
['topview', 'sideview', 'frontview'].forEach((view) => {
|
||||
cy.get(`.cvat-canvas3d-${view}`)
|
||||
.find('.cvat-canvas3d-fullsize')
|
||||
.screenshot(`canvas3d_${view}_before_all`);
|
||||
});
|
||||
cy.create3DCuboid(cuboidCreationParams);
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Activate a cuboid on sidear.', () => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-1')
|
||||
.trigger('mouseover')
|
||||
.should('have.class', 'cvat-objects-sidebar-state-active-item')
|
||||
.wait(1000); //Wating for cuboid activation
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_after_activating_cuboid');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_before_all.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_after_activating_cuboid.png`,
|
||||
);
|
||||
['topview', 'sideview', 'frontview'].forEach((view) => {
|
||||
cy.get(`.cvat-canvas3d-${view}`)
|
||||
.find('.cvat-canvas3d-fullsize')
|
||||
.screenshot(`canvas3d_${view}_activating_cuboid`);
|
||||
});
|
||||
[
|
||||
['canvas3d_topview_before_all.png', 'canvas3d_topview_activating_cuboid.png'],
|
||||
['canvas3d_sideview_before_all.png', 'canvas3d_sideview_activating_cuboid.png'],
|
||||
['canvas3d_frontview_before_all.png', 'canvas3d_frontview_activating_cuboid.png'],
|
||||
].forEach(([viewBefore, viewAfterCubiodActivation]) => {
|
||||
cy.compareImagesAndCheckResult(`${screenshotsPath}/${viewBefore}`, `${screenshotsPath}/${viewAfterCubiodActivation}`);
|
||||
});
|
||||
});
|
||||
|
||||
it('Change a label via sidear.', () => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-1')
|
||||
.find('.cvat-objects-sidebar-state-item-label-selector')
|
||||
.type(`${secondLabel}{Enter}`)
|
||||
.trigger('mouseout');
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_after_change_label_cuboid');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_after_activating_cuboid.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_after_change_label_cuboid.png`,
|
||||
);
|
||||
['topview', 'sideview', 'frontview'].forEach((view) => {
|
||||
cy.get(`.cvat-canvas3d-${view}`)
|
||||
.find('.cvat-canvas3d-fullsize')
|
||||
.screenshot(`canvas3d_${view}_change_label_cuboid`);
|
||||
});
|
||||
[
|
||||
['canvas3d_topview_activating_cuboid.png', 'canvas3d_topview_change_label_cuboid.png'],
|
||||
['canvas3d_sideview_activating_cuboid.png', 'canvas3d_sideview_change_label_cuboid.png'],
|
||||
['canvas3d_frontview_activating_cuboid.png', 'canvas3d_frontview_change_label_cuboid.png'],
|
||||
].forEach(([viewAfterCubiodActivation, viewAfterCubiodChangeLabel]) => {
|
||||
cy.compareImagesAndCheckResult(`${screenshotsPath}/${viewAfterCubiodActivation}`, `${screenshotsPath}/${viewAfterCubiodChangeLabel}`);
|
||||
});
|
||||
});
|
||||
|
||||
it('Lock/unlock a cuboid via sidear. The control points of the cuboid on the top/side/front view are locked/unlocked.', () => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-1')
|
||||
.find('.cvat-object-item-button-lock')
|
||||
.click(); // Lock the cubiod
|
||||
cy.get('.cvat-object-item-button-lock-enabled').should('exist').trigger('mouseout');
|
||||
['topview', 'sideview', 'frontview'].forEach((view) => {
|
||||
cy.get(`.cvat-canvas3d-${view}`)
|
||||
.find('.cvat-canvas3d-fullsize')
|
||||
.screenshot(`canvas3d_${view}_lock_cuboid`);
|
||||
});
|
||||
[
|
||||
['canvas3d_topview_change_label_cuboid.png', 'canvas3d_topview_lock_cuboid.png'],
|
||||
['canvas3d_sideview_change_label_cuboid.png', 'canvas3d_sideview_lock_cuboid.png'],
|
||||
['canvas3d_frontview_change_label_cuboid.png', 'canvas3d_frontview_lock_cuboid.png'],
|
||||
].forEach(([viewAfterCubiodChangeLabel, viewAfterCubiodLock]) => {
|
||||
cy.compareImagesAndCheckResult(`${screenshotsPath}/${viewAfterCubiodChangeLabel}`, `${screenshotsPath}/${viewAfterCubiodLock}`);
|
||||
});
|
||||
cy.get('.cvat-object-item-button-lock-enabled').click(); // Unlock the cubiod
|
||||
cy.get('.cvat-object-item-button-lock').should('exist').trigger('mouseout');
|
||||
['topview', 'sideview', 'frontview'].forEach((view) => {
|
||||
cy.get(`.cvat-canvas3d-${view}`)
|
||||
.find('.cvat-canvas3d-fullsize')
|
||||
.screenshot(`canvas3d_${view}_unlock_cuboid`);
|
||||
});
|
||||
[
|
||||
['canvas3d_topview_lock_cuboid.png', 'canvas3d_topview_unlock_cuboid.png'],
|
||||
['canvas3d_sideview_lock_cuboid.png', 'canvas3d_sideview_unlock_cuboid.png'],
|
||||
['canvas3d_frontview_lock_cuboid.png', 'canvas3d_frontview_unlock_cuboid.png'],
|
||||
].forEach(([viewAfterCubiodLock, viewAfterCubiodUnlock]) => {
|
||||
cy.compareImagesAndCheckResult(`${screenshotsPath}/${viewAfterCubiodLock}`, `${screenshotsPath}/${viewAfterCubiodUnlock}`);
|
||||
});
|
||||
});
|
||||
|
||||
it('Switch occluded property for a cuboid via sidear. The cuboid on the perpective view are occluded.', () => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-1')
|
||||
.find('.cvat-object-item-button-occluded')
|
||||
.click(); // Switch occluded property
|
||||
cy.get('.cvat-object-item-button-occluded-enabled').should('exist').trigger('mouseout');
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_enable_occlud_cuboid');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_after_activating_cuboid.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_enable_occlud_cuboid.png`,
|
||||
);
|
||||
cy.get('.cvat-object-item-button-occluded-enabled').click(); // Switch occluded property again
|
||||
cy.get('.cvat-object-item-button-occluded').should('exist').trigger('mouseout');
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_disable_occlud_cuboid');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_enable_occlud_cuboid.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_disable_occlud_cuboid.png`,
|
||||
);
|
||||
});
|
||||
|
||||
it('Hide/unhide a cuboid via sidear. The cuboid on the perpective/top/side/front view be hidden/unhidden.', () => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-1')
|
||||
.find('.cvat-object-item-button-hidden')
|
||||
.click(); // Hide the cuboid
|
||||
cy.get('.cvat-object-item-button-hidden-enabled').should('exist').trigger('mouseout');
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_hide_cuboid');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_disable_occlud_cuboid.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_hide_cuboid.png`,
|
||||
);
|
||||
['topview', 'sideview', 'frontview'].forEach((view) => {
|
||||
cy.get(`.cvat-canvas3d-${view}`)
|
||||
.find('.cvat-canvas3d-fullsize')
|
||||
.screenshot(`canvas3d_${view}_hide_cuboid`);
|
||||
});
|
||||
[
|
||||
['canvas3d_topview_unlock_cuboid.png', 'canvas3d_topview_hide_cuboid.png'],
|
||||
['canvas3d_sideview_unlock_cuboid.png', 'canvas3d_sideview_hide_cuboid.png'],
|
||||
['canvas3d_frontview_unlock_cuboid.png', 'canvas3d_frontview_hide_cuboid.png'],
|
||||
].forEach(([viewAfterCubiodUnlock, viewAfterCubiodHide]) => {
|
||||
cy.compareImagesAndCheckResult(`${screenshotsPath}/${viewAfterCubiodUnlock}`, `${screenshotsPath}/${viewAfterCubiodHide}`);
|
||||
});
|
||||
cy.get('.cvat-object-item-button-hidden-enabled').click(); // Unhide the cuboid
|
||||
cy.get('.cvat-object-item-button-hidden').should('exist').trigger('mouseout');
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_unhide_cuboid');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_hide_cuboid.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_unhide_cuboid.png`,
|
||||
);
|
||||
['topview', 'sideview', 'frontview'].forEach((view) => {
|
||||
cy.get(`.cvat-canvas3d-${view}`)
|
||||
.find('.cvat-canvas3d-fullsize')
|
||||
.screenshot(`canvas3d_${view}_unhide_cuboid`);
|
||||
});
|
||||
[
|
||||
['canvas3d_topview_hide_cuboid.png', 'canvas3d_topview_unhide_cuboid.png'],
|
||||
['canvas3d_sideview_hide_cuboid.png', 'canvas3d_sideview_unhide_cuboid.png'],
|
||||
['canvas3d_frontview_hide_cuboid.png', 'canvas3d_frontview_unhide_cuboid.png'],
|
||||
].forEach(([viewAfterCubiodHide, viewAfterCubiodUnhide]) => {
|
||||
cy.compareImagesAndCheckResult(`${screenshotsPath}/${viewAfterCubiodHide}`, `${screenshotsPath}/${viewAfterCubiodUnhide}`);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,33 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Cuboid context menu.', () => {
|
||||
const caseId = '79';
|
||||
const cuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.openJob();
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.create3DCuboid(cuboidCreationParams);
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Right click on the cuboid. Context menu should exist.', () => {
|
||||
cy.get('.cvat-canvas3d-perspective').rightclick();
|
||||
cy.get('.cvat-canvas-context-menu').should('exist');
|
||||
});
|
||||
|
||||
it('Right click outside the cuboid. Context menu should not exist.', () => {
|
||||
cy.get('.cvat-canvas3d-perspective').click(100, 100);
|
||||
cy.get('.cvat-canvas-context-menu').should('not.exist');
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,52 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Make a copy.', () => {
|
||||
const caseId = '80';
|
||||
const secondLabel = 'car';
|
||||
const cuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.addNewLabel(secondLabel);
|
||||
cy.openJob();
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.create3DCuboid(cuboidCreationParams);
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Change a label and make a copy via sidebar.', () => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-1')
|
||||
.find('.cvat-objects-sidebar-state-item-label-selector')
|
||||
.type(`${secondLabel}{Enter}`)
|
||||
.trigger('mouseout');
|
||||
cy.get('#cvat-objects-sidebar-state-item-1')
|
||||
.find('[aria-label="more"]')
|
||||
.click();
|
||||
cy.get('.ant-dropdown-menu').not('.ant-dropdown-menu-hidden').find('[aria-label="copy"]').click();
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove', 300, 200).dblclick(300, 200);
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').invoke('attr', 'style').then((bgColor) => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-2').should('have.attr', 'style').and('equal', bgColor);
|
||||
});
|
||||
});
|
||||
|
||||
it('Make a copy via hot keys.', () => {
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove', 100, 200).trigger('mousemove', 300, 200);
|
||||
cy.get('body').type('{Ctrl}c').type('{Ctrl}v');
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove', 350, 200).dblclick(350, 200);
|
||||
cy.get('.cvat-objects-sidebar-state-item').then((sideBarItems) => {
|
||||
expect(sideBarItems.length).to.be.equal(3);
|
||||
});
|
||||
cy.get('#cvat-objects-sidebar-state-item-2').invoke('attr', 'style').then((bgColor) => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-3').should('have.attr', 'style').and('equal', bgColor);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,39 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Cuboid propagate.', () => {
|
||||
const caseId = '81';
|
||||
const cuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.openJob();
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.create3DCuboid(cuboidCreationParams);
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Cuboid propagate.', () => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-1')
|
||||
.find('[aria-label="more"]')
|
||||
.click();
|
||||
cy.get('.ant-dropdown-menu').not('.ant-dropdown-menu-hidden').find('[aria-label="block"]').click();
|
||||
cy.get('.cvat-propagate-confirm-object-on-frames').should('exist');
|
||||
cy.contains('button', 'Yes').click();
|
||||
});
|
||||
|
||||
it('On a other frames the cuboid should exist.', () => {
|
||||
cy.get('.cvat-player-next-button').click();
|
||||
cy.get('#cvat-objects-sidebar-state-item-2').should('exist');
|
||||
cy.get('.cvat-player-next-button').click();
|
||||
cy.get('#cvat-objects-sidebar-state-item-3').should('exist');
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,81 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Opacity. Outlined borders.', () => {
|
||||
const caseId = '82';
|
||||
const screenshotsPath = 'cypress/screenshots/canvas3d_functionality/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js';
|
||||
const cuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
x: 250,
|
||||
y: 250,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.openJob();
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.create3DCuboid(cuboidCreationParams);
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove').click(); // Deactivate the cuboiud
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_deactivate_cuboid');
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Change opacity to 100. To 0.', () => {
|
||||
cy.get('.cvat-appearance-opacity-slider').click('right');
|
||||
cy.get('.cvat-appearance-opacity-slider').find('[role="slider"]').should('have.attr', 'aria-valuenow', 100);
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_opacty_100');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_deactivate_cuboid.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_opacty_100.png`,
|
||||
);
|
||||
cy.get('.cvat-appearance-opacity-slider').click('left');
|
||||
cy.get('.cvat-appearance-opacity-slider').find('[role="slider"]').should('have.attr', 'aria-valuenow', 0);
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_opacty_0');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_opacty_100.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_opacty_0.png`,
|
||||
);
|
||||
});
|
||||
|
||||
it('Change selected opacity to 100. To 0.', () => {
|
||||
cy.get('.cvat-appearance-selected-opacity-slider').click('right');
|
||||
cy.get('.cvat-appearance-selected-opacity-slider').find('[role="slider"]').should('have.attr', 'aria-valuenow', 100);
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove').trigger('mousemove', 250, 250).wait(1000); // Waiting for the cuboid activation
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_selected_opacty_100');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_opacty_100.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_selected_opacty_100.png`,
|
||||
true, // No diff between the images
|
||||
);
|
||||
cy.get('.cvat-appearance-selected-opacity-slider').click('left');
|
||||
cy.get('.cvat-appearance-selected-opacity-slider').find('[role="slider"]').should('have.attr', 'aria-valuenow', 0);
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_selected_opacty_0');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_opacty_0.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_selected_opacty_0.png`,
|
||||
true, // No diff between the images
|
||||
);
|
||||
});
|
||||
|
||||
it('Enable/disable outlined borders.', () => {
|
||||
cy.get('.cvat-appearance-outlinded-borders-checkbox').find('[type="checkbox"]').check();
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_enable_outlined_borders');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_enable_outlined_borders.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_selected_opacty_0.png`,
|
||||
);
|
||||
cy.get('.cvat-appearance-outlinded-borders-checkbox').find('[type="checkbox"]').uncheck();
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_disable_outlined_borders');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_disable_outlined_borders.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_selected_opacty_0.png`,
|
||||
true, // No diff between the images
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,100 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Grouping.', () => {
|
||||
const caseId = '83';
|
||||
const screenshotsPath = 'cypress/screenshots/canvas3d_functionality/case_83_canvas3d_functionality_cuboid_grouping.js';
|
||||
const firstCuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
x: 350,
|
||||
y: 250,
|
||||
};
|
||||
const secondCuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
x: 450,
|
||||
y: 250,
|
||||
};
|
||||
const thirdCuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
x: 450,
|
||||
y: 350,
|
||||
};
|
||||
const fourthCuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
x: 350,
|
||||
y: 350,
|
||||
};
|
||||
const yellowHex = 'fcbe03';
|
||||
const yellowRgb = '252, 190, 3';
|
||||
const shapeSidebarItemArray = ['#cvat-objects-sidebar-state-item-2', '#cvat-objects-sidebar-state-item-3'];
|
||||
|
||||
function changeGroupColor(object, color) {
|
||||
cy.get(object).within(() => {
|
||||
cy.get('[aria-label="more"]').click();
|
||||
});
|
||||
cy.wait(300);
|
||||
cy.get('.ant-dropdown')
|
||||
.not('.ant-dropdown-hidden')
|
||||
.within(() => {
|
||||
cy.contains('Change group color').click();
|
||||
});
|
||||
cy.changeColorViaBadge(color);
|
||||
}
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.openJob();
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.create3DCuboid(firstCuboidCreationParams);
|
||||
cy.create3DCuboid(secondCuboidCreationParams);
|
||||
cy.create3DCuboid(thirdCuboidCreationParams);
|
||||
cy.create3DCuboid(fourthCuboidCreationParams);
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_cuboid_creation');
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Grouping two cuboids.', () => {
|
||||
cy.get('.cvat-group-control').click();
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove', 450, 250).click(450, 250);
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove', 450, 350).click(450, 350);
|
||||
cy.get('.cvat-group-control').click();
|
||||
cy.changeAppearance('Group');
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').invoke('attr', 'style').then((bgColorItem1) => {
|
||||
cy.get('#cvat-objects-sidebar-state-item-4').invoke('attr', 'style').then((bgColorItem4) => {
|
||||
expect(bgColorItem1).to.be.equal(bgColorItem4);
|
||||
});
|
||||
cy.get('#cvat-objects-sidebar-state-item-2').invoke('attr', 'style').then((bgColorItem2) => {
|
||||
expect(bgColorItem1).not.be.equal(bgColorItem2);
|
||||
});
|
||||
cy.get('#cvat-objects-sidebar-state-item-3').invoke('attr', 'style').then((bgColorItem3) => {
|
||||
expect(bgColorItem1).not.be.equal(bgColorItem3);
|
||||
});
|
||||
});
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_cuboid_grouping');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_cuboid_creation.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_cuboid_grouping.png`,
|
||||
);
|
||||
});
|
||||
|
||||
it('Change group color.', () => {
|
||||
changeGroupColor('#cvat-objects-sidebar-state-item-2', yellowHex);
|
||||
cy.get('.cvat-label-color-picker').should('be.hidden');
|
||||
for (const groupedSidebarItemShape of shapeSidebarItemArray) {
|
||||
cy.get(groupedSidebarItemShape)
|
||||
.should('have.attr', 'style')
|
||||
.and('contain', `background-color: rgba(${yellowRgb}`);
|
||||
}
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_change_group_color');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_cuboid_grouping.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_change_group_color.png`,
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,31 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Redraw.', () => {
|
||||
const caseId = '84';
|
||||
const cuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.openJob();
|
||||
cy.create3DCuboid(cuboidCreationParams);
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Redraw a cuboid.', () => {
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove');
|
||||
cy.get('body').type('{Shift}n');
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove', 450, 250).dblclick(450, 250);
|
||||
cy.get('.cvat-objects-sidebar-state-item').then((sidebarStateItems) => {
|
||||
expect(sidebarStateItems.length).to.be.equal(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,65 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. "Move the image" button interaction.', () => {
|
||||
const caseId = '86';
|
||||
const screenshotsPath = 'cypress/screenshots/canvas3d_functionality/case_86_canvas3d_functionality_move_image_button.js';
|
||||
const cuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.openJob();
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.create3DCuboid(cuboidCreationParams);
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_after_add_cuboid');
|
||||
['topview', 'sideview', 'frontview'].forEach((view) => {
|
||||
cy.get(`.cvat-canvas3d-${view}`)
|
||||
.find('.cvat-canvas3d-fullsize')
|
||||
.screenshot(`canvas3d_${view}_after_add_cuboid`);
|
||||
});
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Click to "Move the image" button. The cuboid on the top/side/front view should be hidden.', () => {
|
||||
cy.get('.cvat-move-control').click();
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove', 300, 200); // Interacting with the canvas before interacting with the cuboid.
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove');
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').should('not.have.class', 'cvat-objects-sidebar-state-active-item');
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_move_the_image_clicked');
|
||||
['topview', 'sideview', 'frontview'].forEach((view) => {
|
||||
cy.get(`.cvat-canvas3d-${view}`)
|
||||
.find('.cvat-canvas3d-fullsize')
|
||||
.screenshot(`canvas3d_${view}_move_the_image_clicked`);
|
||||
});
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_after_add_cuboid.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_move_the_image_clicked.png`,
|
||||
);
|
||||
[
|
||||
['canvas3d_topview_after_add_cuboid.png', 'canvas3d_topview_move_the_image_clicked.png'],
|
||||
['canvas3d_sideview_after_add_cuboid.png', 'canvas3d_sideview_move_the_image_clicked.png'],
|
||||
['canvas3d_frontview_after_add_cuboid.png', 'canvas3d_frontview_move_the_image_clicked.png'],
|
||||
].forEach(([viewAfterAddCuboid, viewMoveTheImageClicked]) => {
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/${viewAfterAddCuboid}`,
|
||||
`${screenshotsPath}/${viewMoveTheImageClicked}`,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('Cancel "Move the image" activity. "Cursor" button should be active.', () => {
|
||||
cy.get('body').type('{Esc}');
|
||||
cy.get('.cvat-active-canvas-control').should('exist');
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove', 300, 200); // Interacting with the canvas before interacting with the cuboid.
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove');
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').should('have.class', 'cvat-objects-sidebar-state-active-item');
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,31 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Delete a cuboid.', () => {
|
||||
const caseId = '87';
|
||||
const cuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.openJob();
|
||||
cy.create3DCuboid(cuboidCreationParams);
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Delete a cuboid.', () => {
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove', 300, 200).click(300, 200); // Deactivate the cuboid
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').should('not.have.class', 'cvat-objects-sidebar-state-active-item');
|
||||
cy.get('.cvat-canvas3d-perspective').trigger('mousemove');
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').should('have.class', 'cvat-objects-sidebar-state-active-item');
|
||||
cy.get('body').type('{Del}');
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').should('not.exist');
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,52 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Save a job. Remove annotations.', () => {
|
||||
const caseId = '88';
|
||||
const screenshotsPath = 'cypress/screenshots/canvas3d_functionality/case_88_canvas3d_functionality_save_job_remove_annotation.js';
|
||||
const cuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.openJob();
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.get('.cvat-canvas3d-topview').find('.cvat-canvas3d-fullsize').screenshot('canvas3d_topview_before_all');
|
||||
cy.create3DCuboid(cuboidCreationParams);
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Save a job. Reopen the job.', () => {
|
||||
cy.saveJob('PATCH', 200, 'saveJob');
|
||||
cy.goToTaskList();
|
||||
cy.openTaskJob(taskName);
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.get('.cvat-objects-sidebar-state-item').then((sidebarStateItem) => {
|
||||
expect(sidebarStateItem.length).to.be.equal(1);
|
||||
});
|
||||
cy.get('.cvat-canvas3d-topview').find('.cvat-canvas3d-fullsize').screenshot('canvas3d_topview_after_reopen_job');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_topview_before_all.png`,
|
||||
`${screenshotsPath}/canvas3d_topview_after_reopen_job.png`,
|
||||
);
|
||||
});
|
||||
|
||||
it('Remove annotations. Save the job.', () => {
|
||||
cy.removeAnnotations();
|
||||
cy.saveJob('PUT');
|
||||
cy.contains('Saving changes on the server').should('be.hidden');
|
||||
cy.get('.cvat-objects-sidebar-state-item').should('not.exist');
|
||||
cy.get('.cvat-canvas3d-topview').find('.cvat-canvas3d-fullsize').screenshot('canvas3d_topview_after_remove_annotations');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_topview_after_reopen_job.png`,
|
||||
`${screenshotsPath}/canvas3d_topview_after_remove_annotations.png`,
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,75 @@
|
||||
// Copyright (C) 2021 Intel Corporation
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import { taskName, labelName } from '../../support/const_canvas3d';
|
||||
|
||||
context('Canvas 3D functionality. Filters.', () => {
|
||||
const caseId = '89';
|
||||
const secondLabel = 'car'
|
||||
const screenshotsPath = 'cypress/screenshots/canvas3d_functionality/case_89_canvas3d_functionality_filters.js';
|
||||
const firstCuboidCreationParams = {
|
||||
labelName: labelName,
|
||||
x: 350,
|
||||
y: 250,
|
||||
};
|
||||
const secondCuboidCreationParams = {
|
||||
labelName: secondLabel,
|
||||
x: 450,
|
||||
y: 250,
|
||||
};
|
||||
|
||||
before(() => {
|
||||
cy.openTask(taskName)
|
||||
cy.addNewLabel(secondLabel);
|
||||
cy.openJob();
|
||||
cy.wait(1000); // Waiting for the point cloud to display
|
||||
cy.create3DCuboid(firstCuboidCreationParams);
|
||||
cy.create3DCuboid(secondCuboidCreationParams);
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_after_add_cuboids');
|
||||
});
|
||||
|
||||
describe(`Testing case "${caseId}"`, () => {
|
||||
it('Set filter "label=points cloud"', () => {
|
||||
cy.addFiltersRule(0);
|
||||
cy.setFilter({
|
||||
groupIndex: 0,
|
||||
ruleIndex: 0,
|
||||
field: 'Label',
|
||||
operator: '==',
|
||||
value: labelName,
|
||||
submit: true,
|
||||
});
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').should('exist');
|
||||
cy.get('#cvat-objects-sidebar-state-item-2').should('not.exist');
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_set_filter_label');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_after_add_cuboids.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_set_filter_label.png`,
|
||||
);
|
||||
cy.clearFilters();
|
||||
});
|
||||
|
||||
it('Set filter "ObjectID=2"', () => {
|
||||
cy.addFiltersRule(0);
|
||||
cy.setFilter({
|
||||
groupIndex: 0,
|
||||
ruleIndex: 0,
|
||||
field: 'ObjectID',
|
||||
operator: '==',
|
||||
value: '2',
|
||||
submit: true,
|
||||
});
|
||||
cy.get('#cvat-objects-sidebar-state-item-1').should('not.exist');
|
||||
cy.get('#cvat-objects-sidebar-state-item-2').should('exist');
|
||||
cy.get('.cvat-canvas3d-perspective').screenshot('canvas3d_perspective_set_filter_objectid');
|
||||
cy.compareImagesAndCheckResult(
|
||||
`${screenshotsPath}/canvas3d_perspective_set_filter_objectid.png`,
|
||||
`${screenshotsPath}/canvas3d_perspective_set_filter_label.png`,
|
||||
);
|
||||
cy.clearFilters();
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
Reference in New Issue