@webex/calling 3.10.0-next.13 → 3.10.0-next.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/CallHistory/CallHistory.js +118 -124
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +189 -201
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallSettings/CallSettings.js +17 -18
  6. package/dist/CallSettings/CallSettings.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.test.js +14 -14
  8. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +71 -24
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +136 -47
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +135 -137
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +145 -149
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallingClient/CallingClient.js +198 -201
  18. package/dist/CallingClient/CallingClient.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.test.js +168 -168
  20. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  21. package/dist/CallingClient/calling/CallerId/index.js +7 -8
  22. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  23. package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
  24. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  25. package/dist/CallingClient/calling/call.js +364 -366
  26. package/dist/CallingClient/calling/call.js.map +1 -1
  27. package/dist/CallingClient/calling/call.test.js +340 -340
  28. package/dist/CallingClient/calling/call.test.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.js +15 -18
  30. package/dist/CallingClient/calling/callManager.js.map +1 -1
  31. package/dist/CallingClient/calling/callManager.test.js +113 -113
  32. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  33. package/dist/CallingClient/line/index.js +57 -74
  34. package/dist/CallingClient/line/index.js.map +1 -1
  35. package/dist/CallingClient/line/line.test.js +22 -22
  36. package/dist/CallingClient/line/line.test.js.map +1 -1
  37. package/dist/CallingClient/registration/register.js +293 -300
  38. package/dist/CallingClient/registration/register.js.map +1 -1
  39. package/dist/CallingClient/registration/register.test.js +246 -246
  40. package/dist/CallingClient/registration/register.test.js.map +1 -1
  41. package/dist/CallingClient/registration/webWorker.js +24 -24
  42. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  43. package/dist/CallingClient/registration/webWorker.test.js +20 -20
  44. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  45. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
  46. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
  47. package/dist/Contacts/ContactsClient.js +250 -253
  48. package/dist/Contacts/ContactsClient.js.map +1 -1
  49. package/dist/Contacts/ContactsClient.test.js +60 -60
  50. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  51. package/dist/Errors/catalog/CallError.js +7 -10
  52. package/dist/Errors/catalog/CallError.js.map +1 -1
  53. package/dist/Errors/catalog/CallingDeviceError.js +6 -9
  54. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  55. package/dist/Errors/catalog/ExtendedError.js +6 -8
  56. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  57. package/dist/Errors/catalog/LineError.js +6 -9
  58. package/dist/Errors/catalog/LineError.js.map +1 -1
  59. package/dist/Events/impl/index.js +11 -13
  60. package/dist/Events/impl/index.js.map +1 -1
  61. package/dist/Metrics/index.js +1 -2
  62. package/dist/Metrics/index.js.map +1 -1
  63. package/dist/SDKConnector/index.js +1 -2
  64. package/dist/SDKConnector/index.js.map +1 -1
  65. package/dist/Voicemail/BroadworksBackendConnector.js +126 -127
  66. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  67. package/dist/Voicemail/BroadworksBackendConnector.test.js +98 -98
  68. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  69. package/dist/Voicemail/UcmBackendConnector.js +84 -85
  70. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  71. package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
  72. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  73. package/dist/Voicemail/Voicemail.js +58 -61
  74. package/dist/Voicemail/Voicemail.js.map +1 -1
  75. package/dist/Voicemail/Voicemail.test.js +20 -20
  76. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  77. package/dist/Voicemail/WxCallBackendConnector.js +116 -117
  78. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  79. package/dist/Voicemail/WxCallBackendConnector.test.js +140 -140
  80. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  81. package/dist/common/Utils.js +168 -167
  82. package/dist/common/Utils.js.map +1 -1
  83. package/dist/common/Utils.test.js +120 -120
  84. package/dist/common/Utils.test.js.map +1 -1
  85. package/dist/common/constants.js +3 -1
  86. package/dist/common/constants.js.map +1 -1
  87. package/dist/common/testUtil.js +3 -3
  88. package/dist/common/testUtil.js.map +1 -1
  89. package/dist/module/CallSettings/UcmBackendConnector.js +20 -6
  90. package/dist/module/common/constants.js +2 -0
  91. package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
  92. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  93. package/dist/types/common/constants.d.ts +2 -0
  94. package/dist/types/common/constants.d.ts.map +1 -1
  95. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_uuid","require","_constants","_types","_types2","_constants2","_Logger","_interopRequireDefault","_registration","_impl","_LineError","_common","_SDKConnector","_types3","_callManager","_types4","_createSuper","t","r","_isNativeReflectConstruct","e","o","_getPrototypeOf2","default","s","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Boolean","prototype","valueOf","call","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","set","has","TypeError","_webex","_weakMap","_mutex","_sdkConnector","_primaryMobiusUris","_backupMobiusUris","Line","exports","_Eventing","_inherits2","_super","userId","clientDeviceUri","mutex","primaryMobiusUris","backupMobiusUris","logLevel","serviceDataConfig","jwe","phoneNumber","extension","voicemail","_this","_classCallCheck2","_assertThisInitialized2","writable","value","_defineProperty2","event","deviceInfo","lineError","log","info","METHOD_START_MESSAGE","file","LINE_FILE","method","METHODS","LINE_EMITTER","LINE_EVENTS","REGISTERED","normalizeLine","emit","UNREGISTERED","RECONNECTED","RECONNECTING","ERROR","registration","getStatus","_this$registration$ge","getDeviceInfo","device","deviceId","dest","MAKE_CALL","match","address","VALID_PHONE_REGEX","length","_this$registration$ge2","_call","sanitizedNumber","replace","formattedDest","type","concat","callManager","createCall","CallDirection","OUTBOUND","lineId","getCallId","warn","err","LineError","ERROR_TYPE","CALL_ERROR","RegistrationStatus","ACTIVE","serviceData","indicator","ServiceIndicator","GUEST_CALLING","_this$registration$ge3","undefined","correlationId","getCall","uuid","_classPrivateFieldSet2","SDKConnector","_classPrivateFieldGet2","getWebex","CALLING","domain","validateServiceData","createRegistration","lineEmitter","setLogger","getCallManager","incomingCallListener","_createClass2","key","_register","_asyncToGenerator2","_regenerator","mark","_callee2","_this2","wrap","_callee2$","_context2","prev","next","REGISTER","runExclusive","_callee","_callee$","_context","CONNECTING","setMobiusServers","triggerRegistration","stop","register","_deregister","_callee3","_callee3$","_context3","DEREGISTER","deregister","setStatus","IDLE","_device$addresses","keepaliveInterval","callKeepaliveInterval","rehomingIntervalMin","rehomingIntervalMax","voicePortalNumber","voicePortalExtension","mobiusDeviceId","mobiusUri","uri","lastSeen","sipAddresses","addresses","updateLine","getLoggingLevel","getLogLevel","getActiveMobiusUrl","_this3","INCOMING_CALL_LISTENER","on","LINE_EVENT_KEYS","INCOMING_CALL","callObj","Eventing"],"sources":["index.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {v4 as uuid} from 'uuid';\nimport {METHOD_START_MESSAGE} from '../../common/constants';\nimport {\n CallDetails,\n CallDirection,\n CorrelationId,\n IDeviceInfo,\n MobiusDeviceId,\n RegistrationStatus,\n ServiceData,\n ServiceIndicator,\n} from '../../common/types';\nimport {ILine, LINE_EVENTS} from './types';\nimport {LINE_FILE, METHODS, VALID_PHONE_REGEX} from '../constants';\nimport log from '../../Logger';\nimport {IRegistration} from '../registration/types';\nimport {createRegistration} from '../registration';\nimport {ISDKConnector, WebexSDK} from '../../SDKConnector/types';\nimport {CallingClientConfig} from '../types';\nimport {Eventing} from '../../Events/impl';\nimport {LineError} from '../../Errors/catalog/LineError';\nimport {LOGGER} from '../../Logger/types';\nimport {validateServiceData} from '../../common';\nimport SDKConnector from '../../SDKConnector';\nimport {LINE_EVENT_KEYS, LineEventTypes} from '../../Events/types';\nimport {ICall, ICallManager} from '../calling/types';\nimport {getCallManager} from '../calling/callManager';\nimport {ERROR_TYPE} from '../../Errors/types';\n\nexport default class Line extends Eventing<LineEventTypes> implements ILine {\n #webex: WebexSDK;\n\n #mutex: Mutex;\n\n #sdkConnector: ISDKConnector;\n\n public registration: IRegistration;\n\n public userId: string;\n\n public clientDeviceUri: string;\n\n public lineId: string;\n\n public mobiusDeviceId?: string;\n\n private mobiusUri?: string;\n\n public phoneNumber?: string;\n\n public extension?: string;\n\n public sipAddresses: string[] = [];\n\n public voicemail?: string;\n\n public lastSeen?: string;\n\n public keepaliveInterval?: number;\n\n public callKeepaliveInterval?: number;\n\n public rehomingIntervalMin?: number;\n\n public rehomingIntervalMax?: number;\n\n public voicePortalNumber?: number;\n\n public voicePortalExtension?: number;\n\n private callManager: ICallManager;\n\n private serviceData: ServiceData;\n\n #primaryMobiusUris: string[];\n\n #backupMobiusUris: string[];\n\n constructor(\n userId: string,\n clientDeviceUri: string,\n mutex: Mutex,\n primaryMobiusUris: string[],\n backupMobiusUris: string[],\n logLevel: LOGGER,\n serviceDataConfig?: CallingClientConfig['serviceData'],\n jwe?: string,\n phoneNumber?: string,\n extension?: string,\n voicemail?: string\n ) {\n super();\n this.lineId = uuid();\n this.userId = userId;\n this.clientDeviceUri = clientDeviceUri;\n this.phoneNumber = phoneNumber;\n this.extension = extension;\n this.voicemail = voicemail;\n\n this.#sdkConnector = SDKConnector;\n this.#webex = this.#sdkConnector.getWebex();\n this.#mutex = mutex;\n\n this.#primaryMobiusUris = primaryMobiusUris;\n this.#backupMobiusUris = backupMobiusUris;\n\n this.serviceData = serviceDataConfig?.indicator\n ? serviceDataConfig\n : {indicator: ServiceIndicator.CALLING, domain: ''};\n\n validateServiceData(this.serviceData);\n\n this.registration = createRegistration(\n this.#webex,\n this.serviceData,\n this.#mutex,\n this.lineEmitter,\n logLevel,\n jwe\n );\n\n log.setLogger(logLevel, LINE_FILE);\n\n this.callManager = getCallManager(this.#webex, this.serviceData.indicator);\n\n this.incomingCallListener();\n }\n\n /**\n * Wrapper to for device registration.\n */\n public async register() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.REGISTER,\n });\n await this.#mutex.runExclusive(async () => {\n this.emit(LINE_EVENTS.CONNECTING);\n\n this.registration.setMobiusServers(this.#primaryMobiusUris, this.#backupMobiusUris);\n await this.registration.triggerRegistration();\n });\n }\n\n /**\n * Wrapper to for device deregister.\n */\n public async deregister() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.DEREGISTER,\n });\n await this.registration.deregister();\n this.registration.setStatus(RegistrationStatus.IDLE);\n }\n\n /**\n * To normalize line class with Mobius response\n */\n private normalizeLine(deviceInfo: IDeviceInfo) {\n const {\n device,\n keepaliveInterval,\n callKeepaliveInterval,\n rehomingIntervalMin,\n rehomingIntervalMax,\n voicePortalNumber,\n voicePortalExtension,\n } = deviceInfo;\n\n this.mobiusDeviceId = device?.deviceId;\n this.mobiusUri = device?.uri;\n this.lastSeen = device?.lastSeen;\n this.sipAddresses = device?.addresses ?? [];\n this.keepaliveInterval = keepaliveInterval;\n this.callKeepaliveInterval = callKeepaliveInterval;\n this.rehomingIntervalMin = rehomingIntervalMin;\n this.rehomingIntervalMax = rehomingIntervalMax;\n this.voicePortalNumber = voicePortalNumber;\n this.voicePortalExtension = voicePortalExtension;\n if (this.mobiusDeviceId) {\n this.callManager.updateLine(this.mobiusDeviceId, this);\n }\n }\n\n /**\n * Line events emitter\n */\n public lineEmitter = (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.LINE_EMITTER,\n });\n switch (event) {\n case LINE_EVENTS.REGISTERED:\n if (deviceInfo) {\n this.normalizeLine(deviceInfo);\n this.emit(event, this);\n }\n break;\n case LINE_EVENTS.UNREGISTERED:\n case LINE_EVENTS.RECONNECTED:\n case LINE_EVENTS.RECONNECTING:\n this.emit(event);\n break;\n case LINE_EVENTS.ERROR:\n if (lineError) {\n this.emit(event, lineError);\n }\n break;\n default:\n break;\n }\n };\n\n /**\n * To get the current log Level.\n */\n public getLoggingLevel(): LOGGER {\n return log.getLogLevel();\n }\n\n /**\n * To get active url of Mobius.\n */\n public getActiveMobiusUrl(): string {\n return this.registration.getActiveMobiusUrl();\n }\n\n /**\n * Gets registration status\n */\n public getStatus = (): RegistrationStatus => this.registration.getStatus();\n\n /**\n * Gets device id\n */\n public getDeviceId = (): MobiusDeviceId | undefined =>\n this.registration.getDeviceInfo().device?.deviceId;\n\n /**\n * Initiates a call to the specified destination.\n * @param dest - The call details including destination information.\n */\n public makeCall = (dest?: CallDetails): ICall | undefined => {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n let call;\n\n if (dest) {\n const match = dest.address.match(VALID_PHONE_REGEX);\n\n if (match && match[0].length === dest.address.length) {\n const sanitizedNumber = dest.address\n .replace(/[^[*+]\\d#]/gi, '')\n .replace(/\\s+/gi, '')\n .replace(/-/gi, '');\n const formattedDest = {\n type: dest.type,\n address: `tel:${sanitizedNumber}`,\n };\n\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId,\n formattedDest\n );\n log.log(`New call created, callId: ${call?.getCallId()}`, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n } else {\n log.warn('Invalid phone number detected', {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n\n const err = new LineError(\n 'An invalid phone number was detected. Check the number and try again.',\n {},\n ERROR_TYPE.CALL_ERROR,\n RegistrationStatus.ACTIVE\n );\n\n this.emit(LINE_EVENTS.ERROR, err);\n }\n\n return call;\n }\n if (this.serviceData.indicator === ServiceIndicator.GUEST_CALLING) {\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId\n );\n log.info(`New guest call created, callId: ${call.getCallId()}`, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n\n return call;\n }\n\n return undefined;\n };\n\n /**\n * An Incoming Call listener.\n */\n private incomingCallListener() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.INCOMING_CALL_LISTENER,\n });\n log.info('Listening for incoming calls... ', {\n file: LINE_FILE,\n method: METHODS.INCOMING_CALL_LISTENER,\n });\n this.callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n this.emit(LINE_EVENTS.INCOMING_CALL, callObj);\n });\n }\n\n /**\n * @param callId -.\n * @param correlationId -.\n */\n public getCall = (correlationId: CorrelationId): ICall => {\n return this.callManager.getCall(correlationId);\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_uuid","require","_constants","_types","_types2","_constants2","_Logger","_interopRequireDefault","_registration","_impl","_LineError","_common","_SDKConnector","_types3","_callManager","_types4","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","set","has","TypeError","_classPrivateFieldGet","s","get","_assertClassBrand","_classPrivateFieldSet","r","n","arguments","length","_webex","_weakMap","_mutex","_sdkConnector","_primaryMobiusUris","_backupMobiusUris","Line","exports","_Eventing","userId","clientDeviceUri","mutex","primaryMobiusUris","backupMobiusUris","logLevel","serviceDataConfig","jwe","phoneNumber","extension","voicemail","_this","_classCallCheck2","_defineProperty2","event","deviceInfo","lineError","log","info","METHOD_START_MESSAGE","file","LINE_FILE","method","METHODS","LINE_EMITTER","LINE_EVENTS","REGISTERED","normalizeLine","emit","UNREGISTERED","RECONNECTED","RECONNECTING","ERROR","registration","getStatus","_this$registration$ge","getDeviceInfo","device","deviceId","dest","MAKE_CALL","match","address","VALID_PHONE_REGEX","_this$registration$ge2","_call","sanitizedNumber","replace","formattedDest","type","concat","callManager","createCall","CallDirection","OUTBOUND","lineId","getCallId","warn","err","LineError","ERROR_TYPE","CALL_ERROR","RegistrationStatus","ACTIVE","serviceData","indicator","ServiceIndicator","GUEST_CALLING","_this$registration$ge3","undefined","correlationId","getCall","uuid","SDKConnector","getWebex","CALLING","domain","validateServiceData","createRegistration","lineEmitter","setLogger","getCallManager","incomingCallListener","_inherits2","_createClass2","key","value","_register","_asyncToGenerator2","_regenerator","mark","_callee2","_this2","wrap","_context2","prev","next","REGISTER","runExclusive","_callee","_context","CONNECTING","setMobiusServers","triggerRegistration","stop","register","_deregister","_callee3","_context3","DEREGISTER","deregister","setStatus","IDLE","_device$addresses","keepaliveInterval","callKeepaliveInterval","rehomingIntervalMin","rehomingIntervalMax","voicePortalNumber","voicePortalExtension","mobiusDeviceId","mobiusUri","uri","lastSeen","sipAddresses","addresses","updateLine","getLoggingLevel","getLogLevel","getActiveMobiusUrl","_this3","INCOMING_CALL_LISTENER","on","LINE_EVENT_KEYS","INCOMING_CALL","callObj","Eventing"],"sources":["index.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {v4 as uuid} from 'uuid';\nimport {METHOD_START_MESSAGE} from '../../common/constants';\nimport {\n CallDetails,\n CallDirection,\n CorrelationId,\n IDeviceInfo,\n MobiusDeviceId,\n RegistrationStatus,\n ServiceData,\n ServiceIndicator,\n} from '../../common/types';\nimport {ILine, LINE_EVENTS} from './types';\nimport {LINE_FILE, METHODS, VALID_PHONE_REGEX} from '../constants';\nimport log from '../../Logger';\nimport {IRegistration} from '../registration/types';\nimport {createRegistration} from '../registration';\nimport {ISDKConnector, WebexSDK} from '../../SDKConnector/types';\nimport {CallingClientConfig} from '../types';\nimport {Eventing} from '../../Events/impl';\nimport {LineError} from '../../Errors/catalog/LineError';\nimport {LOGGER} from '../../Logger/types';\nimport {validateServiceData} from '../../common';\nimport SDKConnector from '../../SDKConnector';\nimport {LINE_EVENT_KEYS, LineEventTypes} from '../../Events/types';\nimport {ICall, ICallManager} from '../calling/types';\nimport {getCallManager} from '../calling/callManager';\nimport {ERROR_TYPE} from '../../Errors/types';\n\nexport default class Line extends Eventing<LineEventTypes> implements ILine {\n #webex: WebexSDK;\n\n #mutex: Mutex;\n\n #sdkConnector: ISDKConnector;\n\n public registration: IRegistration;\n\n public userId: string;\n\n public clientDeviceUri: string;\n\n public lineId: string;\n\n public mobiusDeviceId?: string;\n\n private mobiusUri?: string;\n\n public phoneNumber?: string;\n\n public extension?: string;\n\n public sipAddresses: string[] = [];\n\n public voicemail?: string;\n\n public lastSeen?: string;\n\n public keepaliveInterval?: number;\n\n public callKeepaliveInterval?: number;\n\n public rehomingIntervalMin?: number;\n\n public rehomingIntervalMax?: number;\n\n public voicePortalNumber?: number;\n\n public voicePortalExtension?: number;\n\n private callManager: ICallManager;\n\n private serviceData: ServiceData;\n\n #primaryMobiusUris: string[];\n\n #backupMobiusUris: string[];\n\n constructor(\n userId: string,\n clientDeviceUri: string,\n mutex: Mutex,\n primaryMobiusUris: string[],\n backupMobiusUris: string[],\n logLevel: LOGGER,\n serviceDataConfig?: CallingClientConfig['serviceData'],\n jwe?: string,\n phoneNumber?: string,\n extension?: string,\n voicemail?: string\n ) {\n super();\n this.lineId = uuid();\n this.userId = userId;\n this.clientDeviceUri = clientDeviceUri;\n this.phoneNumber = phoneNumber;\n this.extension = extension;\n this.voicemail = voicemail;\n\n this.#sdkConnector = SDKConnector;\n this.#webex = this.#sdkConnector.getWebex();\n this.#mutex = mutex;\n\n this.#primaryMobiusUris = primaryMobiusUris;\n this.#backupMobiusUris = backupMobiusUris;\n\n this.serviceData = serviceDataConfig?.indicator\n ? serviceDataConfig\n : {indicator: ServiceIndicator.CALLING, domain: ''};\n\n validateServiceData(this.serviceData);\n\n this.registration = createRegistration(\n this.#webex,\n this.serviceData,\n this.#mutex,\n this.lineEmitter,\n logLevel,\n jwe\n );\n\n log.setLogger(logLevel, LINE_FILE);\n\n this.callManager = getCallManager(this.#webex, this.serviceData.indicator);\n\n this.incomingCallListener();\n }\n\n /**\n * Wrapper to for device registration.\n */\n public async register() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.REGISTER,\n });\n await this.#mutex.runExclusive(async () => {\n this.emit(LINE_EVENTS.CONNECTING);\n\n this.registration.setMobiusServers(this.#primaryMobiusUris, this.#backupMobiusUris);\n await this.registration.triggerRegistration();\n });\n }\n\n /**\n * Wrapper to for device deregister.\n */\n public async deregister() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.DEREGISTER,\n });\n await this.registration.deregister();\n this.registration.setStatus(RegistrationStatus.IDLE);\n }\n\n /**\n * To normalize line class with Mobius response\n */\n private normalizeLine(deviceInfo: IDeviceInfo) {\n const {\n device,\n keepaliveInterval,\n callKeepaliveInterval,\n rehomingIntervalMin,\n rehomingIntervalMax,\n voicePortalNumber,\n voicePortalExtension,\n } = deviceInfo;\n\n this.mobiusDeviceId = device?.deviceId;\n this.mobiusUri = device?.uri;\n this.lastSeen = device?.lastSeen;\n this.sipAddresses = device?.addresses ?? [];\n this.keepaliveInterval = keepaliveInterval;\n this.callKeepaliveInterval = callKeepaliveInterval;\n this.rehomingIntervalMin = rehomingIntervalMin;\n this.rehomingIntervalMax = rehomingIntervalMax;\n this.voicePortalNumber = voicePortalNumber;\n this.voicePortalExtension = voicePortalExtension;\n if (this.mobiusDeviceId) {\n this.callManager.updateLine(this.mobiusDeviceId, this);\n }\n }\n\n /**\n * Line events emitter\n */\n public lineEmitter = (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.LINE_EMITTER,\n });\n switch (event) {\n case LINE_EVENTS.REGISTERED:\n if (deviceInfo) {\n this.normalizeLine(deviceInfo);\n this.emit(event, this);\n }\n break;\n case LINE_EVENTS.UNREGISTERED:\n case LINE_EVENTS.RECONNECTED:\n case LINE_EVENTS.RECONNECTING:\n this.emit(event);\n break;\n case LINE_EVENTS.ERROR:\n if (lineError) {\n this.emit(event, lineError);\n }\n break;\n default:\n break;\n }\n };\n\n /**\n * To get the current log Level.\n */\n public getLoggingLevel(): LOGGER {\n return log.getLogLevel();\n }\n\n /**\n * To get active url of Mobius.\n */\n public getActiveMobiusUrl(): string {\n return this.registration.getActiveMobiusUrl();\n }\n\n /**\n * Gets registration status\n */\n public getStatus = (): RegistrationStatus => this.registration.getStatus();\n\n /**\n * Gets device id\n */\n public getDeviceId = (): MobiusDeviceId | undefined =>\n this.registration.getDeviceInfo().device?.deviceId;\n\n /**\n * Initiates a call to the specified destination.\n * @param dest - The call details including destination information.\n */\n public makeCall = (dest?: CallDetails): ICall | undefined => {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n let call;\n\n if (dest) {\n const match = dest.address.match(VALID_PHONE_REGEX);\n\n if (match && match[0].length === dest.address.length) {\n const sanitizedNumber = dest.address\n .replace(/[^[*+]\\d#]/gi, '')\n .replace(/\\s+/gi, '')\n .replace(/-/gi, '');\n const formattedDest = {\n type: dest.type,\n address: `tel:${sanitizedNumber}`,\n };\n\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId,\n formattedDest\n );\n log.log(`New call created, callId: ${call?.getCallId()}`, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n } else {\n log.warn('Invalid phone number detected', {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n\n const err = new LineError(\n 'An invalid phone number was detected. Check the number and try again.',\n {},\n ERROR_TYPE.CALL_ERROR,\n RegistrationStatus.ACTIVE\n );\n\n this.emit(LINE_EVENTS.ERROR, err);\n }\n\n return call;\n }\n if (this.serviceData.indicator === ServiceIndicator.GUEST_CALLING) {\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId\n );\n log.info(`New guest call created, callId: ${call.getCallId()}`, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n\n return call;\n }\n\n return undefined;\n };\n\n /**\n * An Incoming Call listener.\n */\n private incomingCallListener() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.INCOMING_CALL_LISTENER,\n });\n log.info('Listening for incoming calls... ', {\n file: LINE_FILE,\n method: METHODS.INCOMING_CALL_LISTENER,\n });\n this.callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n this.emit(LINE_EVENTS.INCOMING_CALL, callObj);\n });\n }\n\n /**\n * @param callId -.\n * @param correlationId -.\n */\n public getCall = (correlationId: CorrelationId): ICall => {\n return this.callManager.getCall(correlationId);\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -76,16 +76,16 @@ describe('Line Tests', function () {
76
76
  line.removeAllListeners();
77
77
  });
78
78
  it('verify successful Registration cases and keepalive', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
79
- return _regenerator.default.wrap(function _callee$(_context) {
79
+ return _regenerator.default.wrap(function (_context) {
80
80
  while (1) switch (_context.prev = _context.next) {
81
81
  case 0:
82
82
  jest.useFakeTimers();
83
83
  webex.request.mockReturnValue(registrationPayload);
84
84
  expect(createRegistrationSpy).toBeCalledOnceWith(webex, defaultServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO, undefined);
85
85
  expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
86
- _context.next = 6;
86
+ _context.next = 1;
87
87
  return line.register();
88
- case 6:
88
+ case 1:
89
89
  expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
90
90
  body: {
91
91
  userId: userId,
@@ -103,11 +103,11 @@ describe('Line Tests', function () {
103
103
  expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);
104
104
  webex.request.mockClear();
105
105
  jest.advanceTimersByTime(30 * 1000);
106
- _context.next = 17;
106
+ _context.next = 2;
107
107
  return _promise.default.resolve();
108
- case 17:
108
+ case 2:
109
109
  jest.useRealTimers();
110
- case 18:
110
+ case 3:
111
111
  case "end":
112
112
  return _context.stop();
113
113
  }
@@ -115,7 +115,7 @@ describe('Line Tests', function () {
115
115
  })));
116
116
  it('verify successful Registration cases and keepalive for a guest user', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
117
117
  var guestLine;
118
- return _regenerator.default.wrap(function _callee2$(_context2) {
118
+ return _regenerator.default.wrap(function (_context2) {
119
119
  while (1) switch (_context2.prev = _context2.next) {
120
120
  case 0:
121
121
  createRegistrationSpy.mockClear();
@@ -124,9 +124,9 @@ describe('Line Tests', function () {
124
124
  webex.request.mockReturnValue(registrationPayload);
125
125
  expect(createRegistrationSpy).toBeCalledOnceWith(webex, guestServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO, mockJwe);
126
126
  expect(guestLine.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
127
- _context2.next = 8;
127
+ _context2.next = 1;
128
128
  return guestLine.register();
129
- case 8:
129
+ case 1:
130
130
  expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
131
131
  body: {
132
132
  userId: userId,
@@ -145,18 +145,18 @@ describe('Line Tests', function () {
145
145
  expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);
146
146
  webex.request.mockClear();
147
147
  jest.advanceTimersByTime(30 * 1000);
148
- _context2.next = 18;
148
+ _context2.next = 2;
149
149
  return _promise.default.resolve();
150
- case 18:
150
+ case 2:
151
151
  jest.useRealTimers();
152
- case 19:
152
+ case 3:
153
153
  case "end":
154
154
  return _context2.stop();
155
155
  }
156
156
  }, _callee2);
157
157
  })));
158
158
  it('verify failure Registration cases all requests fail ', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
159
- return _regenerator.default.wrap(function _callee3$(_context3) {
159
+ return _regenerator.default.wrap(function (_context3) {
160
160
  while (1) switch (_context3.prev = _context3.next) {
161
161
  case 0:
162
162
  line.removeAllListeners(_types2.LINE_EVENTS.ERROR);
@@ -168,35 +168,35 @@ describe('Line Tests', function () {
168
168
  });
169
169
  expect(line.getStatus()).toBe(_types.RegistrationStatus.IDLE);
170
170
  line.register();
171
- _context3.next = 7;
171
+ _context3.next = 1;
172
172
  return utils.waitForMsecs(20);
173
- case 7:
173
+ case 1:
174
174
  expect(line.getStatus()).toBe(_types.RegistrationStatus.INACTIVE);
175
175
  expect(handleErrorSpy).toBeCalledOnceWith(expect.anything(), expect.anything(), {
176
176
  file: _constants.REGISTRATION_FILE,
177
177
  method: 'triggerRegistration'
178
178
  }, expect.anything(), expect.anything());
179
- case 9:
179
+ case 2:
180
180
  case "end":
181
181
  return _context3.stop();
182
182
  }
183
183
  }, _callee3);
184
184
  })));
185
185
  it('verify successful de-registration cases', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
186
- return _regenerator.default.wrap(function _callee4$(_context4) {
186
+ return _regenerator.default.wrap(function (_context4) {
187
187
  while (1) switch (_context4.prev = _context4.next) {
188
188
  case 0:
189
189
  webex.request.mockReturnValueOnce(registrationPayload);
190
190
  expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
191
- _context4.next = 4;
191
+ _context4.next = 1;
192
192
  return line.register();
193
- case 4:
193
+ case 1:
194
194
  expect(line.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
195
- _context4.next = 7;
195
+ _context4.next = 2;
196
196
  return line.deregister();
197
- case 7:
197
+ case 2:
198
198
  expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
199
- case 8:
199
+ case 3:
200
200
  case "end":
201
201
  return _context4.stop();
202
202
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","jest","spyOn","mockResolvedValue","undefined","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","fn","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","mockJwe","guestServiceData","GUEST_CALLING","guestName","handleErrorSpy","global","fetch","request","clearAllMocks","line","mockRegistrationBody","getMockDeviceInfo","discoveryBody","primaryUrl","concat","uris","registrationPayload","statusCode","body","beforeEach","Line","LOGGER","INFO","afterEach","clearAllTimers","useRealTimers","removeAllListeners","it","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","useFakeTimers","mockReturnValue","expect","toBeCalledOnceWith","any","anything","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","callManager","lineDict","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","guestLine","_callee2$","_context2","jwe","_callee3","_callee3$","_context3","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","INACTIVE","file","REGISTRATION_FILE","_callee4","_callee4$","_context4","mockReturnValueOnce","deregister","createCallSpy","makeCall","address","type","CallType","URI","CallDirection","OUTBOUND","lineId","toBeTruthy","getCall","getCorrelationId","direction","toStrictEqual","end","destination","done","toBeUndefined","assertions","toBeCalledWith","String"],"sources":["line.test.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {\n getMobiusDiscoveryResponse,\n getMockDeviceInfo,\n getMockRequestTemplate,\n getTestUtilsWebex,\n} from '../../common/testUtil';\nimport {URL} from '../registration/registerFixtures';\nimport {filterMobiusUris} from '../../common';\nimport {\n CallDirection,\n CallType,\n MobiusServers,\n RegistrationStatus,\n ServiceIndicator,\n WebexRequestPayload,\n} from '../../common/types';\nimport {LINE_EVENTS} from './types';\nimport Line from '.';\nimport * as utils from '../../common/Utils';\nimport SDKConnector from '../../SDKConnector';\nimport {REGISTRATION_FILE} from '../constants';\nimport {LOGGER} from '../../Logger/types';\nimport * as regUtils from '../registration/register';\n\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Line Tests', () => {\n const mutex = new Mutex();\n const webex = getTestUtilsWebex();\n SDKConnector.setWebex(webex);\n\n const defaultServiceData = {indicator: ServiceIndicator.CALLING, domain: ''};\n const createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');\n\n const mobiusUris = filterMobiusUris(getMobiusDiscoveryResponse(), URL);\n const primaryMobiusUris = jest.fn(() => mobiusUris.primary);\n const backupMobiusUris = jest.fn(() => mobiusUris.backup);\n const userId = webex.internal.device.userId;\n const clientDeviceUri = webex.internal.device.url;\n const mockJwe = 'mockJwe';\n const guestServiceData = {\n indicator: ServiceIndicator.GUEST_CALLING,\n domain: '',\n guestName: 'testUser',\n };\n\n const handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');\n // Simulate node fetch by adding the mock webex.request\n global.fetch = webex.request;\n\n jest.clearAllMocks();\n\n describe('Line Registration tests', () => {\n let line;\n const mockRegistrationBody = getMockDeviceInfo();\n\n const discoveryBody: MobiusServers = getMobiusDiscoveryResponse();\n const primaryUrl = `${discoveryBody.primary.uris[0]}/calling/web/`;\n\n const registrationPayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: mockRegistrationBody,\n });\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n\n it('verify successful Registration cases and keepalive', async () => {\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n defaultServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n undefined\n );\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: defaultServiceData,\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(line.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify successful Registration cases and keepalive for a guest user', async () => {\n createRegistrationSpy.mockClear();\n const guestLine = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n guestServiceData,\n mockJwe\n );\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n guestServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n mockJwe\n );\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.IDLE);\n await guestLine.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: {...guestServiceData, jwe: mockJwe},\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(guestLine.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify failure Registration cases all requests fail ', async () => {\n line.removeAllListeners(LINE_EVENTS.ERROR);\n\n webex.request.mockRejectedValue({\n statusCode: 401,\n });\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'User is unauthorized due to an expired token. Sign out, then sign back in.'\n );\n });\n\n expect(line.getStatus()).toBe(RegistrationStatus.IDLE);\n line.register();\n await utils.waitForMsecs(20);\n\n expect(line.getStatus()).toBe(RegistrationStatus.INACTIVE);\n expect(handleErrorSpy).toBeCalledOnceWith(\n expect.anything(),\n expect.anything(),\n {\n file: REGISTRATION_FILE,\n method: 'triggerRegistration',\n },\n expect.anything(),\n expect.anything()\n );\n });\n\n it('verify successful de-registration cases', async () => {\n webex.request.mockReturnValueOnce(registrationPayload);\n\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n\n await line.deregister();\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n });\n });\n\n describe('Line calling tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n it('Return a successful call object while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '5003', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:5003',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Return a successful call object while making call to FAC codes', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '*25', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:*25',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Remove spaces from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '+91 123 456 7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:+911234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');\n call?.end();\n });\n\n it('Remove hyphen from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '123-456-7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:1234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');\n call?.end();\n });\n\n it('attempt to create call with incorrect number format 1', (done) => {\n // There may be other listeners , which may create race\n line.removeAllListeners(LINE_EVENTS.ERROR);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n try {\n const call = line.makeCall({address: 'select#$@^^', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with incorrect number format 2', (done) => {\n expect.assertions(4);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n\n try {\n const call = line.makeCall({address: '+1@8883332505', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with guest calling service indicator', () => {\n expect.assertions(2);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n // Mocking the serviceData to have GUEST_CALLING indicator\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n {indicator: ServiceIndicator.GUEST_CALLING}\n );\n const call = line.makeCall();\n\n expect(call).toBeTruthy();\n expect(createCallSpy).toBeCalledWith(CallDirection.OUTBOUND, undefined, expect.any(String));\n });\n });\n});\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAMA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAQA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,CAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAC,uBAAA,CAAAT,OAAA;AACA,IAAAU,aAAA,GAAAH,sBAAA,CAAAP,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AACA,IAAAa,QAAA,GAAAJ,uBAAA,CAAAT,OAAA;AAAqD,SAAAS,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,QAAA,MAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAP,uBAAA,YAAAA,wBAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,gBAAAW,OAAA,CAAAX,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAM,GAAA,CAAAZ,CAAA,UAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,GAAAM,CAAA,CAAAQ,GAAA,CAAAd,CAAA,EAAAQ,CAAA,cAAAO,EAAA,IAAAf,CAAA,gBAAAe,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,EAAA,OAAAR,CAAA,IAAAD,CAAA,GAAAY,sBAAA,KAAAC,gCAAA,CAAAnB,CAAA,EAAAe,EAAA,OAAAR,CAAA,CAAAM,GAAA,IAAAN,CAAA,CAAAO,GAAA,IAAAR,CAAA,CAAAE,CAAA,EAAAO,EAAA,EAAAR,CAAA,IAAAC,CAAA,CAAAO,EAAA,IAAAf,CAAA,CAAAe,EAAA,WAAAP,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,QAAApB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAoB,YAAA,CAAArB,CAAA,OAAAsB,6BAAA,QAAAhB,CAAA,GAAAgB,6BAAA,CAAAtB,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAiB,MAAA,WAAApB,CAAA,WAAAgB,gCAAA,CAAAnB,CAAA,EAAAG,CAAA,EAAAqB,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAA0B,cAAA3B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAyB,SAAA,CAAAC,MAAA,EAAA1B,CAAA,UAAAF,CAAA,WAAA2B,SAAA,CAAAzB,CAAA,IAAAyB,SAAA,CAAAzB,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAU,MAAA,CAAA7B,CAAA,OAAA8B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,CAAAtB,OAAA,EAAAV,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAA8B,iCAAA,GAAAC,wBAAA,CAAAlC,CAAA,EAAAiC,iCAAA,CAAAhC,CAAA,KAAAmB,OAAA,CAAAU,MAAA,CAAA7B,CAAA,GAAA8B,OAAA,WAAA5B,CAAA,IAAAe,sBAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAgB,gCAAA,CAAAlB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAErDmC,IAAI,CAACC,KAAK,CAAC1C,KAAK,EAAE,YAAY,CAAC,CAAC2C,iBAAiB,CAACC,SAAS,CAAC;AAE5DC,QAAQ,CAAC,YAAY,EAAE,YAAM;EAC3B,IAAMC,KAAK,GAAG,IAAIC,iBAAK,CAAC,CAAC;EACzB,IAAMC,KAAK,GAAG,IAAAC,2BAAiB,EAAC,CAAC;EACjCC,qBAAY,CAACC,QAAQ,CAACH,KAAK,CAAC;EAE5B,IAAMI,kBAAkB,GAAG;IAACC,SAAS,EAAEC,uBAAgB,CAACC,OAAO;IAAEC,MAAM,EAAE;EAAE,CAAC;EAC5E,IAAMC,qBAAqB,GAAGhB,IAAI,CAACC,KAAK,CAACrC,QAAQ,EAAE,oBAAoB,CAAC;EAExE,IAAMqD,UAAU,GAAG,IAAAC,wBAAgB,EAAC,IAAAC,oCAA0B,EAAC,CAAC,EAAEC,qBAAG,CAAC;EACtE,IAAMC,iBAAiB,GAAGrB,IAAI,CAACsB,EAAE,CAAC;IAAA,OAAML,UAAU,CAACM,OAAO;EAAA,EAAC;EAC3D,IAAMC,gBAAgB,GAAGxB,IAAI,CAACsB,EAAE,CAAC;IAAA,OAAML,UAAU,CAACQ,MAAM;EAAA,EAAC;EACzD,IAAMC,MAAM,GAAGnB,KAAK,CAACoB,QAAQ,CAACC,MAAM,CAACF,MAAM;EAC3C,IAAMG,eAAe,GAAGtB,KAAK,CAACoB,QAAQ,CAACC,MAAM,CAACE,GAAG;EACjD,IAAMC,OAAO,GAAG,SAAS;EACzB,IAAMC,gBAAgB,GAAG;IACvBpB,SAAS,EAAEC,uBAAgB,CAACoB,aAAa;IACzClB,MAAM,EAAE,EAAE;IACVmB,SAAS,EAAE;EACb,CAAC;EAED,IAAMC,cAAc,GAAGnC,IAAI,CAACC,KAAK,CAAC1C,KAAK,EAAE,0BAA0B,CAAC;EACpE;EACA6E,MAAM,CAACC,KAAK,GAAG9B,KAAK,CAAC+B,OAAO;EAE5BtC,IAAI,CAACuC,aAAa,CAAC,CAAC;EAEpBnC,QAAQ,CAAC,yBAAyB,EAAE,YAAM;IACxC,IAAIoC,IAAI;IACR,IAAMC,oBAAoB,GAAG,IAAAC,2BAAiB,EAAC,CAAC;IAEhD,IAAMC,aAA4B,GAAG,IAAAxB,oCAA0B,EAAC,CAAC;IACjE,IAAMyB,UAAU,MAAAC,MAAA,CAAMF,aAAa,CAACpB,OAAO,CAACuB,IAAI,CAAC,CAAC,CAAC,kBAAe;IAElE,IAAMC,mBAAmB,GAAkC;MACzDC,UAAU,EAAE,GAAG;MACfC,IAAI,EAAER;IACR,CAAE;IAEFS,UAAU,CAAC,YAAM;MACfV,IAAI,GAAG,IAAIW,SAAI,CACbzB,MAAM,EACNG,eAAe,EACfxB,KAAK,EACLgB,iBAAiB,CAAC,CAAC,EACnBG,gBAAgB,CAAC,CAAC,EAClB4B,cAAM,CAACC,IACT,CAAC;IACH,CAAC,CAAC;IAEFC,SAAS,CAAC,YAAM;MACdtD,IAAI,CAACuD,cAAc,CAAC,CAAC;MACrBvD,IAAI,CAACuC,aAAa,CAAC,CAAC;MACpBvC,IAAI,CAACwD,aAAa,CAAC,CAAC;MACpBhB,IAAI,CAACiB,kBAAkB,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEFC,EAAE,CAAC,oDAAoD,mBAAAC,kBAAA,CAAApF,OAAA,eAAAqF,YAAA,CAAArF,OAAA,CAAAsF,IAAA,CAAE,SAAAC,QAAA;MAAA,OAAAF,YAAA,CAAArF,OAAA,CAAAwF,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACvDnE,IAAI,CAACoE,aAAa,CAAC,CAAC;YACpB7D,KAAK,CAAC+B,OAAO,CAAC+B,eAAe,CAACtB,mBAAmB,CAAC;YAElDuB,MAAM,CAACtD,qBAAqB,CAAC,CAACuD,kBAAkB,CAC9ChE,KAAK,EACLI,kBAAkB,EAClB2D,MAAM,CAACE,GAAG,CAAClE,iBAAK,CAAC,EACjBgE,MAAM,CAACG,QAAQ,CAAC,CAAC,EACjBrB,cAAM,CAACC,IAAI,EACXlD,SACF,CAAC;YACDmE,MAAM,CAAC9B,IAAI,CAACkC,SAAS,CAAC,CAAC,CAAC,CAACC,OAAO,CAACC,yBAAkB,CAACC,IAAI,CAAC;YAACZ,QAAA,CAAAE,IAAA;YAAA,OACpD3B,IAAI,CAACsC,QAAQ,CAAC,CAAC;UAAA;YAErBR,MAAM,CAAC/D,KAAK,CAAC+B,OAAO,CAAC,CAACiC,kBAAkB,CAAA/E,aAAA,CAAAA,aAAA,KACnC,IAAAuF,gCAAsB,EAAC,CAAC;cAC3B9B,IAAI,EAAE;gBACJvB,MAAM,EAANA,MAAM;gBACNG,eAAe,EAAfA,eAAe;gBACfmD,WAAW,EAAErE;cACf,CAAC;cACDsE,GAAG,KAAApC,MAAA,CAAKD,UAAU,WAAQ;cAC1BsC,MAAM,EAAE;YAAM,EACf,CAAC;YACFZ,MAAM,CAACnC,cAAc,CAAC,CAACgD,GAAG,CAACC,UAAU,CAAC,CAAC;YAEvCd,MAAM,CAAC9B,IAAI,CAACkC,SAAS,CAAC,CAAC,CAAC,CAACC,OAAO,CAACC,yBAAkB,CAACS,MAAM,CAAC;YAC3Df,MAAM,CAAC9B,IAAI,CAAC8C,kBAAkB,CAAC,CAAC,CAAC,CAACX,OAAO,CAAC/B,UAAU,CAAC;YACrD0B,MAAM,CAAC9B,IAAI,CAAC+C,eAAe,CAAC,CAAC,CAAC,CAACZ,OAAO,CAACvB,cAAM,CAACC,IAAI,CAAC;YACnDiB,MAAM,CAAC9B,IAAI,CAACgD,WAAW,CAAC,CAAC,CAAC,CAACb,OAAO,CAAClC,oBAAoB,CAACb,MAAM,CAAC6D,QAAQ,CAAC;YACxEnB,MAAM,CAAC9B,IAAI,CAACkD,WAAW,CAACC,QAAQ,CAAClD,oBAAoB,CAACb,MAAM,CAAC6D,QAAQ,CAAC,CAAC,CAACd,OAAO,CAACnC,IAAI,CAAC;YAErFjC,KAAK,CAAC+B,OAAO,CAACsD,SAAS,CAAC,CAAC;YAEzB5F,IAAI,CAAC6F,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC;YAAC5B,QAAA,CAAAE,IAAA;YAAA,OAC9B2B,QAAA,CAAAvH,OAAA,CAAQwH,OAAO,CAAC,CAAC;UAAA;YAEvB/F,IAAI,CAACwD,aAAa,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAS,QAAA,CAAA+B,IAAA;QAAA;MAAA,GAAAlC,OAAA;IAAA,CACtB,GAAC;IAEFJ,EAAE,CAAC,qEAAqE,mBAAAC,kBAAA,CAAApF,OAAA,eAAAqF,YAAA,CAAArF,OAAA,CAAAsF,IAAA,CAAE,SAAAoC,SAAA;MAAA,IAAAC,SAAA;MAAA,OAAAtC,YAAA,CAAArF,OAAA,CAAAwF,IAAA,UAAAoC,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAlC,IAAA,GAAAkC,SAAA,CAAAjC,IAAA;UAAA;YACxEnD,qBAAqB,CAAC4E,SAAS,CAAC,CAAC;YAC3BM,SAAS,GAAG,IAAI/C,SAAI,CACxBzB,MAAM,EACNG,eAAe,EACfxB,KAAK,EACLgB,iBAAiB,CAAC,CAAC,EACnBG,gBAAgB,CAAC,CAAC,EAClB4B,cAAM,CAACC,IAAI,EACXrB,gBAAgB,EAChBD,OACF,CAAC;YACD/B,IAAI,CAACoE,aAAa,CAAC,CAAC;YACpB7D,KAAK,CAAC+B,OAAO,CAAC+B,eAAe,CAACtB,mBAAmB,CAAC;YAElDuB,MAAM,CAACtD,qBAAqB,CAAC,CAACuD,kBAAkB,CAC9ChE,KAAK,EACLyB,gBAAgB,EAChBsC,MAAM,CAACE,GAAG,CAAClE,iBAAK,CAAC,EACjBgE,MAAM,CAACG,QAAQ,CAAC,CAAC,EACjBrB,cAAM,CAACC,IAAI,EACXtB,OACF,CAAC;YACDuC,MAAM,CAAC4B,SAAS,CAACxB,SAAS,CAAC,CAAC,CAAC,CAACC,OAAO,CAACC,yBAAkB,CAACC,IAAI,CAAC;YAACuB,SAAA,CAAAjC,IAAA;YAAA,OACzD+B,SAAS,CAACpB,QAAQ,CAAC,CAAC;UAAA;YAE1BR,MAAM,CAAC/D,KAAK,CAAC+B,OAAO,CAAC,CAACiC,kBAAkB,CAAA/E,aAAA,CAAAA,aAAA,KACnC,IAAAuF,gCAAsB,EAAC,CAAC;cAC3B9B,IAAI,EAAE;gBACJvB,MAAM,EAANA,MAAM;gBACNG,eAAe,EAAfA,eAAe;gBACfmD,WAAW,EAAAxF,aAAA,CAAAA,aAAA,KAAMwC,gBAAgB;kBAAEqE,GAAG,EAAEtE;gBAAO;cACjD,CAAC;cACDkD,GAAG,KAAApC,MAAA,CAAKD,UAAU,WAAQ;cAC1BsC,MAAM,EAAE;YAAM,EACf,CAAC;YACFZ,MAAM,CAACnC,cAAc,CAAC,CAACgD,GAAG,CAACC,UAAU,CAAC,CAAC;YAEvCd,MAAM,CAAC4B,SAAS,CAACxB,SAAS,CAAC,CAAC,CAAC,CAACC,OAAO,CAACC,yBAAkB,CAACS,MAAM,CAAC;YAChEf,MAAM,CAAC4B,SAAS,CAACZ,kBAAkB,CAAC,CAAC,CAAC,CAACX,OAAO,CAAC/B,UAAU,CAAC;YAC1D0B,MAAM,CAAC4B,SAAS,CAACX,eAAe,CAAC,CAAC,CAAC,CAACZ,OAAO,CAACvB,cAAM,CAACC,IAAI,CAAC;YACxDiB,MAAM,CAAC4B,SAAS,CAACV,WAAW,CAAC,CAAC,CAAC,CAACb,OAAO,CAAClC,oBAAoB,CAACb,MAAM,CAAC6D,QAAQ,CAAC;YAE7ElF,KAAK,CAAC+B,OAAO,CAACsD,SAAS,CAAC,CAAC;YAEzB5F,IAAI,CAAC6F,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC;YAACO,SAAA,CAAAjC,IAAA;YAAA,OAC9B2B,QAAA,CAAAvH,OAAA,CAAQwH,OAAO,CAAC,CAAC;UAAA;YAEvB/F,IAAI,CAACwD,aAAa,CAAC,CAAC;UAAC;UAAA;YAAA,OAAA4C,SAAA,CAAAJ,IAAA;QAAA;MAAA,GAAAC,QAAA;IAAA,CACtB,GAAC;IAEFvC,EAAE,CAAC,sDAAsD,mBAAAC,kBAAA,CAAApF,OAAA,eAAAqF,YAAA,CAAArF,OAAA,CAAAsF,IAAA,CAAE,SAAAyC,SAAA;MAAA,OAAA1C,YAAA,CAAArF,OAAA,CAAAwF,IAAA,UAAAwC,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAtC,IAAA,GAAAsC,SAAA,CAAArC,IAAA;UAAA;YACzD3B,IAAI,CAACiB,kBAAkB,CAACgD,mBAAW,CAACC,KAAK,CAAC;YAE1CnG,KAAK,CAAC+B,OAAO,CAACqE,iBAAiB,CAAC;cAC9B3D,UAAU,EAAE;YACd,CAAC,CAAC;YAEFR,IAAI,CAACoE,EAAE,CAACH,mBAAW,CAACC,KAAK,EAAE,UAACG,KAAK,EAAK;cACpCvC,MAAM,CAACuC,KAAK,CAACC,OAAO,CAAC,CAACC,IAAI,CACxB,4EACF,CAAC;YACH,CAAC,CAAC;YAEFzC,MAAM,CAAC9B,IAAI,CAACkC,SAAS,CAAC,CAAC,CAAC,CAACqC,IAAI,CAACnC,yBAAkB,CAACC,IAAI,CAAC;YACtDrC,IAAI,CAACsC,QAAQ,CAAC,CAAC;YAAC0B,SAAA,CAAArC,IAAA;YAAA,OACV5G,KAAK,CAACyJ,YAAY,CAAC,EAAE,CAAC;UAAA;YAE5B1C,MAAM,CAAC9B,IAAI,CAACkC,SAAS,CAAC,CAAC,CAAC,CAACqC,IAAI,CAACnC,yBAAkB,CAACqC,QAAQ,CAAC;YAC1D3C,MAAM,CAACnC,cAAc,CAAC,CAACoC,kBAAkB,CACvCD,MAAM,CAACG,QAAQ,CAAC,CAAC,EACjBH,MAAM,CAACG,QAAQ,CAAC,CAAC,EACjB;cACEyC,IAAI,EAAEC,4BAAiB;cACvBjC,MAAM,EAAE;YACV,CAAC,EACDZ,MAAM,CAACG,QAAQ,CAAC,CAAC,EACjBH,MAAM,CAACG,QAAQ,CAAC,CAClB,CAAC;UAAC;UAAA;YAAA,OAAA+B,SAAA,CAAAR,IAAA;QAAA;MAAA,GAAAM,QAAA;IAAA,CACH,GAAC;IAEF5C,EAAE,CAAC,yCAAyC,mBAAAC,kBAAA,CAAApF,OAAA,eAAAqF,YAAA,CAAArF,OAAA,CAAAsF,IAAA,CAAE,SAAAuD,SAAA;MAAA,OAAAxD,YAAA,CAAArF,OAAA,CAAAwF,IAAA,UAAAsD,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAApD,IAAA,GAAAoD,SAAA,CAAAnD,IAAA;UAAA;YAC5C5D,KAAK,CAAC+B,OAAO,CAACiF,mBAAmB,CAACxE,mBAAmB,CAAC;YAEtDuB,MAAM,CAAC9B,IAAI,CAACkC,SAAS,CAAC,CAAC,CAAC,CAACC,OAAO,CAACC,yBAAkB,CAACC,IAAI,CAAC;YAACyC,SAAA,CAAAnD,IAAA;YAAA,OACpD3B,IAAI,CAACsC,QAAQ,CAAC,CAAC;UAAA;YACrBR,MAAM,CAAC9B,IAAI,CAACkC,SAAS,CAAC,CAAC,CAAC,CAACC,OAAO,CAACC,yBAAkB,CAACS,MAAM,CAAC;YAACiC,SAAA,CAAAnD,IAAA;YAAA,OAEtD3B,IAAI,CAACgF,UAAU,CAAC,CAAC;UAAA;YACvBlD,MAAM,CAAC9B,IAAI,CAACkC,SAAS,CAAC,CAAC,CAAC,CAACC,OAAO,CAACC,yBAAkB,CAACC,IAAI,CAAC;UAAC;UAAA;YAAA,OAAAyC,SAAA,CAAAtB,IAAA;QAAA;MAAA,GAAAoB,QAAA;IAAA,CAC3D,GAAC;EACJ,CAAC,CAAC;EAEFhH,QAAQ,CAAC,oBAAoB,EAAE,YAAM;IACnC,IAAIoC,IAAI;IAERU,UAAU,CAAC,YAAM;MACfV,IAAI,GAAG,IAAIW,SAAI,CACbzB,MAAM,EACNG,eAAe,EACfxB,KAAK,EACLgB,iBAAiB,CAAC,CAAC,EACnBG,gBAAgB,CAAC,CAAC,EAClB4B,cAAM,CAACC,IACT,CAAC;IACH,CAAC,CAAC;IAEFC,SAAS,CAAC,YAAM;MACdtD,IAAI,CAACuD,cAAc,CAAC,CAAC;MACrBvD,IAAI,CAACuC,aAAa,CAAC,CAAC;MACpBvC,IAAI,CAACwD,aAAa,CAAC,CAAC;MACpBhB,IAAI,CAACiB,kBAAkB,CAAC,CAAC;IAC3B,CAAC,CAAC;IACFC,EAAE,CAAC,mDAAmD,EAAE,YAAM;MAC5D,IAAM+D,aAAa,GAAGzH,IAAI,CAACC,KAAK,CAACuC,IAAI,CAACkD,WAAW,EAAE,YAAY,CAAC;MAChE,IAAM5G,IAAI,GAAG0D,IAAI,CAACkF,QAAQ,CAAC;QAACC,OAAO,EAAE,MAAM;QAAEC,IAAI,EAAEC,eAAQ,CAACC;MAAG,CAAC,CAAC;MAEjExD,MAAM,CAACmD,aAAa,CAAC,CAAClD,kBAAkB,CAACwD,oBAAa,CAACC,QAAQ,EAAE7H,SAAS,EAAEqC,IAAI,CAACyF,MAAM,EAAE;QACvFN,OAAO,EAAE,UAAU;QACnBC,IAAI,EAAE;MACR,CAAC,CAAC;MACFtD,MAAM,CAACxF,IAAI,CAAC,CAACoJ,UAAU,CAAC,CAAC;MACzB5D,MAAM,CAAC9B,IAAI,CAAC2F,OAAO,CAACrJ,IAAI,GAAGA,IAAI,CAACsJ,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAACrB,IAAI,CAACjI,IAAI,CAAC;MACpEwF,MAAM,CAACxF,IAAI,GAAGA,IAAI,CAACuJ,SAAS,GAAGlI,SAAS,CAAC,CAACmI,aAAa,CAACP,oBAAa,CAACC,QAAQ,CAAC;MAC/ElJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEyJ,GAAG,CAAC,CAAC;IACb,CAAC,CAAC;IAEF7E,EAAE,CAAC,gEAAgE,EAAE,YAAM;MACzE,IAAM+D,aAAa,GAAGzH,IAAI,CAACC,KAAK,CAACuC,IAAI,CAACkD,WAAW,EAAE,YAAY,CAAC;MAChE,IAAM5G,IAAI,GAAG0D,IAAI,CAACkF,QAAQ,CAAC;QAACC,OAAO,EAAE,KAAK;QAAEC,IAAI,EAAEC,eAAQ,CAACC;MAAG,CAAC,CAAC;MAEhExD,MAAM,CAACmD,aAAa,CAAC,CAAClD,kBAAkB,CAACwD,oBAAa,CAACC,QAAQ,EAAE7H,SAAS,EAAEqC,IAAI,CAACyF,MAAM,EAAE;QACvFN,OAAO,EAAE,SAAS;QAClBC,IAAI,EAAE;MACR,CAAC,CAAC;MACFtD,MAAM,CAACxF,IAAI,CAAC,CAACoJ,UAAU,CAAC,CAAC;MACzB5D,MAAM,CAACxF,IAAI,GAAGA,IAAI,CAACuJ,SAAS,GAAGlI,SAAS,CAAC,CAACmI,aAAa,CAACP,oBAAa,CAACC,QAAQ,CAAC;MAC/ElJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEyJ,GAAG,CAAC,CAAC;IACb,CAAC,CAAC;IAEF7E,EAAE,CAAC,qDAAqD,EAAE,YAAM;MAC9D,IAAM+D,aAAa,GAAGzH,IAAI,CAACC,KAAK,CAACuC,IAAI,CAACkD,WAAW,EAAE,YAAY,CAAC;MAChE,IAAM5G,IAAI,GAAG0D,IAAI,CAACkF,QAAQ,CAAC;QAACC,OAAO,EAAE,kBAAkB;QAAEC,IAAI,EAAEC,eAAQ,CAACC;MAAG,CAAC,CAAC;MAE7ExD,MAAM,CAACmD,aAAa,CAAC,CAAClD,kBAAkB,CAACwD,oBAAa,CAACC,QAAQ,EAAE7H,SAAS,EAAEqC,IAAI,CAACyF,MAAM,EAAE;QACvFN,OAAO,EAAE,mBAAmB;QAC5BC,IAAI,EAAE;MACR,CAAC,CAAC;MACFtD,MAAM,CAACxF,IAAI,CAAC,CAACoJ,UAAU,CAAC,CAAC;MACzB5D,MAAM,CAACxF,IAAI,GAAGA,IAAI,CAACuJ,SAAS,GAAGlI,SAAS,CAAC,CAACmI,aAAa,CAACP,oBAAa,CAACC,QAAQ,CAAC;MAC/E1D,MAAM,CAACxF,IAAI,GAAGA,IAAI,CAAC0J,WAAW,CAACb,OAAO,GAAGxH,SAAS,CAAC,CAACmI,aAAa,CAAC,mBAAmB,CAAC;MACtFxJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEyJ,GAAG,CAAC,CAAC;IACb,CAAC,CAAC;IAEF7E,EAAE,CAAC,qDAAqD,EAAE,YAAM;MAC9D,IAAM+D,aAAa,GAAGzH,IAAI,CAACC,KAAK,CAACuC,IAAI,CAACkD,WAAW,EAAE,YAAY,CAAC;MAChE,IAAM5G,IAAI,GAAG0D,IAAI,CAACkF,QAAQ,CAAC;QAACC,OAAO,EAAE,cAAc;QAAEC,IAAI,EAAEC,eAAQ,CAACC;MAAG,CAAC,CAAC;MAEzExD,MAAM,CAACmD,aAAa,CAAC,CAAClD,kBAAkB,CAACwD,oBAAa,CAACC,QAAQ,EAAE7H,SAAS,EAAEqC,IAAI,CAACyF,MAAM,EAAE;QACvFN,OAAO,EAAE,gBAAgB;QACzBC,IAAI,EAAE;MACR,CAAC,CAAC;MACFtD,MAAM,CAACxF,IAAI,CAAC,CAACoJ,UAAU,CAAC,CAAC;MACzB5D,MAAM,CAACxF,IAAI,GAAGA,IAAI,CAACuJ,SAAS,GAAGlI,SAAS,CAAC,CAACmI,aAAa,CAACP,oBAAa,CAACC,QAAQ,CAAC;MAC/E1D,MAAM,CAACxF,IAAI,GAAGA,IAAI,CAAC0J,WAAW,CAACb,OAAO,GAAGxH,SAAS,CAAC,CAACmI,aAAa,CAAC,gBAAgB,CAAC;MACnFxJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEyJ,GAAG,CAAC,CAAC;IACb,CAAC,CAAC;IAEF7E,EAAE,CAAC,uDAAuD,EAAE,UAAC+E,IAAI,EAAK;MACpE;MACAjG,IAAI,CAACiB,kBAAkB,CAACgD,mBAAW,CAACC,KAAK,CAAC;MAC1C,IAAMe,aAAa,GAAGzH,IAAI,CAACC,KAAK,CAACuC,IAAI,CAACkD,WAAW,EAAE,YAAY,CAAC;MAEhElD,IAAI,CAACoE,EAAE,CAACH,mBAAW,CAACC,KAAK,EAAE,UAACG,KAAK,EAAK;QACpCvC,MAAM,CAACuC,KAAK,CAACC,OAAO,CAAC,CAACC,IAAI,CACxB,uEACF,CAAC;QACD0B,IAAI,CAAC,CAAC;MACR,CAAC,CAAC;MACF,IAAI;QACF,IAAM3J,IAAI,GAAG0D,IAAI,CAACkF,QAAQ,CAAC;UAACC,OAAO,EAAE,aAAa;UAAEC,IAAI,EAAEC,eAAQ,CAACC;QAAG,CAAC,CAAC;QAExExD,MAAM,CAACxF,IAAI,CAAC,CAAC4J,aAAa,CAAC,CAAC;QAC5BpE,MAAM,CAACmD,aAAa,CAAC,CAACtC,GAAG,CAACZ,kBAAkB,CAAC,CAAC,CAAC,CAAC;MAClD,CAAC,CAAC,OAAOsC,KAAK,EAAE;QACd4B,IAAI,CAAC5B,KAAK,CAAC;MACb;IACF,CAAC,CAAC;IAEFnD,EAAE,CAAC,uDAAuD,EAAE,UAAC+E,IAAI,EAAK;MACpEnE,MAAM,CAACqE,UAAU,CAAC,CAAC,CAAC;MACpB,IAAMlB,aAAa,GAAGzH,IAAI,CAACC,KAAK,CAACuC,IAAI,CAACkD,WAAW,EAAE,YAAY,CAAC;MAEhElD,IAAI,CAACoE,EAAE,CAACH,mBAAW,CAACC,KAAK,EAAE,UAACG,KAAK,EAAK;QACpCvC,MAAM,CAACuC,KAAK,CAACC,OAAO,CAAC,CAACC,IAAI,CACxB,uEACF,CAAC;QACD0B,IAAI,CAAC,CAAC;MACR,CAAC,CAAC;MAEF,IAAI;QACF,IAAM3J,IAAI,GAAG0D,IAAI,CAACkF,QAAQ,CAAC;UAACC,OAAO,EAAE,eAAe;UAAEC,IAAI,EAAEC,eAAQ,CAACC;QAAG,CAAC,CAAC;QAE1ExD,MAAM,CAACxF,IAAI,CAAC,CAAC4J,aAAa,CAAC,CAAC;QAC5BpE,MAAM,CAACmD,aAAa,CAAC,CAACtC,GAAG,CAACZ,kBAAkB,CAAC,CAAC,CAAC,CAAC;MAClD,CAAC,CAAC,OAAOsC,KAAK,EAAE;QACd4B,IAAI,CAAC5B,KAAK,CAAC;MACb;IACF,CAAC,CAAC;IAEFnD,EAAE,CAAC,6DAA6D,EAAE,YAAM;MACtEY,MAAM,CAACqE,UAAU,CAAC,CAAC,CAAC;MACpB,IAAMlB,aAAa,GAAGzH,IAAI,CAACC,KAAK,CAACuC,IAAI,CAACkD,WAAW,EAAE,YAAY,CAAC;;MAEhE;MACAlD,IAAI,GAAG,IAAIW,SAAI,CACbzB,MAAM,EACNG,eAAe,EACfxB,KAAK,EACLgB,iBAAiB,CAAC,CAAC,EACnBG,gBAAgB,CAAC,CAAC,EAClB4B,cAAM,CAACC,IAAI,EACX;QAACzC,SAAS,EAAEC,uBAAgB,CAACoB;MAAa,CAC5C,CAAC;MACD,IAAMnD,IAAI,GAAG0D,IAAI,CAACkF,QAAQ,CAAC,CAAC;MAE5BpD,MAAM,CAACxF,IAAI,CAAC,CAACoJ,UAAU,CAAC,CAAC;MACzB5D,MAAM,CAACmD,aAAa,CAAC,CAACmB,cAAc,CAACb,oBAAa,CAACC,QAAQ,EAAE7H,SAAS,EAAEmE,MAAM,CAACE,GAAG,CAACqE,MAAM,CAAC,CAAC;IAC7F,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","jest","spyOn","mockResolvedValue","undefined","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","fn","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","mockJwe","guestServiceData","GUEST_CALLING","guestName","handleErrorSpy","global","fetch","request","clearAllMocks","line","mockRegistrationBody","getMockDeviceInfo","discoveryBody","primaryUrl","concat","uris","registrationPayload","statusCode","body","beforeEach","Line","LOGGER","INFO","afterEach","clearAllTimers","useRealTimers","removeAllListeners","it","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_context","prev","next","useFakeTimers","mockReturnValue","expect","toBeCalledOnceWith","any","anything","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","callManager","lineDict","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","guestLine","_context2","jwe","_callee3","_context3","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","INACTIVE","file","REGISTRATION_FILE","_callee4","_context4","mockReturnValueOnce","deregister","createCallSpy","makeCall","address","type","CallType","URI","CallDirection","OUTBOUND","lineId","toBeTruthy","getCall","getCorrelationId","direction","toStrictEqual","end","destination","done","toBeUndefined","assertions","toBeCalledWith","String"],"sources":["line.test.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {\n getMobiusDiscoveryResponse,\n getMockDeviceInfo,\n getMockRequestTemplate,\n getTestUtilsWebex,\n} from '../../common/testUtil';\nimport {URL} from '../registration/registerFixtures';\nimport {filterMobiusUris} from '../../common';\nimport {\n CallDirection,\n CallType,\n MobiusServers,\n RegistrationStatus,\n ServiceIndicator,\n WebexRequestPayload,\n} from '../../common/types';\nimport {LINE_EVENTS} from './types';\nimport Line from '.';\nimport * as utils from '../../common/Utils';\nimport SDKConnector from '../../SDKConnector';\nimport {REGISTRATION_FILE} from '../constants';\nimport {LOGGER} from '../../Logger/types';\nimport * as regUtils from '../registration/register';\n\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Line Tests', () => {\n const mutex = new Mutex();\n const webex = getTestUtilsWebex();\n SDKConnector.setWebex(webex);\n\n const defaultServiceData = {indicator: ServiceIndicator.CALLING, domain: ''};\n const createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');\n\n const mobiusUris = filterMobiusUris(getMobiusDiscoveryResponse(), URL);\n const primaryMobiusUris = jest.fn(() => mobiusUris.primary);\n const backupMobiusUris = jest.fn(() => mobiusUris.backup);\n const userId = webex.internal.device.userId;\n const clientDeviceUri = webex.internal.device.url;\n const mockJwe = 'mockJwe';\n const guestServiceData = {\n indicator: ServiceIndicator.GUEST_CALLING,\n domain: '',\n guestName: 'testUser',\n };\n\n const handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');\n // Simulate node fetch by adding the mock webex.request\n global.fetch = webex.request;\n\n jest.clearAllMocks();\n\n describe('Line Registration tests', () => {\n let line;\n const mockRegistrationBody = getMockDeviceInfo();\n\n const discoveryBody: MobiusServers = getMobiusDiscoveryResponse();\n const primaryUrl = `${discoveryBody.primary.uris[0]}/calling/web/`;\n\n const registrationPayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: mockRegistrationBody,\n });\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n\n it('verify successful Registration cases and keepalive', async () => {\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n defaultServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n undefined\n );\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: defaultServiceData,\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(line.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify successful Registration cases and keepalive for a guest user', async () => {\n createRegistrationSpy.mockClear();\n const guestLine = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n guestServiceData,\n mockJwe\n );\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n guestServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n mockJwe\n );\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.IDLE);\n await guestLine.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: {...guestServiceData, jwe: mockJwe},\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(guestLine.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify failure Registration cases all requests fail ', async () => {\n line.removeAllListeners(LINE_EVENTS.ERROR);\n\n webex.request.mockRejectedValue({\n statusCode: 401,\n });\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'User is unauthorized due to an expired token. Sign out, then sign back in.'\n );\n });\n\n expect(line.getStatus()).toBe(RegistrationStatus.IDLE);\n line.register();\n await utils.waitForMsecs(20);\n\n expect(line.getStatus()).toBe(RegistrationStatus.INACTIVE);\n expect(handleErrorSpy).toBeCalledOnceWith(\n expect.anything(),\n expect.anything(),\n {\n file: REGISTRATION_FILE,\n method: 'triggerRegistration',\n },\n expect.anything(),\n expect.anything()\n );\n });\n\n it('verify successful de-registration cases', async () => {\n webex.request.mockReturnValueOnce(registrationPayload);\n\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n\n await line.deregister();\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n });\n });\n\n describe('Line calling tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n it('Return a successful call object while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '5003', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:5003',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Return a successful call object while making call to FAC codes', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '*25', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:*25',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Remove spaces from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '+91 123 456 7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:+911234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');\n call?.end();\n });\n\n it('Remove hyphen from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '123-456-7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:1234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');\n call?.end();\n });\n\n it('attempt to create call with incorrect number format 1', (done) => {\n // There may be other listeners , which may create race\n line.removeAllListeners(LINE_EVENTS.ERROR);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n try {\n const call = line.makeCall({address: 'select#$@^^', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with incorrect number format 2', (done) => {\n expect.assertions(4);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n\n try {\n const call = line.makeCall({address: '+1@8883332505', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with guest calling service indicator', () => {\n expect.assertions(2);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n // Mocking the serviceData to have GUEST_CALLING indicator\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n {indicator: ServiceIndicator.GUEST_CALLING}\n );\n const call = line.makeCall();\n\n expect(call).toBeTruthy();\n expect(createCallSpy).toBeCalledWith(CallDirection.OUTBOUND, undefined, expect.any(String));\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}