test(contour): add test for RT contour position after viewport maximize/restore (#6036)

This commit is contained in:
Ghadeer Albattarni authored and GitHub committed 2026-05-22 13:49:00 -04:00
1 parent becd208924
commit 5762095cfa
13 files changed
+264 -218

No files matched your search

@@ -0,0 +1,46 @@
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);
});