43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { test } from '@playwright/test';
|
|
import { visitStudy, checkForScreenshot, screenShotPaths } from './utils';
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
const studyInstanceUID = '1.3.6.1.4.1.5962.99.1.2968617883.1314880426.1493322302363.3.0';
|
|
const mode = 'viewer';
|
|
await visitStudy(page, studyInstanceUID, mode, 2000);
|
|
});
|
|
|
|
test('should hydrate RT reports correctly', async ({ page }) => {
|
|
await page.getByTestId('side-panel-header-right').click();
|
|
await page.getByTestId('study-browser-thumbnail-no-image').dblclick();
|
|
|
|
await checkForScreenshot(page, page, screenShotPaths.rtHydration2.rtPreHydration);
|
|
// wait for 3 seconds
|
|
await page.evaluate(() => {
|
|
// Access cornerstone directly from the window object
|
|
const cornerstone = window.cornerstone;
|
|
if (!cornerstone) {
|
|
return;
|
|
}
|
|
|
|
const enabledElements = cornerstone.getEnabledElements();
|
|
if (enabledElements.length === 0) {
|
|
return;
|
|
}
|
|
|
|
const viewport = enabledElements[0].viewport;
|
|
if (viewport) {
|
|
viewport.setZoom(4);
|
|
viewport.render();
|
|
}
|
|
});
|
|
|
|
await page.waitForTimeout(3000);
|
|
|
|
//
|
|
|
|
// should preserve zoom and pan and scroll position after hydration
|
|
await page.getByTestId('yes-hydrate-btn').click();
|
|
await checkForScreenshot(page, page, screenShotPaths.rtHydration.rtPostHydration);
|
|
});
|