diff --git a/tests/cypress/integration/actions_tasks_objects/issue_2753_call_HOC_component_each_render.js b/tests/cypress/integration/actions_tasks_objects/issue_2753_call_HOC_component_each_render.js new file mode 100644 index 00000000000..6216a2594cf --- /dev/null +++ b/tests/cypress/integration/actions_tasks_objects/issue_2753_call_HOC_component_each_render.js @@ -0,0 +1,77 @@ +// Copyright (C) 2021 Intel Corporation +// +// SPDX-License-Identifier: MIT + +/// + +import { taskName, labelName } from '../../support/const'; + +context('Call HOC component each render.', () => { + const issueId = '2753'; + const numberOfPointsPolygon = 4; + const numberOfPointsPolyline = 5; + const numberOfPointsPoint = 6; + + const createPolygonShapePoints = { + reDraw: false, + type: 'Shape', + labelName: labelName, + pointsMap: [ + { x: 200, y: 200 }, + { x: 250, y: 200 }, + { x: 250, y: 250 }, + { x: 200, y: 300 }, + ], + numberOfPoints: numberOfPointsPolygon, + }; + const createPolylinesTrackPoints = { + type: 'Track', + labelName: labelName, + pointsMap: [ + { x: 300, y: 200 }, + { x: 350, y: 200 }, + { x: 350, y: 250 }, + { x: 300, y: 350 }, + { x: 270, y: 330 }, + ], + numberOfPoints: numberOfPointsPolyline, + }; + const createPointsShapePoints = { + type: 'Shape', + labelName: labelName, + pointsMap: [ + { x: 400, y: 200 }, + { x: 450, y: 200 }, + { x: 450, y: 250 }, + { x: 450, y: 230 }, + { x: 430, y: 230 }, + { x: 400, y: 230 }, + ], + numberOfPoints: numberOfPointsPoint, + }; + + function checkNumberOfPointsValue(objectType, numberOfPoints) { + cy.get(`.cvat-draw-${objectType}-control`).trigger('mouseover'); + cy.get(`.cvat-draw-${objectType}-popover-visible`).within(() => { + cy.get('.cvat-draw-shape-popover-points-selector') + .find('input') + .should('have.attr', 'value', numberOfPoints); + }); + cy.get(`.cvat-draw-${objectType}-control`).trigger('mouseout'); + } + + before(() => { + cy.openTaskJob(taskName); + }); + + describe(`Testing issue "${issueId}"`, () => { + it('Draw polygon, polyline, points. After drawing "Number of points" popover value should the same.', () => { + cy.createPolygon(createPolygonShapePoints); + cy.createPolyline(createPolylinesTrackPoints); + cy.createPoint(createPointsShapePoints); + checkNumberOfPointsValue('polygon', numberOfPointsPolygon); + checkNumberOfPointsValue('polyline', numberOfPointsPolyline); + checkNumberOfPointsValue('points', numberOfPointsPoint); + }); + }); +});