|
| 1 | +import { test, visitStudy, expect } from './utils'; |
| 2 | +import { press } from './utils/keyboardUtils'; |
| 3 | + |
| 4 | +test.beforeEach(async ({ page }) => { |
| 5 | + const studyInstanceUID = '1.2.840.113619.2.290.3.3767434740.226.1600859119.501'; |
| 6 | + const mode = 'segmentation'; |
| 7 | + await visitStudy(page, studyInstanceUID, mode, 2000); |
| 8 | +}); |
| 9 | + |
| 10 | +test('should keep the viewport rendered when navigating series with Page Down after adding a segmentation', async ({ |
| 11 | + page, |
| 12 | + leftPanelPageObject, |
| 13 | + rightPanelPageObject, |
| 14 | + viewportPageObject, |
| 15 | +}) => { |
| 16 | + // Study has 5 series; pressing 8 times verifies navigation remains stable even after |
| 17 | + // reaching the client-created SEG display set appended by "Add Segmentation". |
| 18 | + const minimumSeriesExpected = 5; |
| 19 | + const totalPageDownPresses = minimumSeriesExpected + 3; |
| 20 | + |
| 21 | + await rightPanelPageObject.labelMapSegmentationPanel.addSegmentationButton.click(); |
| 22 | + |
| 23 | + const thumbnailsLocator = leftPanelPageObject.thumbnails; |
| 24 | + await expect |
| 25 | + .poll(async () => { |
| 26 | + return await thumbnailsLocator.count(); |
| 27 | + }) |
| 28 | + .toBeGreaterThanOrEqual(minimumSeriesExpected); |
| 29 | + |
| 30 | + const activeViewport = await viewportPageObject.active; |
| 31 | + await activeViewport.pane.click(); |
| 32 | + await activeViewport.pane.dblclick(); |
| 33 | + |
| 34 | + for (let i = 0; i < totalPageDownPresses; i++) { |
| 35 | + await press({ page, key: 'PageDown' }); |
| 36 | + const currentActiveViewport = await viewportPageObject.active; |
| 37 | + await expect(currentActiveViewport.overlayText.bottomRight.instanceNumber).toBeVisible(); |
| 38 | + } |
| 39 | +}); |
0 commit comments