fix(seg): prevent segmentations from spreading to all viewports before hydration confirmation in 3D four-up (#5967)

This commit is contained in:
Ghadeer Albattarni authored and GitHub committed 2026-04-27 12:55:12 -04:00
1 parent c9c4f11b82
commit f8ccf9ff2e
23 files changed
+558 -39

No files matched your search

+38 -9
View File
@@ -1,4 +1,11 @@
import { checkForScreenshot, screenShotPaths, test, visitStudy } from './utils';
import {
checkForScreenshot,
screenShotPaths,
test,
visitStudy,
waitForViewportRenderCycle,
waitForViewportsRendered,
} from './utils';
test.beforeEach(async ({ page }) => {
const studyInstanceUID = '1.3.12.2.1107.5.2.32.35162.30000015050317233592200000046';
@@ -12,30 +19,52 @@ test('should properly display MPR for MR', async ({
leftPanelPageObject,
mainToolbarPageObject,
rightPanelPageObject,
viewportPageObject,
}) => {
await rightPanelPageObject.toggle();
await mainToolbarPageObject.layoutSelection.MPR.click();
await page.waitForTimeout(5000);
await checkForScreenshot(page, page, screenShotPaths.segHydrationFromMPR.mprBeforeSEG);
await waitForViewportsRendered(page);
await checkForScreenshot(
page,
viewportPageObject.grid,
screenShotPaths.segHydrationFromMPR.mprBeforeSEG
);
await leftPanelPageObject.loadSeriesByDescription('SEG');
await page.waitForTimeout(5000);
await checkForScreenshot(page, page, screenShotPaths.segHydrationFromMPR.mprAfterSEG);
await waitForViewportsRendered(page);
await checkForScreenshot(
page,
viewportPageObject.grid,
screenShotPaths.segHydrationFromMPR.mprAfterSEG
);
// start watching for viewports to render
const viewportRenderCycle = waitForViewportRenderCycle(page);
await DOMOverlayPageObject.viewport.segmentationHydration.yes.click();
await page.waitForTimeout(5000);
await checkForScreenshot(page, page, screenShotPaths.segHydrationFromMPR.mprAfterSegHydrated);
await viewportRenderCycle;
await checkForScreenshot(
page,
viewportPageObject.grid,
screenShotPaths.segHydrationFromMPR.mprAfterSegHydrated
);
const viewportRenderAfterLayoutChange = waitForViewportRenderCycle(page);
await mainToolbarPageObject.layoutSelection.axialPrimary.click();
await page.waitForTimeout(5000);
await viewportRenderAfterLayoutChange;
await checkForScreenshot(
page,
page,
viewportPageObject.grid,
screenShotPaths.segHydrationFromMPR.mprAfterSegHydratedAfterLayoutChange
);
});