|
|
import { test as base, expect } from '@playwright/test' |
|
|
|
|
|
|
|
|
const MOCK_CASES = ['sub-stroke0001', 'sub-stroke0002', 'sub-stroke0003'] |
|
|
const MOCK_SEGMENT_RESPONSE = { |
|
|
caseId: 'sub-stroke0001', |
|
|
diceScore: 0.847, |
|
|
volumeMl: 15.32, |
|
|
elapsedSeconds: 12.5, |
|
|
|
|
|
dwiUrl: 'https://niivue.github.io/niivue-demo-images/mni152.nii.gz', |
|
|
predictionUrl: 'https://niivue.github.io/niivue-demo-images/mni152.nii.gz', |
|
|
} |
|
|
|
|
|
|
|
|
export const test = base.extend({ |
|
|
|
|
|
page: async ({ page }, use) => { |
|
|
|
|
|
await page.route('**/api/cases', (route) => { |
|
|
route.fulfill({ |
|
|
status: 200, |
|
|
contentType: 'application/json', |
|
|
body: JSON.stringify({ cases: MOCK_CASES }), |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
await page.route('**/api/segment', async (route) => { |
|
|
const request = route.request() |
|
|
const body = JSON.parse(request.postData() || '{}') as { case_id?: string } |
|
|
|
|
|
|
|
|
await new Promise((r) => setTimeout(r, 200)) |
|
|
|
|
|
route.fulfill({ |
|
|
status: 200, |
|
|
contentType: 'application/json', |
|
|
body: JSON.stringify({ |
|
|
...MOCK_SEGMENT_RESPONSE, |
|
|
caseId: body.case_id || 'sub-stroke0001', |
|
|
}), |
|
|
}) |
|
|
}) |
|
|
|
|
|
await use(page) |
|
|
}, |
|
|
}) |
|
|
|
|
|
export { expect } |
|
|
|