Tengo un componente Angular que usa la biblioteca AWS connect-streams
. Sin embargo, tengo problemas para intentar simular esta biblioteca con fines de prueba unitaria.
En mi archivo component.ts
tengo lo siguiente:
public ngOnInit() { connect.core.initCCP(el, { ccpUrl: this.ccpUrl, loginPopup: false, loginPopupAutoClose: true, }); connect.contact((contactSessionObj) => { contactSessionObj.onIncoming((_evt) => { this.onIncomingHandler(_evt, contactSessionObj); }); contactSessionObj.onConnected((_evt: any) => { this.onConnectedHandler(_evt, contactSessionObj); }); }); private onIncomingHandler(_evt, _contact) { if (this.isClosed) { this.toggleWindow(); } } private onConnectedHandler(_evt, contact) { const contactAttributes = contact.getAttributes(); const phoneNumber = contactAttributes.phoneNumber.value; }
Estoy tratando de simular el objeto de connect
, pero no puedo resolver la estructura que me permitiría probar que this.onIncomingHandler()
y this.onConnectedHandler()
se llaman cuando se invocan las devoluciones de llamada onIncoming
y onConnected
. Aquí es donde estoy, pero me doy cuenta de que este enfoque no se alinea del todo:
window['connect'] = { core: { initCCP: () => { }, }, contact: () => { const contactObj = {}; contactObj['onIncoming'] = (cb) => { cb(); }; contactObj['onConnected'] = (cb) => { cb(); }; return contactObj; } };