Здравствуйте ! Есть сага
export function * handleAwaitAnalyticsEvent (
eventName:string,
timeout:number,
restParams:any,
) {
if (eventName) {
yield call(sendAnalyticsEvent[eventName], restParams);
return new Promise((resolve, reject) => {
const script = document.querySelector<HTMLScriptElement>('script[src*="oko."]');
if(script){
script.onload = () => resolve(true);
}
// script && script.onload = () => resolve(true);
setTimeout(() => reject(false), timeout);
})
}
}
Как протестировать возврат промиса ?
делаю вот так
it('should return promise', async () => {
const timerPromise = await handleAwaitAnalyticsEvent(DEFAULTS_ANALYTICS_EVENTS.addToJP, 1000, {
sum: 12,
id: 1,
})
expect(timerPromise).toBe(true)
});
прилетает ошибка
handleAwaitAnalyticsEvent › should return promise
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: {}
69 | id: 1,
70 | })
> 71 | expect(timerPromise).toBe(true)
| ^
72 | });
73 | });
74 |
at Object.<anonymous> (src/common/sagas/__test__/analytics.test.ts:71:26)