47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
import { expect, test, visitStudy, getSvgAttribute, waitForViewportRenderCycle } from './utils';
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
const studyInstanceUID = '1.3.6.1.4.1.12201.1091.126683095609223531686845324113579088978';
|
|
const mode = 'segmentation';
|
|
await visitStudy(page, studyInstanceUID, mode, 2000);
|
|
});
|
|
test('should keep RT contours correctly positioned after maximizing and restoring the viewport', async ({
|
|
page,
|
|
viewportPageObject,
|
|
leftPanelPageObject,
|
|
DOMOverlayPageObject,
|
|
}) => {
|
|
await leftPanelPageObject.loadSeriesByModality('RTSTRUCT');
|
|
|
|
let viewportRenderCycle = waitForViewportRenderCycle(page);
|
|
await DOMOverlayPageObject.viewport.segmentationHydration.yes.click();
|
|
await viewportRenderCycle;
|
|
|
|
const initialSvgPath = await getSvgAttribute({
|
|
viewportPageObject,
|
|
svgInnerElement: 'path',
|
|
attributeName: 'd',
|
|
});
|
|
|
|
expect(initialSvgPath).not.toBeNull();
|
|
const activeViewport = await viewportPageObject.active;
|
|
|
|
viewportRenderCycle = waitForViewportRenderCycle(page);
|
|
// First double-click: maximize viewport to one-up layout
|
|
await activeViewport.pane.dblclick();
|
|
await viewportRenderCycle;
|
|
|
|
viewportRenderCycle = waitForViewportRenderCycle(page);
|
|
// Second double-click: restore to the original multi-viewport layout
|
|
await activeViewport.pane.dblclick();
|
|
await viewportRenderCycle;
|
|
|
|
const restoredSvgPath = await getSvgAttribute({
|
|
viewportPageObject,
|
|
svgInnerElement: 'path',
|
|
attributeName: 'd',
|
|
});
|
|
expect(restoredSvgPath).not.toBeNull();
|
|
expect(restoredSvgPath).toBe(initialSvgPath);
|
|
});
|