219 lines
6.5 KiB
JavaScript
219 lines
6.5 KiB
JavaScript
describe('OHIF Measurement Panel', function () {
|
|
beforeEach(function () {
|
|
cy.checkStudyRouteInViewer('1.2.840.113619.2.5.1762583153.215519.978957063.78');
|
|
|
|
cy.expectMinimumThumbnails(3);
|
|
cy.initCommonElementsAliases();
|
|
cy.initCornerstoneToolsAliases();
|
|
cy.waitDicomImage();
|
|
});
|
|
|
|
it('checks if Measurements right panel can be hidden/displayed', function () {
|
|
cy.get('@measurementsPanel').should('exist');
|
|
cy.get('@measurementsPanel').should('be.visible');
|
|
|
|
cy.get('@RightCollapseBtn').click();
|
|
cy.get('@measurementsPanel').should('not.exist');
|
|
|
|
cy.get('@RightCollapseBtn').click();
|
|
|
|
// segmentation panel should be visible
|
|
cy.get('@segmentationPanel').should('be.visible');
|
|
|
|
// measurements panel should be clickable
|
|
cy.get('@measurementsBtn').click();
|
|
cy.get('@measurementsPanel').should('be.visible');
|
|
});
|
|
|
|
it('checks if measurement item can be Relabeled under Measurements panel', function () {
|
|
// Add length measurement
|
|
cy.addLengthMeasurement();
|
|
|
|
cy.get('[data-cy="viewport-notification"]').as('viewportNotification').should('exist');
|
|
cy.get('[data-cy="viewport-notification"]').as('viewportNotification').should('be.visible');
|
|
|
|
cy.get('[data-cy="prompt-begin-tracking-yes-btn"]').as('yesBtn').click();
|
|
|
|
cy.get('[data-cy="data-row"]').as('measurementItem').click();
|
|
|
|
cy.get('[data-cy="data-row"]').find('svg').eq(0).as('measurementItemSvg').click();
|
|
|
|
// enter Bone label
|
|
// Todo: move it to the new annotation input with drop down
|
|
// cy.get('[data-cy="input-annotation"]').should('exist');
|
|
// cy.get('[data-cy="input-annotation"]').should('be.visible');
|
|
// cy.get('[data-cy="input-annotation"]').type('Bone{enter}');
|
|
|
|
// cy.get('[data-cy="data-row"]').as('measurementItem').should('contain.text', 'Bone');
|
|
});
|
|
|
|
it('checks if image would jump when clicked on a measurement item', function () {
|
|
cy.get('[data-cy="study-browser-thumbnail"][data-series="1"]').dblclick();
|
|
cy.wait(250);
|
|
cy.scrollToIndex(0);
|
|
|
|
// Add length measurement
|
|
cy.addLengthMeasurement().wait(250);
|
|
cy.get('[data-cy="prompt-begin-tracking-yes-btn"]').as('yesBtn').click();
|
|
|
|
cy.scrollToIndex(13);
|
|
|
|
// Reset to default tool so that the new add length works
|
|
cy.addLengthMeasurement([100, 100], [200, 200]); //Adding measurement in the viewport
|
|
|
|
cy.get('@viewportInfoBottomRight').should('contains.text', '(14/');
|
|
|
|
// Click on first measurement item
|
|
cy.get('[data-cy="data-row"]').eq(0).click();
|
|
|
|
cy.get('@viewportInfoBottomRight').should('contains.text', '(1/');
|
|
cy.get('@viewportInfoBottomRight').should('not.contains.text', '(14/');
|
|
});
|
|
|
|
/*
|
|
TODO: Not sure why this is failing
|
|
it('checks if Description can be added to measurement item under Measurements panel', () => {
|
|
cy.addLengthMeasurement(); //Adding measurement in the viewport
|
|
cy.get('@measurementsBtn').click();
|
|
cy.get('.measurementItem').click();
|
|
|
|
// Click "Description"
|
|
cy.get('.btnAction')
|
|
.contains('Description')
|
|
.click();
|
|
|
|
// Enter description text
|
|
const descriptionText = 'Adding text for description test';
|
|
cy.get('#description').type(descriptionText);
|
|
|
|
// Confirm
|
|
cy.get('.btn-confirm').click();
|
|
|
|
//Verify if descriptionText was added
|
|
cy.get('.measurementLocation').should('contain.text', descriptionText);
|
|
|
|
// Remove the measurement we just added
|
|
cy.get('.btnAction')
|
|
.last()
|
|
.contains('Delete')
|
|
.click()
|
|
|
|
// Close panel
|
|
cy.get('@measurementsBtn').click();
|
|
cy.get('@measurementsPanel').should('not.be.enabled');
|
|
});
|
|
*/
|
|
|
|
/*it('checks if measurement item can be deleted through the context menu on the viewport', function() {
|
|
cy.addLengthMeasurement([100, 100], [200, 100]); //Adding measurement in the viewport
|
|
|
|
//Right click on measurement annotation
|
|
const [x1, y1] = [150, 100];
|
|
cy.get('@viewport')
|
|
.trigger('mousedown', x1, y1, {
|
|
which: 3,
|
|
})
|
|
.trigger('mouseup', x1, y1, {
|
|
which: 3,
|
|
})
|
|
.wait(300)
|
|
.then(() => {
|
|
//Contextmenu is visible
|
|
cy.get('.ToolContextMenu').should('be.visible');
|
|
});
|
|
|
|
//Click "Delete measurement"
|
|
cy.get('.form-action')
|
|
.contains('Delete measurement')
|
|
.click();
|
|
|
|
//Open measurements menu
|
|
cy.get('@measurementsBtn').click();
|
|
|
|
//Verify measurements was removed from panel
|
|
cy.get('.measurementItem')
|
|
.should('not.exist')
|
|
.log('Annotation successfully removed');
|
|
|
|
//Close panel
|
|
cy.get('@measurementsBtn').click();
|
|
cy.get('@measurementsPanel').should('not.exist');
|
|
});*/
|
|
|
|
/*it('adds relabel and description to measurement item through the context menu on the viewport', function() {
|
|
cy.addLengthMeasurement([100, 100], [200, 100]); //Adding measurement in the viewport
|
|
|
|
// Relabel
|
|
// Right click on measurement annotation
|
|
const [x1, y1] = [150, 100];
|
|
cy.get('@viewport')
|
|
.trigger('mousedown', x1, y1, {
|
|
which: 3,
|
|
})
|
|
.trigger('mouseup', x1, y1, {
|
|
which: 3,
|
|
});
|
|
|
|
// Contextmenu is visible
|
|
cy.get('.ToolContextMenu').should('be.visible');
|
|
|
|
// Click "Relabel"
|
|
cy.get('.form-action')
|
|
.contains('Relabel')
|
|
.click();
|
|
|
|
// Search for "Brain"
|
|
cy.get('.searchInput').type('Brain');
|
|
|
|
// Select "Brain" Result
|
|
cy.get('.treeInputs > .wrapperLabel')
|
|
.contains('Brain')
|
|
.click();
|
|
|
|
// Confirm Selection
|
|
cy.get('.checkIconWrapper').click();
|
|
|
|
// Description
|
|
// Right click on measurement annotation
|
|
cy.get('@viewport')
|
|
.trigger('mousedown', x1, y1, {
|
|
which: 3,
|
|
})
|
|
.trigger('mouseup', x1, y1, {
|
|
which: 3,
|
|
});
|
|
|
|
// Contextmenu is visible
|
|
cy.get('.ToolContextMenu').should('be.visible');
|
|
|
|
// Click "Description"
|
|
cy.get('.form-action')
|
|
.contains('Add Description')
|
|
.click();
|
|
|
|
// Enter description text
|
|
const descriptionText = 'Adding text for description test';
|
|
cy.get('#description').type(descriptionText);
|
|
|
|
// Confirm
|
|
cy.get('.btn-confirm').click();
|
|
|
|
//Open measurements menu
|
|
cy.get('@measurementsBtn').click();
|
|
|
|
// Verify if label was added
|
|
cy.get('.measurementLocation')
|
|
.should('contain.text', 'Brain')
|
|
.log('Relabel added with success');
|
|
|
|
//Verify if descriptionText was added
|
|
cy.get('.measurementLocation')
|
|
.should('contain.text', descriptionText)
|
|
.log('Description added with success');
|
|
|
|
// Close panel
|
|
cy.get('@measurementsBtn').click();
|
|
cy.get('@measurementsPanel').should('not.exist');
|
|
});*/
|
|
});
|