ohif-viewer/tests/utils/subscribeToMeasurement.ts

35 lines
877 B
TypeScript

export const subscribeToMeasurementAdded = async (page: any) => {
let measurementAddedFired = false;
let unsubscribeMeasurementAdded: () => void;
await page.evaluate(
({ services }: AppTypes.Test) => {
const { measurementService } = services;
const { unsubscribe } = measurementService.subscribe(
measurementService.EVENTS.MEASUREMENT_ADDED,
() => {
measurementAddedFired = true;
}
);
unsubscribeMeasurementAdded = unsubscribe;
},
await page.evaluateHandle('window')
);
return {
waitFired: async (timeout?: number) =>
await page.waitForFunction(
() => measurementAddedFired === true,
timeout != null ? { timeout } : undefined
),
unsubscribe: async () => {
await page.evaluate(() => {
unsubscribeMeasurementAdded?.();
});
},
};
};