You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.8 KiB
JavaScript
78 lines
2.8 KiB
JavaScript
// Copyright (C) 2021-2022 Intel Corporation
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
// /// <reference types="cypress" />
|
|
|
|
import { taskName } from '../../support/const';
|
|
|
|
context('Mutable attribute.', () => {
|
|
const caseId = '70';
|
|
const labelTrack = `Case ${caseId}`;
|
|
const additionalAttrsLabelShape = [
|
|
{ additionalAttrName: 'tree', additionalValue: 'birch tree', typeAttribute: 'Text', mutable: true },
|
|
];
|
|
|
|
const createRectangleTrack2Points = {
|
|
points: 'By 2 Points',
|
|
type: 'Track',
|
|
labelName: labelTrack,
|
|
firstX: 260,
|
|
firstY: 200,
|
|
secondX: 360,
|
|
secondY: 250,
|
|
};
|
|
|
|
const attrValueSecondFrame = 'aspen';
|
|
const attrValueThirdFrame = 'oak';
|
|
|
|
function testChangingAttributeValue(expectedValue, value) {
|
|
cy.get('.cvat-player-next-button').click();
|
|
cy.get('.attribute-annotation-sidebar-attr-elem-wrapper')
|
|
.find('[type="text"]')
|
|
.should('have.value', expectedValue)
|
|
.clear()
|
|
.type(value);
|
|
}
|
|
|
|
function checkObjectDetailValue(frameNum, expectedValue) {
|
|
cy.get('.cvat-player-next-button').click();
|
|
cy.goCheckFrameNumber(frameNum);
|
|
cy.contains(expectedValue).should('exist').and('be.visible');
|
|
}
|
|
|
|
before(() => {
|
|
cy.openTask(taskName);
|
|
cy.addNewLabel(labelTrack, additionalAttrsLabelShape);
|
|
cy.openJob();
|
|
cy.createRectangle(createRectangleTrack2Points);
|
|
});
|
|
|
|
describe(`Testing case "${caseId}"`, () => {
|
|
it('Go to AAM. For the 2nd and 3rd frames, change the attribute value.', () => {
|
|
cy.changeWorkspace('Attribute annotation');
|
|
cy.changeLabelAAM(labelTrack);
|
|
testChangingAttributeValue(additionalAttrsLabelShape[0].additionalValue, attrValueSecondFrame);
|
|
testChangingAttributeValue(attrValueSecondFrame, attrValueThirdFrame);
|
|
});
|
|
|
|
it('Go to Standard mode. The object details have correct values on the corresponding frames.', () => {
|
|
cy.changeWorkspace('Standard');
|
|
cy.get('#cvat_canvas_shape_1')
|
|
.trigger('mousemove', { scrollBehavior: false })
|
|
.should('have.class', 'cvat_canvas_shape_activated');
|
|
[
|
|
[
|
|
0,
|
|
`${additionalAttrsLabelShape[0].additionalAttrName}: ${additionalAttrsLabelShape[0].additionalValue}`,
|
|
],
|
|
[1, `${additionalAttrsLabelShape[0].additionalAttrName}: ${attrValueSecondFrame}`],
|
|
[2, `${additionalAttrsLabelShape[0].additionalAttrName}: ${attrValueThirdFrame}`],
|
|
[3, `${additionalAttrsLabelShape[0].additionalAttrName}: ${attrValueThirdFrame}`],
|
|
].forEach(([num, val]) => {
|
|
checkObjectDetailValue(num, val);
|
|
});
|
|
});
|
|
});
|
|
});
|