test(segmentation): add e2e test for deleting segmentation on second reload (#6013)

This commit is contained in:
Ghadeer Albattarni 2026-05-19 09:24:49 -04:00 committed by GitHub
parent 8e8f574174
commit 77cd9394d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 71 additions and 0 deletions

View File

@ -0,0 +1,67 @@
import {
checkForScreenshot,
expect,
screenShotPaths,
test,
visitStudy,
waitForViewportRenderCycle,
} from './utils';
test.beforeEach(async ({ page }) => {
const studyInstanceUID = '1.3.6.1.4.1.14519.5.2.1.256467663913010332776401703474716742458';
const mode = 'segmentation';
await visitStudy(page, studyInstanceUID, mode, 2000);
});
test('should fully remove segmentation overlay after repeated load-and-delete cycle', async ({
page,
DOMOverlayPageObject,
leftPanelPageObject,
rightPanelPageObject,
viewportPageObject,
}) => {
const activeViewport = await viewportPageObject.active;
await leftPanelPageObject.loadSeriesByModality('SEG');
await expect(DOMOverlayPageObject.viewport.segmentationHydration.locator).toBeVisible();
let viewportRenderCycle = waitForViewportRenderCycle(page);
await DOMOverlayPageObject.viewport.segmentationHydration.yes.click();
await viewportRenderCycle;
viewportRenderCycle = waitForViewportRenderCycle(page);
await rightPanelPageObject.labelMapSegmentationPanel.panel.moreMenu.delete();
await viewportRenderCycle;
expect(await rightPanelPageObject.labelMapSegmentationPanel.panel.getSegmentCount()).toBe(0);
// reload SEG series
viewportRenderCycle = waitForViewportRenderCycle(page);
await leftPanelPageObject.loadSeriesByModality('SEG');
await viewportRenderCycle;
await expect(DOMOverlayPageObject.viewport.segmentationHydration.locator).toBeVisible();
viewportRenderCycle = waitForViewportRenderCycle(page);
await DOMOverlayPageObject.viewport.segmentationHydration.yes.click();
await viewportRenderCycle;
await checkForScreenshot(
page,
activeViewport.pane,
screenShotPaths.segHydrationDeleteAndReload.viewportAfterSecondHydration
);
viewportRenderCycle = waitForViewportRenderCycle(page);
await rightPanelPageObject.labelMapSegmentationPanel.panel.moreMenu.delete();
await viewportRenderCycle;
expect(await rightPanelPageObject.labelMapSegmentationPanel.panel.getSegmentCount()).toBe(0);
await checkForScreenshot(
page,
activeViewport.pane,
screenShotPaths.segHydrationDeleteAndReload.viewportAfterSecondDelete
);
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

View File

@ -132,6 +132,10 @@ const screenShotPaths = {
segPreHydration: 'segPreHydration.png',
segJumpToSegment: 'segJumpToSegment.png',
},
segHydrationDeleteAndReload: {
viewportAfterSecondHydration: 'viewportAfterSecondHydration.png',
viewportAfterSecondDelete: 'viewportAfterSecondDelete.png',
},
segHydrationThenMPR: {
segPostHydration: 'segPostHydration.png',
segPostHydrationMPRAxialPrimary: 'segPostHydrationMPRAxialPrimary.png',