fix: prevent viewer crash when opening DICOM Tag Browser from empty viewport (#5827)
This commit is contained in:
parent
a8f709982f
commit
d11d6d401b
@ -656,7 +656,9 @@ const commandsModule = ({
|
||||
const displaySets = displaySetService.activeDisplaySets;
|
||||
const { UIModalService } = servicesManager.services;
|
||||
|
||||
const defaultDisplaySetInstanceUID = displaySetInstanceUID || displaySetInstanceUIDs[0];
|
||||
const defaultDisplaySetInstanceUID =
|
||||
displaySetInstanceUID || displaySetInstanceUIDs[0] || displaySets[0]?.displaySetInstanceUID;
|
||||
|
||||
UIModalService.show({
|
||||
content: DicomTagBrowser,
|
||||
contentProps: {
|
||||
|
||||
@ -60,3 +60,56 @@ test('should display the long series name properly within the series select butt
|
||||
outerBoxLabel: 'trigger',
|
||||
});
|
||||
});
|
||||
|
||||
test('should open DICOM Tag Browser from empty viewport and show default series', async ({
|
||||
page,
|
||||
mainToolbarPageObject,
|
||||
viewportPageObject,
|
||||
DOMOverlayPageObject,
|
||||
}) => {
|
||||
const studyInstanceUID = '1.3.6.1.4.1.25403.345050719074.3824.20170125095258.1';
|
||||
const mode = 'viewer';
|
||||
await visitStudy(page, studyInstanceUID, mode, 2000);
|
||||
|
||||
// Switch to 3x3 layout
|
||||
await mainToolbarPageObject.layoutSelection.click();
|
||||
await page.getByTestId('Layout-2-2').click();
|
||||
|
||||
await viewportPageObject.getNth(6).pane.click();
|
||||
|
||||
await mainToolbarPageObject.moreTools.tagBrowser.click();
|
||||
|
||||
const dicomTagBrowser = DOMOverlayPageObject.dialog.dicomTagBrowser;
|
||||
await dicomTagBrowser.waitVisible();
|
||||
|
||||
const seriesSelect = dicomTagBrowser.seriesSelect;
|
||||
const optionText = await seriesSelect.getOptionText(0);
|
||||
|
||||
await expect(seriesSelect.value).toContainText(optionText);
|
||||
});
|
||||
|
||||
test('should open DICOM Tag Browser with active viewport series when viewport has display set', async ({
|
||||
page,
|
||||
mainToolbarPageObject,
|
||||
viewportPageObject,
|
||||
DOMOverlayPageObject,
|
||||
}) => {
|
||||
const studyInstanceUID = '1.3.6.1.4.1.25403.345050719074.3824.20170125095258.1';
|
||||
const mode = 'viewer';
|
||||
await visitStudy(page, studyInstanceUID, mode, 2000);
|
||||
|
||||
await mainToolbarPageObject.layoutSelection.click();
|
||||
await page.getByTestId('Layout-2-2').click();
|
||||
|
||||
await viewportPageObject.getNth(2).pane.click();
|
||||
|
||||
await mainToolbarPageObject.moreTools.tagBrowser.click();
|
||||
|
||||
const dicomTagBrowser = DOMOverlayPageObject.dialog.dicomTagBrowser;
|
||||
await dicomTagBrowser.waitVisible();
|
||||
|
||||
const seriesSelect = dicomTagBrowser.seriesSelect;
|
||||
const optionText = await seriesSelect.getOptionText(2);
|
||||
|
||||
await expect(seriesSelect.value).toContainText(optionText);
|
||||
});
|
||||
|
||||
@ -29,13 +29,16 @@ export class DicomTagBrowserPageObject {
|
||||
await trigger.click();
|
||||
},
|
||||
|
||||
async selectOption(index) {
|
||||
async getOptionText(index) {
|
||||
await this.click();
|
||||
const optionText = await options.nth(index).innerText();
|
||||
const selectedText = optionText.split('\n')[0].trim();
|
||||
const trimmedOptionText = optionText.split('\n')[0].trim();
|
||||
return trimmedOptionText;
|
||||
},
|
||||
|
||||
async selectOption(index) {
|
||||
const selectedText = await this.getOptionText(index);
|
||||
await options.nth(index).click();
|
||||
|
||||
return selectedText;
|
||||
},
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user