init
This commit is contained in:
27
tests/utils/getTMTVModalityUnit.ts
Normal file
27
tests/utils/getTMTVModalityUnit.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
const getTMTVModalityUnit = async (page, attempts = 20) => {
|
||||
for (let i = 0; i < attempts; i++) {
|
||||
try {
|
||||
const modalityUnit = await page.evaluate(
|
||||
({ cornerstoneTools }: AppTypes.Test) => {
|
||||
const annotations = cornerstoneTools.annotation.state.getAllAnnotations();
|
||||
const stats = annotations[0].data.cachedStats;
|
||||
const targetIds = Object.keys(stats);
|
||||
const targetStats = stats[targetIds[1]];
|
||||
return targetStats.modalityUnit;
|
||||
},
|
||||
await page.evaluateHandle('window')
|
||||
);
|
||||
|
||||
if (modalityUnit) {
|
||||
return modalityUnit;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to get modalityUnit', error);
|
||||
}
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
}
|
||||
|
||||
throw new Error('Failed to get modalityUnit after multiple attempts');
|
||||
};
|
||||
|
||||
export { getTMTVModalityUnit };
|
||||
Reference in New Issue
Block a user