84 lines
3.3 KiB
TypeScript
84 lines
3.3 KiB
TypeScript
|
|
import { expect, test } from './utils';
|
||
|
|
|
||
|
|
test.describe('Study Validation', () => {
|
||
|
|
const invalidStudyUID = '9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9';
|
||
|
|
const validStudyUID = '1.3.6.1.4.1.25403.345050719074.3824.20170125095438.5';
|
||
|
|
|
||
|
|
const modes = ['viewer', 'segmentation', 'microscopy', 'tmtv'];
|
||
|
|
|
||
|
|
// Test 1: Single invalid study
|
||
|
|
modes.forEach(mode => {
|
||
|
|
test(`should display error page when study UID is not found in ${mode} mode`, async ({
|
||
|
|
page,
|
||
|
|
notFoundStudyPageObject,
|
||
|
|
}) => {
|
||
|
|
await page.goto(`/${mode}/ohif?StudyInstanceUIDs=${invalidStudyUID}`);
|
||
|
|
|
||
|
|
await page.waitForURL('**/notfoundstudy', { timeout: 15000 });
|
||
|
|
|
||
|
|
await expect(notFoundStudyPageObject.errorMessage).toBeVisible();
|
||
|
|
await expect(notFoundStudyPageObject.errorMessage).toHaveText(
|
||
|
|
'One or more of the requested studies are not available at this time.'
|
||
|
|
);
|
||
|
|
|
||
|
|
await expect(notFoundStudyPageObject.returnMessage).toBeVisible();
|
||
|
|
await expect(notFoundStudyPageObject.returnMessage).toContainText(
|
||
|
|
'Return to the study list to select a different study to view.'
|
||
|
|
);
|
||
|
|
|
||
|
|
await expect(notFoundStudyPageObject.studyListLink).toBeVisible();
|
||
|
|
await expect(notFoundStudyPageObject.studyListLink).toHaveAttribute('href', '/');
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
// Test 2: Multiple studies - valid first, then invalid
|
||
|
|
modes.forEach(mode => {
|
||
|
|
test(`should display error page when second study UID is invalid in ${mode} mode`, async ({
|
||
|
|
page,
|
||
|
|
notFoundStudyPageObject,
|
||
|
|
}) => {
|
||
|
|
await page.goto(`/${mode}/ohif?StudyInstanceUIDs=${validStudyUID},${invalidStudyUID}`);
|
||
|
|
|
||
|
|
await page.waitForURL('**/notfoundstudy', { timeout: 15000 });
|
||
|
|
|
||
|
|
await expect(notFoundStudyPageObject.errorMessage).toBeVisible();
|
||
|
|
await expect(notFoundStudyPageObject.errorMessage).toHaveText(
|
||
|
|
'One or more of the requested studies are not available at this time.'
|
||
|
|
);
|
||
|
|
|
||
|
|
await expect(notFoundStudyPageObject.returnMessage).toBeVisible();
|
||
|
|
await expect(notFoundStudyPageObject.returnMessage).toContainText(
|
||
|
|
'Return to the study list to select a different study to view.'
|
||
|
|
);
|
||
|
|
|
||
|
|
await expect(notFoundStudyPageObject.studyListLink).toBeVisible();
|
||
|
|
await expect(notFoundStudyPageObject.studyListLink).toHaveAttribute('href', '/');
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
// Test 3: Multiple studies - invalid first, then valid
|
||
|
|
modes.forEach(mode => {
|
||
|
|
test(`should display error page when first study UID is invalid in ${mode} mode`, async ({
|
||
|
|
page,
|
||
|
|
notFoundStudyPageObject,
|
||
|
|
}) => {
|
||
|
|
await page.goto(`/${mode}/ohif?StudyInstanceUIDs=${invalidStudyUID},${validStudyUID}`);
|
||
|
|
|
||
|
|
await page.waitForURL('**/notfoundstudy', { timeout: 15000 });
|
||
|
|
|
||
|
|
await expect(notFoundStudyPageObject.errorMessage).toBeVisible();
|
||
|
|
await expect(notFoundStudyPageObject.errorMessage).toHaveText(
|
||
|
|
'One or more of the requested studies are not available at this time.'
|
||
|
|
);
|
||
|
|
|
||
|
|
await expect(notFoundStudyPageObject.returnMessage).toBeVisible();
|
||
|
|
await expect(notFoundStudyPageObject.returnMessage).toContainText(
|
||
|
|
'Return to the study list to select a different study to view.'
|
||
|
|
);
|
||
|
|
|
||
|
|
await expect(notFoundStudyPageObject.studyListLink).toBeVisible();
|
||
|
|
await expect(notFoundStudyPageObject.studyListLink).toHaveAttribute('href', '/');
|
||
|
|
});
|
||
|
|
});
|
||
|
|
});
|