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

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 (87) 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 +19 -20
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +32 -32
  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/testUtil.js +3 -3
  86. package/dist/common/testUtil.js.map +1 -1
  87. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_SDKConnector","_interopRequireDefault","_types","_Logger","_Utils","_WxCallBackendConnector","_BroadworksBackendConnector","_impl","_UcmBackendConnector","_types2","_Metrics","_constants2","_createSuper","t","r","_isNativeReflectConstruct","e","o","_getPrototypeOf2","default","s","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Boolean","prototype","valueOf","call","Voicemail","exports","_Eventing","_inherits2","_super","webex","logger","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","sdkConnector","SDKConnector","getWebex","setWebex","metricManager","getMetricManager","undefined","callingBackend","getCallingBackEnd","initializeBackendConnector","log","setLogger","level","VOICEMAIL_FILE","_createClass2","key","value","_init","_asyncToGenerator2","_regenerator","mark","_callee","loggerContext","response","wrap","_callee$","_context","prev","next","file","method","METHODS","INIT","info","METHOD_START_MESSAGE","backendConnector","init","abrupt","t0","error","concat","_stringify","uploadLogs","stop","INITIALIZE_BACKEND_CONNECTOR","CALLING_BACKEND","WXC","WxCallBackendConnector","BWRKS","BroadworksBackendConnector","UCM","UcmBackendConnector","Error","submitMetric","metricAction","messageId","statusCode","errorMessage","data","submitVoicemailMetric","METRIC_EVENT","VOICEMAIL","METRIC_TYPE","BEHAVIORAL","VOICEMAIL_ERROR","_getVoicemailList","_callee2","offset","offsetLimit","sort","refresh","_callee2$","_context2","GET_VOICEMAIL_LIST","getVoicemailList","sent","VOICEMAIL_ACTION","GET_VOICEMAILS","_x","_x2","_x3","_x4","_getVoicemailContent","_callee3","_callee3$","_context3","GET_VOICEMAIL_CONTENT","getVoicemailContent","_x5","_getVoicemailSummary","_callee4","_callee4$","_context4","GET_VOICEMAIL_SUMMARY","getVoicemailSummary","_voicemailMarkAsRead","_callee5","_callee5$","_context5","VOICEMAIL_MARK_AS_READ","voicemailMarkAsRead","MARK_READ","_x6","_voicemailMarkAsUnread","_callee6","_callee6$","_context6","VOICEMAIL_MARK_AS_UNREAD","voicemailMarkAsUnread","MARK_UNREAD","_x7","_deleteVoicemail","_callee7","_callee7$","_context7","DELETE_VOICEMAIL","deleteVoicemail","DELETE","_x8","_getVMTranscript","_callee8","_callee8$","_context8","GET_VM_TRANSCRIPT","getVMTranscript","TRANSCRIPT","_x9","resolveContact","callingPartyInfo","RESOLVE_CONTACT","getSDKConnector","Eventing","createVoicemailClient"],"sources":["Voicemail.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable valid-jsdoc */\nimport {METHOD_START_MESSAGE} from '../common/constants';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {IVoicemail, VoicemailResponseEvent, LoggerInterface, CallingPartyInfo} from './types';\nimport {CALLING_BACKEND, DisplayInformation, SORT} from '../common/types';\nimport log from '../Logger';\nimport {getCallingBackEnd, uploadLogs} from '../common/Utils';\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {BroadworksBackendConnector} from './BroadworksBackendConnector';\nimport {VoicemailEventTypes} from '../Events/types';\nimport {Eventing} from '../Events/impl';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {IMetricManager, METRIC_EVENT, METRIC_TYPE, VOICEMAIL_ACTION} from '../Metrics/types';\nimport {getMetricManager} from '../Metrics';\nimport {VOICEMAIL_FILE, METHODS} from './constants';\n\n/**\n * The `Voicemail` module is designed to simplify voicemail-related operations by offering a set of APIs.\n *\n * The following code snippet demonstrates how to create an instance of `Voicemail` using a `webex` instance and a logger:\n *\n * Example:\n * ```javascript\n * const voicemailInstance = createVoicemailClient(webex, logger);\n * ```\n */\nexport class Voicemail extends Eventing<VoicemailEventTypes> implements IVoicemail {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callingBackend: CALLING_BACKEND;\n\n private backendConnector!: IVoicemail;\n\n private metricManager: IMetricManager;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, public logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.metricManager = getMetricManager(this.webex, undefined);\n this.callingBackend = getCallingBackEnd(this.webex);\n this.initializeBackendConnector();\n log.setLogger(logger.level, VOICEMAIL_FILE);\n }\n\n /**\n * Voicemail connector initialization.\n *\n */\n public async init() {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.INIT,\n };\n\n try {\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = this.backendConnector.init();\n\n log.log('Voicemail connector initialized successfully', loggerContext);\n\n return response;\n } catch (err: unknown) {\n log.error(`Failed to initialize voicemail: ${JSON.stringify(err)}`, loggerContext);\n\n await uploadLogs();\n\n throw err;\n }\n }\n\n /**\n * Setup and initialize the voicemail backend connector class object.\n */\n private initializeBackendConnector() {\n log.info(METHOD_START_MESSAGE, {\n file: VOICEMAIL_FILE,\n method: METHODS.INITIALIZE_BACKEND_CONNECTOR,\n });\n\n switch (this.callingBackend) {\n case CALLING_BACKEND.WXC: {\n this.backendConnector = new WxCallBackendConnector(this.webex, this.logger);\n break;\n }\n\n case CALLING_BACKEND.BWRKS: {\n this.backendConnector = new BroadworksBackendConnector(this.webex, this.logger);\n break;\n }\n\n case CALLING_BACKEND.UCM: {\n this.backendConnector = new UcmBackendConnector(this.webex, this.logger);\n break;\n }\n\n default: {\n throw new Error('Calling backend is not identified, exiting....');\n }\n }\n }\n\n /**\n * @param response - VoicemailResponseEvent to be used in submitting metric.\n * @param metricAction - Action for the metric being submitted.\n * @param messageId - Message identifier of the voicemail message.\n */\n private submitMetric(response: VoicemailResponseEvent, metricAction: string, messageId?: string) {\n const {\n statusCode,\n data: {error: errorMessage},\n } = response;\n\n if (statusCode >= 200 && statusCode < 300) {\n this.metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n metricAction,\n METRIC_TYPE.BEHAVIORAL,\n messageId\n );\n } else {\n this.metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n metricAction,\n METRIC_TYPE.BEHAVIORAL,\n messageId,\n errorMessage,\n statusCode\n );\n }\n }\n\n /**\n * Retrieves a list of voicemails with optional pagination and sorting options.\n *\n * @param offset - Number of records to skip.\n * @param offsetLimit - The limit on the number of voicemails to retrieve from the offset.\n * @param sort - Sort voicemail list (ASC | DESC).\n * @param refresh - Set to `true` to force a refresh of voicemail data from backend (optional).\n */\n public async getVoicemailList(\n offset: number,\n offsetLimit: number,\n sort: SORT,\n refresh?: boolean\n ): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_LIST,\n };\n\n try {\n log.info(\n `${METHOD_START_MESSAGE} with: offset=${offset}, limit=${offsetLimit}, sort=${sort}, refresh=${refresh}`,\n loggerContext\n );\n\n const response = await this.backendConnector.getVoicemailList(\n offset,\n offsetLimit,\n sort,\n refresh\n );\n\n this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAILS);\n\n log.log(\n `Successfully retrieved voicemail list: statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n } catch (err: unknown) {\n log.error(`Failed to get voicemail list: ${JSON.stringify(err)}`, loggerContext);\n\n await uploadLogs();\n\n throw err;\n }\n }\n\n /**\n * Retrieves the content of a voicemail message based on its messageId.\n *\n * @param messageId - The identifier of the voicemail message.\n */\n public async getVoicemailContent(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_CONTENT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.getVoicemailContent(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAIL_CONTENT, messageId);\n\n log.log(\n `Successfully retrieved voicemail content for messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Retrieves a quantitative summary of voicemails for a user.\n *\n */\n public async getVoicemailSummary(): Promise<VoicemailResponseEvent | null> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = await this.backendConnector.getVoicemailSummary();\n\n /* istanbul ignore else */\n if (response !== null) {\n this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY);\n\n log.log(\n `Successfully retrieved voicemail summary: statusCode=${response.statusCode}`,\n loggerContext\n );\n }\n\n return response;\n }\n\n /**\n * Fetch voicemail read message status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n */\n public async voicemailMarkAsRead(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.voicemailMarkAsRead(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.MARK_READ, messageId);\n\n log.log(\n `Successfully marked voicemail as read: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Fetch voicemail unread status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n */\n public async voicemailMarkAsUnread(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.voicemailMarkAsUnread(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.MARK_UNREAD, messageId);\n\n log.log(\n `Successfully marked voicemail as unread: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Fetch voicemail delete status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n */\n public async deleteVoicemail(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.DELETE_VOICEMAIL,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.deleteVoicemail(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.DELETE, messageId);\n\n log.log(\n `Successfully deleted voicemail: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Fetch the voicemail transcripts for the messageId.\n *\n * @param messageId - MessageId for which we need the transcript.\n */\n public async getVMTranscript(messageId: string): Promise<VoicemailResponseEvent | null> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VM_TRANSCRIPT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.getVMTranscript(messageId);\n\n if (response !== null) {\n this.submitMetric(response, VOICEMAIL_ACTION.TRANSCRIPT, messageId);\n\n log.log(\n `Successfully retrieved voicemail transcript: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n }\n\n return response;\n }\n\n /**\n * Resolve the Contact from userId or display name.\n *\n * @param callingPartyInfo - Calling Party Info.\n */\n public resolveContact(callingPartyInfo: CallingPartyInfo): Promise<DisplayInformation | null> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.RESOLVE_CONTACT,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = this.backendConnector.resolveContact(callingPartyInfo);\n\n log.log('Contact resolution completed successfully', loggerContext);\n\n return response;\n }\n\n /**\n * SDK connector function.\n * @ignore\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n}\n\n/**\n * @param webex - webex instance\n * @param logger - logger instance\n */\nexport const createVoicemailClient = (webex: WebexSDK, logger: LoggerInterface): IVoicemail =>\n new Voicemail(webex, logger);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_SDKConnector","_interopRequireDefault","_types","_Logger","_Utils","_WxCallBackendConnector","_BroadworksBackendConnector","_impl","_UcmBackendConnector","_types2","_Metrics","_constants2","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","Voicemail","exports","_Eventing","webex","logger","_this","_classCallCheck2","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","metricManager","getMetricManager","undefined","callingBackend","getCallingBackEnd","initializeBackendConnector","log","setLogger","level","VOICEMAIL_FILE","_inherits2","_createClass2","key","value","_init","_asyncToGenerator2","_regenerator","mark","_callee","loggerContext","response","_t","wrap","_context","prev","next","file","method","METHODS","INIT","info","METHOD_START_MESSAGE","backendConnector","init","abrupt","error","concat","_stringify","uploadLogs","stop","arguments","INITIALIZE_BACKEND_CONNECTOR","CALLING_BACKEND","WXC","WxCallBackendConnector","BWRKS","BroadworksBackendConnector","UCM","UcmBackendConnector","Error","submitMetric","metricAction","messageId","statusCode","errorMessage","data","submitVoicemailMetric","METRIC_EVENT","VOICEMAIL","METRIC_TYPE","BEHAVIORAL","VOICEMAIL_ERROR","_getVoicemailList","_callee2","offset","offsetLimit","sort","refresh","_t2","_context2","GET_VOICEMAIL_LIST","getVoicemailList","sent","VOICEMAIL_ACTION","GET_VOICEMAILS","_x","_x2","_x3","_x4","_getVoicemailContent","_callee3","_context3","GET_VOICEMAIL_CONTENT","getVoicemailContent","_x5","_getVoicemailSummary","_callee4","_context4","GET_VOICEMAIL_SUMMARY","getVoicemailSummary","_voicemailMarkAsRead","_callee5","_context5","VOICEMAIL_MARK_AS_READ","voicemailMarkAsRead","MARK_READ","_x6","_voicemailMarkAsUnread","_callee6","_context6","VOICEMAIL_MARK_AS_UNREAD","voicemailMarkAsUnread","MARK_UNREAD","_x7","_deleteVoicemail","_callee7","_context7","DELETE_VOICEMAIL","deleteVoicemail","DELETE","_x8","_getVMTranscript","_callee8","_context8","GET_VM_TRANSCRIPT","getVMTranscript","TRANSCRIPT","_x9","resolveContact","callingPartyInfo","RESOLVE_CONTACT","getSDKConnector","Eventing","createVoicemailClient"],"sources":["Voicemail.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable valid-jsdoc */\nimport {METHOD_START_MESSAGE} from '../common/constants';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {IVoicemail, VoicemailResponseEvent, LoggerInterface, CallingPartyInfo} from './types';\nimport {CALLING_BACKEND, DisplayInformation, SORT} from '../common/types';\nimport log from '../Logger';\nimport {getCallingBackEnd, uploadLogs} from '../common/Utils';\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {BroadworksBackendConnector} from './BroadworksBackendConnector';\nimport {VoicemailEventTypes} from '../Events/types';\nimport {Eventing} from '../Events/impl';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {IMetricManager, METRIC_EVENT, METRIC_TYPE, VOICEMAIL_ACTION} from '../Metrics/types';\nimport {getMetricManager} from '../Metrics';\nimport {VOICEMAIL_FILE, METHODS} from './constants';\n\n/**\n * The `Voicemail` module is designed to simplify voicemail-related operations by offering a set of APIs.\n *\n * The following code snippet demonstrates how to create an instance of `Voicemail` using a `webex` instance and a logger:\n *\n * Example:\n * ```javascript\n * const voicemailInstance = createVoicemailClient(webex, logger);\n * ```\n */\nexport class Voicemail extends Eventing<VoicemailEventTypes> implements IVoicemail {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callingBackend: CALLING_BACKEND;\n\n private backendConnector!: IVoicemail;\n\n private metricManager: IMetricManager;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, public logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.metricManager = getMetricManager(this.webex, undefined);\n this.callingBackend = getCallingBackEnd(this.webex);\n this.initializeBackendConnector();\n log.setLogger(logger.level, VOICEMAIL_FILE);\n }\n\n /**\n * Voicemail connector initialization.\n *\n */\n public async init() {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.INIT,\n };\n\n try {\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = this.backendConnector.init();\n\n log.log('Voicemail connector initialized successfully', loggerContext);\n\n return response;\n } catch (err: unknown) {\n log.error(`Failed to initialize voicemail: ${JSON.stringify(err)}`, loggerContext);\n\n await uploadLogs();\n\n throw err;\n }\n }\n\n /**\n * Setup and initialize the voicemail backend connector class object.\n */\n private initializeBackendConnector() {\n log.info(METHOD_START_MESSAGE, {\n file: VOICEMAIL_FILE,\n method: METHODS.INITIALIZE_BACKEND_CONNECTOR,\n });\n\n switch (this.callingBackend) {\n case CALLING_BACKEND.WXC: {\n this.backendConnector = new WxCallBackendConnector(this.webex, this.logger);\n break;\n }\n\n case CALLING_BACKEND.BWRKS: {\n this.backendConnector = new BroadworksBackendConnector(this.webex, this.logger);\n break;\n }\n\n case CALLING_BACKEND.UCM: {\n this.backendConnector = new UcmBackendConnector(this.webex, this.logger);\n break;\n }\n\n default: {\n throw new Error('Calling backend is not identified, exiting....');\n }\n }\n }\n\n /**\n * @param response - VoicemailResponseEvent to be used in submitting metric.\n * @param metricAction - Action for the metric being submitted.\n * @param messageId - Message identifier of the voicemail message.\n */\n private submitMetric(response: VoicemailResponseEvent, metricAction: string, messageId?: string) {\n const {\n statusCode,\n data: {error: errorMessage},\n } = response;\n\n if (statusCode >= 200 && statusCode < 300) {\n this.metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n metricAction,\n METRIC_TYPE.BEHAVIORAL,\n messageId\n );\n } else {\n this.metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n metricAction,\n METRIC_TYPE.BEHAVIORAL,\n messageId,\n errorMessage,\n statusCode\n );\n }\n }\n\n /**\n * Retrieves a list of voicemails with optional pagination and sorting options.\n *\n * @param offset - Number of records to skip.\n * @param offsetLimit - The limit on the number of voicemails to retrieve from the offset.\n * @param sort - Sort voicemail list (ASC | DESC).\n * @param refresh - Set to `true` to force a refresh of voicemail data from backend (optional).\n */\n public async getVoicemailList(\n offset: number,\n offsetLimit: number,\n sort: SORT,\n refresh?: boolean\n ): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_LIST,\n };\n\n try {\n log.info(\n `${METHOD_START_MESSAGE} with: offset=${offset}, limit=${offsetLimit}, sort=${sort}, refresh=${refresh}`,\n loggerContext\n );\n\n const response = await this.backendConnector.getVoicemailList(\n offset,\n offsetLimit,\n sort,\n refresh\n );\n\n this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAILS);\n\n log.log(\n `Successfully retrieved voicemail list: statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n } catch (err: unknown) {\n log.error(`Failed to get voicemail list: ${JSON.stringify(err)}`, loggerContext);\n\n await uploadLogs();\n\n throw err;\n }\n }\n\n /**\n * Retrieves the content of a voicemail message based on its messageId.\n *\n * @param messageId - The identifier of the voicemail message.\n */\n public async getVoicemailContent(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_CONTENT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.getVoicemailContent(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAIL_CONTENT, messageId);\n\n log.log(\n `Successfully retrieved voicemail content for messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Retrieves a quantitative summary of voicemails for a user.\n *\n */\n public async getVoicemailSummary(): Promise<VoicemailResponseEvent | null> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = await this.backendConnector.getVoicemailSummary();\n\n /* istanbul ignore else */\n if (response !== null) {\n this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY);\n\n log.log(\n `Successfully retrieved voicemail summary: statusCode=${response.statusCode}`,\n loggerContext\n );\n }\n\n return response;\n }\n\n /**\n * Fetch voicemail read message status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n */\n public async voicemailMarkAsRead(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.voicemailMarkAsRead(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.MARK_READ, messageId);\n\n log.log(\n `Successfully marked voicemail as read: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Fetch voicemail unread status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n */\n public async voicemailMarkAsUnread(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.voicemailMarkAsUnread(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.MARK_UNREAD, messageId);\n\n log.log(\n `Successfully marked voicemail as unread: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Fetch voicemail delete status for the messageId.\n *\n * @param messageId -string result from the voicemail list.\n */\n public async deleteVoicemail(messageId: string): Promise<VoicemailResponseEvent> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.DELETE_VOICEMAIL,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.deleteVoicemail(messageId);\n\n this.submitMetric(response, VOICEMAIL_ACTION.DELETE, messageId);\n\n log.log(\n `Successfully deleted voicemail: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n\n return response;\n }\n\n /**\n * Fetch the voicemail transcripts for the messageId.\n *\n * @param messageId - MessageId for which we need the transcript.\n */\n public async getVMTranscript(messageId: string): Promise<VoicemailResponseEvent | null> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.GET_VM_TRANSCRIPT,\n };\n\n log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, loggerContext);\n\n const response = await this.backendConnector.getVMTranscript(messageId);\n\n if (response !== null) {\n this.submitMetric(response, VOICEMAIL_ACTION.TRANSCRIPT, messageId);\n\n log.log(\n `Successfully retrieved voicemail transcript: messageId=${messageId}, statusCode=${response.statusCode}`,\n loggerContext\n );\n }\n\n return response;\n }\n\n /**\n * Resolve the Contact from userId or display name.\n *\n * @param callingPartyInfo - Calling Party Info.\n */\n public resolveContact(callingPartyInfo: CallingPartyInfo): Promise<DisplayInformation | null> {\n const loggerContext = {\n file: VOICEMAIL_FILE,\n method: METHODS.RESOLVE_CONTACT,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n const response = this.backendConnector.resolveContact(callingPartyInfo);\n\n log.log('Contact resolution completed successfully', loggerContext);\n\n return response;\n }\n\n /**\n * SDK connector function.\n * @ignore\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n}\n\n/**\n * @param webex - webex instance\n * @param logger - logger instance\n */\nexport const createVoicemailClient = (webex: WebexSDK, logger: LoggerInterface): IVoicemail =>\n new Voicemail(webex, logger);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,uBAAA,GAAAN,OAAA;AACA,IAAAO,2BAAA,GAAAP,OAAA;AAEA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AAAoD,SAAAa,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA,UAjBpD,kCACA,0CACA;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA,IAUac,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAAAE,SAAA;EAWpB;AACF;AACA;EACE,SAAAF,UAAYG,KAAe,EAASC,MAAuB,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAhB,OAAA,QAAAU,SAAA;IAC3DK,KAAA,GAAApB,UAAA,OAAAe,SAAA;IAAQ,IAAAO,gBAAA,CAAAjB,OAAA,EAAAe,KAAA;IAAA,IAAAE,gBAAA,CAAAjB,OAAA,EAAAe,KAAA;IAAA,IAAAE,gBAAA,CAAAjB,OAAA,EAAAe,KAAA;IAAA,IAAAE,gBAAA,CAAAjB,OAAA,EAAAe,KAAA;IAAA,IAAAE,gBAAA,CAAAjB,OAAA,EAAAe,KAAA;IAAAA,KAAA,CAD0BD,MAAuB,GAAvBA,MAAuB;IAEzDC,KAAA,CAAKG,YAAY,GAAGC,qBAAY;IAChC,IAAI,CAACJ,KAAA,CAAKG,YAAY,CAACE,QAAQ,CAAC,CAAC,EAAE;MACjCD,qBAAY,CAACE,QAAQ,CAACR,KAAK,CAAC;IAC9B;IACAE,KAAA,CAAKF,KAAK,GAAGE,KAAA,CAAKG,YAAY,CAACE,QAAQ,CAAC,CAAC;IACzCL,KAAA,CAAKO,aAAa,GAAG,IAAAC,yBAAgB,EAACR,KAAA,CAAKF,KAAK,EAAEW,SAAS,CAAC;IAC5DT,KAAA,CAAKU,cAAc,GAAG,IAAAC,wBAAiB,EAACX,KAAA,CAAKF,KAAK,CAAC;IACnDE,KAAA,CAAKY,0BAA0B,CAAC,CAAC;IACjCC,eAAG,CAACC,SAAS,CAACf,MAAM,CAACgB,KAAK,EAAEC,0BAAc,CAAC;IAAC,OAAAhB,KAAA;EAC9C;;EAEA;AACF;AACA;AACA;EAHE,IAAAiB,UAAA,CAAAhC,OAAA,EAAAU,SAAA,EAAAE,SAAA;EAAA,WAAAqB,aAAA,CAAAjC,OAAA,EAAAU,SAAA;IAAAwB,GAAA;IAAAC,KAAA;MAAA,IAAAC,KAAA,OAAAC,kBAAA,CAAArC,OAAA,eAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAIA,SAAAC,QAAA;QAAA,IAAAC,aAAA,EAAAC,QAAA,EAAAC,EAAA;QAAA,OAAAL,YAAA,CAAAtC,OAAA,CAAA4C,IAAA,WAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACQN,aAAa,GAAG;gBACpBO,IAAI,EAAEjB,0BAAc;gBACpBkB,MAAM,EAAEC,mBAAO,CAACC;cAClB,CAAC;cAAAN,QAAA,CAAAC,IAAA;cAGClB,eAAG,CAACwB,IAAI,CAACC,+BAAoB,EAAEZ,aAAa,CAAC;cAEvCC,QAAQ,GAAG,IAAI,CAACY,gBAAgB,CAACC,IAAI,CAAC,CAAC;cAE7C3B,eAAG,CAACA,GAAG,CAAC,8CAA8C,EAAEa,aAAa,CAAC;cAAC,OAAAI,QAAA,CAAAW,MAAA,WAEhEd,QAAQ;YAAA;cAAAG,QAAA,CAAAC,IAAA;cAAAH,EAAA,GAAAE,QAAA;cAEfjB,eAAG,CAAC6B,KAAK,oCAAAC,MAAA,CAAoC,IAAAC,UAAA,CAAA3D,OAAA,EAAA2C,EAAkB,CAAC,GAAIF,aAAa,CAAC;cAACI,QAAA,CAAAE,IAAA;cAAA,OAE7E,IAAAa,iBAAU,EAAC,CAAC;YAAA;cAAA,MAAAjB,EAAA;YAAA;YAAA;cAAA,OAAAE,QAAA,CAAAgB,IAAA;UAAA;QAAA,GAAArB,OAAA;MAAA,CAIrB;MAAA,SArBYe,IAAIA,CAAA;QAAA,OAAAnB,KAAA,CAAA/B,KAAA,OAAAyD,SAAA;MAAA;MAAA,OAAJP,IAAI;IAAA;IAuBjB;AACF;AACA;IAFE;EAAA;IAAArB,GAAA;IAAAC,KAAA,EAGA,SAAQR,0BAA0BA,CAAA,EAAG;MACnCC,eAAG,CAACwB,IAAI,CAACC,+BAAoB,EAAE;QAC7BL,IAAI,EAAEjB,0BAAc;QACpBkB,MAAM,EAAEC,mBAAO,CAACa;MAClB,CAAC,CAAC;MAEF,QAAQ,IAAI,CAACtC,cAAc;QACzB,KAAKuC,sBAAe,CAACC,GAAG;UAAE;YACxB,IAAI,CAACX,gBAAgB,GAAG,IAAIY,8CAAsB,CAAC,IAAI,CAACrD,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC;YAC3E;UACF;QAEA,KAAKkD,sBAAe,CAACG,KAAK;UAAE;YAC1B,IAAI,CAACb,gBAAgB,GAAG,IAAIc,sDAA0B,CAAC,IAAI,CAACvD,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC;YAC/E;UACF;QAEA,KAAKkD,sBAAe,CAACK,GAAG;UAAE;YACxB,IAAI,CAACf,gBAAgB,GAAG,IAAIgB,wCAAmB,CAAC,IAAI,CAACzD,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC;YACxE;UACF;QAEA;UAAS;YACP,MAAM,IAAIyD,KAAK,CAAC,gDAAgD,CAAC;UACnE;MACF;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAArC,GAAA;IAAAC,KAAA,EAKA,SAAQqC,YAAYA,CAAC9B,QAAgC,EAAE+B,YAAoB,EAAEC,SAAkB,EAAE;MAC/F,IACEC,UAAU,GAERjC,QAAQ,CAFViC,UAAU;QACIC,YAAY,GACxBlC,QAAQ,CADVmC,IAAI,CAAGpB,KAAK;MAGd,IAAIkB,UAAU,IAAI,GAAG,IAAIA,UAAU,GAAG,GAAG,EAAE;QACzC,IAAI,CAACrD,aAAa,CAACwD,qBAAqB,CACtCC,oBAAY,CAACC,SAAS,EACtBP,YAAY,EACZQ,mBAAW,CAACC,UAAU,EACtBR,SACF,CAAC;MACH,CAAC,MAAM;QACL,IAAI,CAACpD,aAAa,CAACwD,qBAAqB,CACtCC,oBAAY,CAACI,eAAe,EAC5BV,YAAY,EACZQ,mBAAW,CAACC,UAAU,EACtBR,SAAS,EACTE,YAAY,EACZD,UACF,CAAC;MACH;IACF;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAzC,GAAA;IAAAC,KAAA;MAAA,IAAAiD,iBAAA,OAAA/C,kBAAA,CAAArC,OAAA,eAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAQA,SAAA8C,SACEC,MAAc,EACdC,WAAmB,EACnBC,IAAU,EACVC,OAAiB;QAAA,IAAAhD,aAAA,EAAAC,QAAA,EAAAgD,GAAA;QAAA,OAAApD,YAAA,CAAAtC,OAAA,CAAA4C,IAAA,WAAA+C,SAAA;UAAA,kBAAAA,SAAA,CAAA7C,IAAA,GAAA6C,SAAA,CAAA5C,IAAA;YAAA;cAEXN,aAAa,GAAG;gBACpBO,IAAI,EAAEjB,0BAAc;gBACpBkB,MAAM,EAAEC,mBAAO,CAAC0C;cAClB,CAAC;cAAAD,SAAA,CAAA7C,IAAA;cAGClB,eAAG,CAACwB,IAAI,IAAAM,MAAA,CACHL,+BAAoB,oBAAAK,MAAA,CAAiB4B,MAAM,cAAA5B,MAAA,CAAW6B,WAAW,aAAA7B,MAAA,CAAU8B,IAAI,gBAAA9B,MAAA,CAAa+B,OAAO,GACtGhD,aACF,CAAC;cAACkD,SAAA,CAAA5C,IAAA;cAAA,OAEqB,IAAI,CAACO,gBAAgB,CAACuC,gBAAgB,CAC3DP,MAAM,EACNC,WAAW,EACXC,IAAI,EACJC,OACF,CAAC;YAAA;cALK/C,QAAQ,GAAAiD,SAAA,CAAAG,IAAA;cAOd,IAAI,CAACtB,YAAY,CAAC9B,QAAQ,EAAEqD,wBAAgB,CAACC,cAAc,CAAC;cAE5DpE,eAAG,CAACA,GAAG,sDAAA8B,MAAA,CACgDhB,QAAQ,CAACiC,UAAU,GACxElC,aACF,CAAC;cAAC,OAAAkD,SAAA,CAAAnC,MAAA,WAEKd,QAAQ;YAAA;cAAAiD,SAAA,CAAA7C,IAAA;cAAA4C,GAAA,GAAAC,SAAA;cAEf/D,eAAG,CAAC6B,KAAK,kCAAAC,MAAA,CAAkC,IAAAC,UAAA,CAAA3D,OAAA,EAAA0F,GAAkB,CAAC,GAAIjD,aAAa,CAAC;cAACkD,SAAA,CAAA5C,IAAA;cAAA,OAE3E,IAAAa,iBAAU,EAAC,CAAC;YAAA;cAAA,MAAA8B,GAAA;YAAA;YAAA;cAAA,OAAAC,SAAA,CAAA9B,IAAA;UAAA;QAAA,GAAAwB,QAAA;MAAA,CAIrB;MAAA,SAvCYQ,gBAAgBA,CAAAI,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAhB,iBAAA,CAAA/E,KAAA,OAAAyD,SAAA;MAAA;MAAA,OAAhB+B,gBAAgB;IAAA;IAyC7B;AACF;AACA;AACA;AACA;IAJE;EAAA;IAAA3D,GAAA;IAAAC,KAAA;MAAA,IAAAkE,oBAAA,OAAAhE,kBAAA,CAAArC,OAAA,eAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAKA,SAAA+D,SAAiC5B,SAAiB;QAAA,IAAAjC,aAAA,EAAAC,QAAA;QAAA,OAAAJ,YAAA,CAAAtC,OAAA,CAAA4C,IAAA,WAAA2D,SAAA;UAAA,kBAAAA,SAAA,CAAAzD,IAAA,GAAAyD,SAAA,CAAAxD,IAAA;YAAA;cAC1CN,aAAa,GAAG;gBACpBO,IAAI,EAAEjB,0BAAc;gBACpBkB,MAAM,EAAEC,mBAAO,CAACsD;cAClB,CAAC;cAED5E,eAAG,CAACwB,IAAI,IAAAM,MAAA,CAAIL,+BAAoB,uBAAAK,MAAA,CAAoBgB,SAAS,GAAIjC,aAAa,CAAC;cAAC8D,SAAA,CAAAxD,IAAA;cAAA,OAEzD,IAAI,CAACO,gBAAgB,CAACmD,mBAAmB,CAAC/B,SAAS,CAAC;YAAA;cAArEhC,QAAQ,GAAA6D,SAAA,CAAAT,IAAA;cAEd,IAAI,CAACtB,YAAY,CAAC9B,QAAQ,EAAEqD,wBAAgB,CAACS,qBAAqB,EAAE9B,SAAS,CAAC;cAE9E9C,eAAG,CAACA,GAAG,2DAAA8B,MAAA,CACqDgB,SAAS,mBAAAhB,MAAA,CAAgBhB,QAAQ,CAACiC,UAAU,GACtGlC,aACF,CAAC;cAAC,OAAA8D,SAAA,CAAA/C,MAAA,WAEKd,QAAQ;YAAA;YAAA;cAAA,OAAA6D,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAyC,QAAA;MAAA,CAChB;MAAA,SAlBYG,mBAAmBA,CAAAC,GAAA;QAAA,OAAAL,oBAAA,CAAAhG,KAAA,OAAAyD,SAAA;MAAA;MAAA,OAAnB2C,mBAAmB;IAAA;IAoBhC;AACF;AACA;AACA;IAHE;EAAA;IAAAvE,GAAA;IAAAC,KAAA;MAAA,IAAAwE,oBAAA,OAAAtE,kBAAA,CAAArC,OAAA,eAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAIA,SAAAqE,SAAA;QAAA,IAAAnE,aAAA,EAAAC,QAAA;QAAA,OAAAJ,YAAA,CAAAtC,OAAA,CAAA4C,IAAA,WAAAiE,SAAA;UAAA,kBAAAA,SAAA,CAAA/D,IAAA,GAAA+D,SAAA,CAAA9D,IAAA;YAAA;cACQN,aAAa,GAAG;gBACpBO,IAAI,EAAEjB,0BAAc;gBACpBkB,MAAM,EAAEC,mBAAO,CAAC4D;cAClB,CAAC;cAEDlF,eAAG,CAACwB,IAAI,CAACC,+BAAoB,EAAEZ,aAAa,CAAC;cAACoE,SAAA,CAAA9D,IAAA;cAAA,OAEvB,IAAI,CAACO,gBAAgB,CAACyD,mBAAmB,CAAC,CAAC;YAAA;cAA5DrE,QAAQ,GAAAmE,SAAA,CAAAf,IAAA;cAEd;cACA,IAAIpD,QAAQ,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC8B,YAAY,CAAC9B,QAAQ,EAAEqD,wBAAgB,CAACe,qBAAqB,CAAC;gBAEnElF,eAAG,CAACA,GAAG,yDAAA8B,MAAA,CACmDhB,QAAQ,CAACiC,UAAU,GAC3ElC,aACF,CAAC;cACH;cAAC,OAAAoE,SAAA,CAAArD,MAAA,WAEMd,QAAQ;YAAA;YAAA;cAAA,OAAAmE,SAAA,CAAAhD,IAAA;UAAA;QAAA,GAAA+C,QAAA;MAAA,CAChB;MAAA,SArBYG,mBAAmBA,CAAA;QAAA,OAAAJ,oBAAA,CAAAtG,KAAA,OAAAyD,SAAA;MAAA;MAAA,OAAnBiD,mBAAmB;IAAA;IAuBhC;AACF;AACA;AACA;AACA;IAJE;EAAA;IAAA7E,GAAA;IAAAC,KAAA;MAAA,IAAA6E,oBAAA,OAAA3E,kBAAA,CAAArC,OAAA,eAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAKA,SAAA0E,SAAiCvC,SAAiB;QAAA,IAAAjC,aAAA,EAAAC,QAAA;QAAA,OAAAJ,YAAA,CAAAtC,OAAA,CAAA4C,IAAA,WAAAsE,SAAA;UAAA,kBAAAA,SAAA,CAAApE,IAAA,GAAAoE,SAAA,CAAAnE,IAAA;YAAA;cAC1CN,aAAa,GAAG;gBACpBO,IAAI,EAAEjB,0BAAc;gBACpBkB,MAAM,EAAEC,mBAAO,CAACiE;cAClB,CAAC;cAEDvF,eAAG,CAACwB,IAAI,IAAAM,MAAA,CAAIL,+BAAoB,uBAAAK,MAAA,CAAoBgB,SAAS,GAAIjC,aAAa,CAAC;cAACyE,SAAA,CAAAnE,IAAA;cAAA,OAEzD,IAAI,CAACO,gBAAgB,CAAC8D,mBAAmB,CAAC1C,SAAS,CAAC;YAAA;cAArEhC,QAAQ,GAAAwE,SAAA,CAAApB,IAAA;cAEd,IAAI,CAACtB,YAAY,CAAC9B,QAAQ,EAAEqD,wBAAgB,CAACsB,SAAS,EAAE3C,SAAS,CAAC;cAElE9C,eAAG,CAACA,GAAG,qDAAA8B,MAAA,CAC+CgB,SAAS,mBAAAhB,MAAA,CAAgBhB,QAAQ,CAACiC,UAAU,GAChGlC,aACF,CAAC;cAAC,OAAAyE,SAAA,CAAA1D,MAAA,WAEKd,QAAQ;YAAA;YAAA;cAAA,OAAAwE,SAAA,CAAArD,IAAA;UAAA;QAAA,GAAAoD,QAAA;MAAA,CAChB;MAAA,SAlBYG,mBAAmBA,CAAAE,GAAA;QAAA,OAAAN,oBAAA,CAAA3G,KAAA,OAAAyD,SAAA;MAAA;MAAA,OAAnBsD,mBAAmB;IAAA;IAoBhC;AACF;AACA;AACA;AACA;IAJE;EAAA;IAAAlF,GAAA;IAAAC,KAAA;MAAA,IAAAoF,sBAAA,OAAAlF,kBAAA,CAAArC,OAAA,eAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAKA,SAAAiF,SAAmC9C,SAAiB;QAAA,IAAAjC,aAAA,EAAAC,QAAA;QAAA,OAAAJ,YAAA,CAAAtC,OAAA,CAAA4C,IAAA,WAAA6E,SAAA;UAAA,kBAAAA,SAAA,CAAA3E,IAAA,GAAA2E,SAAA,CAAA1E,IAAA;YAAA;cAC5CN,aAAa,GAAG;gBACpBO,IAAI,EAAEjB,0BAAc;gBACpBkB,MAAM,EAAEC,mBAAO,CAACwE;cAClB,CAAC;cAED9F,eAAG,CAACwB,IAAI,IAAAM,MAAA,CAAIL,+BAAoB,uBAAAK,MAAA,CAAoBgB,SAAS,GAAIjC,aAAa,CAAC;cAACgF,SAAA,CAAA1E,IAAA;cAAA,OAEzD,IAAI,CAACO,gBAAgB,CAACqE,qBAAqB,CAACjD,SAAS,CAAC;YAAA;cAAvEhC,QAAQ,GAAA+E,SAAA,CAAA3B,IAAA;cAEd,IAAI,CAACtB,YAAY,CAAC9B,QAAQ,EAAEqD,wBAAgB,CAAC6B,WAAW,EAAElD,SAAS,CAAC;cAEpE9C,eAAG,CAACA,GAAG,uDAAA8B,MAAA,CACiDgB,SAAS,mBAAAhB,MAAA,CAAgBhB,QAAQ,CAACiC,UAAU,GAClGlC,aACF,CAAC;cAAC,OAAAgF,SAAA,CAAAjE,MAAA,WAEKd,QAAQ;YAAA;YAAA;cAAA,OAAA+E,SAAA,CAAA5D,IAAA;UAAA;QAAA,GAAA2D,QAAA;MAAA,CAChB;MAAA,SAlBYG,qBAAqBA,CAAAE,GAAA;QAAA,OAAAN,sBAAA,CAAAlH,KAAA,OAAAyD,SAAA;MAAA;MAAA,OAArB6D,qBAAqB;IAAA;IAoBlC;AACF;AACA;AACA;AACA;IAJE;EAAA;IAAAzF,GAAA;IAAAC,KAAA;MAAA,IAAA2F,gBAAA,OAAAzF,kBAAA,CAAArC,OAAA,eAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAKA,SAAAwF,SAA6BrD,SAAiB;QAAA,IAAAjC,aAAA,EAAAC,QAAA;QAAA,OAAAJ,YAAA,CAAAtC,OAAA,CAAA4C,IAAA,WAAAoF,SAAA;UAAA,kBAAAA,SAAA,CAAAlF,IAAA,GAAAkF,SAAA,CAAAjF,IAAA;YAAA;cACtCN,aAAa,GAAG;gBACpBO,IAAI,EAAEjB,0BAAc;gBACpBkB,MAAM,EAAEC,mBAAO,CAAC+E;cAClB,CAAC;cAEDrG,eAAG,CAACwB,IAAI,IAAAM,MAAA,CAAIL,+BAAoB,uBAAAK,MAAA,CAAoBgB,SAAS,GAAIjC,aAAa,CAAC;cAACuF,SAAA,CAAAjF,IAAA;cAAA,OAEzD,IAAI,CAACO,gBAAgB,CAAC4E,eAAe,CAACxD,SAAS,CAAC;YAAA;cAAjEhC,QAAQ,GAAAsF,SAAA,CAAAlC,IAAA;cAEd,IAAI,CAACtB,YAAY,CAAC9B,QAAQ,EAAEqD,wBAAgB,CAACoC,MAAM,EAAEzD,SAAS,CAAC;cAE/D9C,eAAG,CAACA,GAAG,8CAAA8B,MAAA,CACwCgB,SAAS,mBAAAhB,MAAA,CAAgBhB,QAAQ,CAACiC,UAAU,GACzFlC,aACF,CAAC;cAAC,OAAAuF,SAAA,CAAAxE,MAAA,WAEKd,QAAQ;YAAA;YAAA;cAAA,OAAAsF,SAAA,CAAAnE,IAAA;UAAA;QAAA,GAAAkE,QAAA;MAAA,CAChB;MAAA,SAlBYG,eAAeA,CAAAE,GAAA;QAAA,OAAAN,gBAAA,CAAAzH,KAAA,OAAAyD,SAAA;MAAA;MAAA,OAAfoE,eAAe;IAAA;IAoB5B;AACF;AACA;AACA;AACA;IAJE;EAAA;IAAAhG,GAAA;IAAAC,KAAA;MAAA,IAAAkG,gBAAA,OAAAhG,kBAAA,CAAArC,OAAA,eAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAKA,SAAA+F,SAA6B5D,SAAiB;QAAA,IAAAjC,aAAA,EAAAC,QAAA;QAAA,OAAAJ,YAAA,CAAAtC,OAAA,CAAA4C,IAAA,WAAA2F,SAAA;UAAA,kBAAAA,SAAA,CAAAzF,IAAA,GAAAyF,SAAA,CAAAxF,IAAA;YAAA;cACtCN,aAAa,GAAG;gBACpBO,IAAI,EAAEjB,0BAAc;gBACpBkB,MAAM,EAAEC,mBAAO,CAACsF;cAClB,CAAC;cAED5G,eAAG,CAACwB,IAAI,IAAAM,MAAA,CAAIL,+BAAoB,uBAAAK,MAAA,CAAoBgB,SAAS,GAAIjC,aAAa,CAAC;cAAC8F,SAAA,CAAAxF,IAAA;cAAA,OAEzD,IAAI,CAACO,gBAAgB,CAACmF,eAAe,CAAC/D,SAAS,CAAC;YAAA;cAAjEhC,QAAQ,GAAA6F,SAAA,CAAAzC,IAAA;cAEd,IAAIpD,QAAQ,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC8B,YAAY,CAAC9B,QAAQ,EAAEqD,wBAAgB,CAAC2C,UAAU,EAAEhE,SAAS,CAAC;gBAEnE9C,eAAG,CAACA,GAAG,2DAAA8B,MAAA,CACqDgB,SAAS,mBAAAhB,MAAA,CAAgBhB,QAAQ,CAACiC,UAAU,GACtGlC,aACF,CAAC;cACH;cAAC,OAAA8F,SAAA,CAAA/E,MAAA,WAEMd,QAAQ;YAAA;YAAA;cAAA,OAAA6F,SAAA,CAAA1E,IAAA;UAAA;QAAA,GAAAyE,QAAA;MAAA,CAChB;MAAA,SApBYG,eAAeA,CAAAE,GAAA;QAAA,OAAAN,gBAAA,CAAAhI,KAAA,OAAAyD,SAAA;MAAA;MAAA,OAAf2E,eAAe;IAAA;IAsB5B;AACF;AACA;AACA;AACA;IAJE;EAAA;IAAAvG,GAAA;IAAAC,KAAA,EAKA,SAAOyG,cAAcA,CAACC,gBAAkC,EAAsC;MAC5F,IAAMpG,aAAa,GAAG;QACpBO,IAAI,EAAEjB,0BAAc;QACpBkB,MAAM,EAAEC,mBAAO,CAAC4F;MAClB,CAAC;MAEDlH,eAAG,CAACwB,IAAI,CAACC,+BAAoB,EAAEZ,aAAa,CAAC;MAE7C,IAAMC,QAAQ,GAAG,IAAI,CAACY,gBAAgB,CAACsF,cAAc,CAACC,gBAAgB,CAAC;MAEvEjH,eAAG,CAACA,GAAG,CAAC,2CAA2C,EAAEa,aAAa,CAAC;MAEnE,OAAOC,QAAQ;IACjB;;IAEA;AACF;AACA;AACA;EAHE;IAAAR,GAAA;IAAAC,KAAA,EAIA,SAAO4G,eAAeA,CAAA,EAAkB;MACtC,OAAO,IAAI,CAAC7H,YAAY;IAC1B;EAAC;AAAA,EAxV4B8H,cAAQ;AA2VvC;AACA;AACA;AACA;AACO,IAAMC,qBAAqB,GAAAtI,OAAA,CAAAsI,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAIpI,KAAe,EAAEC,MAAuB;EAAA,OAC5E,IAAIJ,SAAS,CAACG,KAAK,EAAEC,MAAM,CAAC;AAAA","ignoreList":[]}
@@ -78,8 +78,8 @@ describe('Voicemail Client tests', function () {
78
78
  });
79
79
  it.each(testData)('%s', /*#__PURE__*/function () {
80
80
  var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(data) {
81
- var voicemailClient, connectorResponse, contactResponse;
82
- return _regenerator.default.wrap(function _callee$(_context) {
81
+ var voicemailClient, connectorResponse, contactResponse, _t;
82
+ return _regenerator.default.wrap(function (_context) {
83
83
  while (1) switch (_context.prev = _context.next) {
84
84
  case 0:
85
85
  webex.internal.device.callingBehavior = data.callingBehavior;
@@ -89,7 +89,7 @@ describe('Voicemail Client tests', function () {
89
89
  }
90
90
  }];
91
91
  if (!data.valid) {
92
- _context.next = 27;
92
+ _context.next = 5;
93
93
  break;
94
94
  }
95
95
  voicemailClient = (0, _Voicemail.createVoicemailClient)(webex, {
@@ -123,14 +123,14 @@ describe('Voicemail Client tests', function () {
123
123
  file: 'VoicemailClient',
124
124
  method: _constants2.METHODS.RESOLVE_CONTACT
125
125
  });
126
- _context.t0 = data.callingBehavior;
127
- _context.next = _context.t0 === _constants.NATIVE_SIP_CALL_TO_UCM ? 19 : _context.t0 === _constants.NATIVE_WEBEX_TEAMS_CALLING ? 22 : 24;
126
+ _t = data.callingBehavior;
127
+ _context.next = _t === _constants.NATIVE_SIP_CALL_TO_UCM ? 1 : _t === _constants.NATIVE_WEBEX_TEAMS_CALLING ? 2 : 3;
128
128
  break;
129
- case 19:
129
+ case 1:
130
130
  expect(voicemailClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.UCM);
131
131
  expect(voicemailClient['backendConnector']).toBeInstanceOf(_UcmBackendConnector.UcmBackendConnector);
132
- return _context.abrupt("break", 25);
133
- case 22:
132
+ return _context.abrupt("continue", 4);
133
+ case 2:
134
134
  if (data.entitlement === _constants.ENTITLEMENT_BROADWORKS_CONN) {
135
135
  expect(voicemailClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.BWRKS);
136
136
  expect(voicemailClient['backendConnector']).toBeInstanceOf(_BroadworksBackendConnector.BroadworksBackendConnector);
@@ -139,19 +139,19 @@ describe('Voicemail Client tests', function () {
139
139
  expect(voicemailClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.WXC);
140
140
  expect(voicemailClient['backendConnector']).toBeInstanceOf(_WxCallBackendConnector.WxCallBackendConnector);
141
141
  }
142
- return _context.abrupt("break", 25);
143
- case 24:
142
+ return _context.abrupt("continue", 4);
143
+ case 3:
144
144
  fail('Unknown calling backend type.');
145
- case 25:
146
- _context.next = 28;
145
+ case 4:
146
+ _context.next = 6;
147
147
  break;
148
- case 27:
148
+ case 5:
149
149
  expect(function () {
150
150
  (0, _Voicemail.createVoicemailClient)(webex, {
151
151
  level: _types.LOGGER.INFO
152
152
  });
153
153
  }).toThrowError('Calling backend is not identified, exiting....');
154
- case 28:
154
+ case 6:
155
155
  case "end":
156
156
  return _context.stop();
157
157
  }
@@ -215,7 +215,7 @@ describe('Voicemail Client tests', function () {
215
215
  it.each(testData)('%s', /*#__PURE__*/function () {
216
216
  var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(data) {
217
217
  var response, args, errorMessage, errorCode;
218
- return _regenerator.default.wrap(function _callee2$(_context2) {
218
+ return _regenerator.default.wrap(function (_context2) {
219
219
  while (1) switch (_context2.prev = _context2.next) {
220
220
  case 0:
221
221
  response = {
@@ -225,9 +225,9 @@ describe('Voicemail Client tests', function () {
225
225
  };
226
226
  args = data.metricAction === _types3.VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY && [] || data.metricAction === _types3.VOICEMAIL_ACTION.GET_VOICEMAILS ? [0, 0, _types2.SORT.ASC] : [messageId];
227
227
  voicemailClient['backendConnector'][data.method].mockResolvedValue(response);
228
- _context2.next = 5;
228
+ _context2.next = 1;
229
229
  return voicemailClient[data.method].apply(voicemailClient, args);
230
- case 5:
230
+ case 1:
231
231
  // Check logging for success case
232
232
  // Check for specific log messages based on method called
233
233
  if (data.method === 'getVoicemailList') {
@@ -306,9 +306,9 @@ describe('Voicemail Client tests', function () {
306
306
  infoSpy.mockClear();
307
307
  logSpy.mockClear();
308
308
  errorSpy.mockClear();
309
- _context2.next = 18;
309
+ _context2.next = 2;
310
310
  return voicemailClient[data.method].apply(voicemailClient, args);
311
- case 18:
311
+ case 2:
312
312
  // Check for error case logging with specific message checks
313
313
  if (data.method === 'getVoicemailList') {
314
314
  expect(infoSpy).toHaveBeenCalledWith(expect.stringContaining('invoking with: offset='), expect.objectContaining({
@@ -376,7 +376,7 @@ describe('Voicemail Client tests', function () {
376
376
  }
377
377
  expect(errorSpy).not.toHaveBeenCalled();
378
378
  expect(metricSpy).toHaveBeenCalledWith(_types3.METRIC_EVENT.VOICEMAIL_ERROR, data.metricAction, _types3.METRIC_TYPE.BEHAVIORAL, [_types3.VOICEMAIL_ACTION.GET_VOICEMAILS, _types3.VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY].includes(data.metricAction) ? undefined : messageId, errorMessage, errorCode);
379
- case 21:
379
+ case 3:
380
380
  case "end":
381
381
  return _context2.stop();
382
382
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_testUtil","require","_Voicemail","_types","_constants","_types2","_UcmBackendConnector","_BroadworksBackendConnector","_WxCallBackendConnector","_types3","_voicemailFixture","_Logger","_interopRequireDefault","_constants2","describe","webex","getTestUtilsWebex","infoSpy","logSpy","errorSpy","beforeEach","jest","spyOn","log","afterEach","clearAllMocks","testData","name","callingBehavior","NATIVE_SIP_CALL_TO_UCM","entitlement","valid","NATIVE_WEBEX_TEAMS_CALLING","ENTITLEMENT_BASIC","ENTITLEMENT_STANDARD","ENTITLEMENT_BROADWORKS_CONN","map","stat","_assign","default","toString","it","each","_ref","_asyncToGenerator2","_regenerator","mark","_callee","data","voicemailClient","connectorResponse","contactResponse","wrap","_callee$","_context","prev","next","internal","device","features","models","_values","key","createVoicemailClient","level","LOGGER","INFO","init","fn","_promise","resolve","resolveContact","resolveContactArgs","expect","toBeTruthy","getSDKConnector","getWebex","toHaveBeenCalledWith","METHOD_START_MESSAGE","file","method","METHODS","INIT","RESOLVE_CONTACT","t0","toStrictEqual","CALLING_BACKEND","UCM","toBeInstanceOf","UcmBackendConnector","abrupt","BWRKS","BroadworksBackendConnector","WXC","WxCallBackendConnector","fail","toThrowError","stop","_x","apply","arguments","messageId","metricSpy","getVoicemailList","getVoicemailContent","getVoicemailSummary","voicemailMarkAsRead","voicemailMarkAsUnread","deleteVoicemail","getVMTranscript","metricAction","VOICEMAIL_ACTION","GET_VOICEMAILS","GET_VOICEMAIL_CONTENT","MARK_READ","MARK_UNREAD","DELETE","TRANSCRIPT","GET_VOICEMAIL_SUMMARY","concat","_ref2","_callee2","response","args","errorMessage","errorCode","_callee2$","_context2","statusCode","message","SORT","ASC","mockResolvedValue","stringContaining","objectContaining","GET_VOICEMAIL_LIST","VOICEMAIL_MARK_AS_READ","VOICEMAIL_MARK_AS_UNREAD","DELETE_VOICEMAIL","GET_VM_TRANSCRIPT","not","toHaveBeenCalled","METRIC_EVENT","VOICEMAIL","METRIC_TYPE","BEHAVIORAL","includes","undefined","mockClear","error","VOICEMAIL_ERROR","_x2"],"sources":["Voicemail.test.ts"],"sourcesContent":["import {getTestUtilsWebex} from '../common/testUtil';\nimport {createVoicemailClient} from './Voicemail';\nimport {LOGGER} from '../Logger/types';\nimport {\n ENTITLEMENT_BASIC,\n ENTITLEMENT_BROADWORKS_CONN,\n ENTITLEMENT_STANDARD,\n METHOD_START_MESSAGE,\n NATIVE_SIP_CALL_TO_UCM,\n NATIVE_WEBEX_TEAMS_CALLING,\n} from '../common/constants';\nimport {VoicemailResponseEvent} from './types';\nimport {CALLING_BACKEND, SORT} from '../common/types';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {BroadworksBackendConnector} from './BroadworksBackendConnector';\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {VOICEMAIL_ACTION, METRIC_EVENT, METRIC_TYPE} from '../Metrics/types';\nimport {resolveContactArgs} from './voicemailFixture';\nimport log from '../Logger';\nimport {METHODS} from './constants';\n\ndescribe('Voicemail Client tests', () => {\n const webex = getTestUtilsWebex();\n let infoSpy;\n let logSpy;\n let errorSpy;\n\n beforeEach(() => {\n infoSpy = jest.spyOn(log, 'info');\n logSpy = jest.spyOn(log, 'log');\n errorSpy = jest.spyOn(log, 'error');\n });\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n describe('createVoicemailClient tests', () => {\n /**\n * TestCase inputs\n * name: TestCase name\n * callingBehavior: Calling profile\n * entitlement: Entitlement\n * valid: expected result for vm client creation with given inputs.\n */\n const testData: {\n name: string;\n callingBehavior: string;\n entitlement: string;\n valid: boolean;\n }[] = [\n {\n name: 'verify valid ucm voicemail client',\n callingBehavior: NATIVE_SIP_CALL_TO_UCM,\n entitlement: 'none',\n valid: true,\n },\n {\n name: 'verify valid wxc voicemail client with basic entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BASIC,\n valid: true,\n },\n {\n name: 'verify valid wxc voicemail client with standard entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_STANDARD,\n valid: true,\n },\n {\n name: 'verify valid wxc voicemail client with broadworks entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BROADWORKS_CONN,\n valid: true,\n },\n {\n name: 'verify invalid callingBehavior',\n callingBehavior: 'INVALID',\n entitlement: ENTITLEMENT_BASIC,\n valid: false,\n },\n {\n name: 'verify invalid entitlement for wxc voicemail client',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: 'invalid',\n valid: false,\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n /* eslint-disable dot-notation */\n return this['name'];\n },\n })\n );\n\n it.each(testData)('%s', async (data) => {\n webex.internal.device.callingBehavior = data.callingBehavior;\n webex.internal.device.features.entitlement.models = [{_values: {key: data.entitlement}}];\n if (data.valid) {\n const voicemailClient = createVoicemailClient(webex, {level: LOGGER.INFO});\n\n voicemailClient['backendConnector'].init = jest.fn(() => Promise.resolve({}));\n voicemailClient['backendConnector'].resolveContact = jest.fn(() => Promise.resolve({}));\n\n const connectorResponse = voicemailClient.init();\n const contactResponse = voicemailClient.resolveContact(resolveContactArgs);\n\n expect(voicemailClient).toBeTruthy();\n expect(voicemailClient.getSDKConnector().getWebex()).toBeTruthy();\n expect(connectorResponse).toBeTruthy();\n expect(contactResponse).toBeTruthy();\n\n expect(infoSpy).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: 'VoicemailClient',\n method: METHODS.INIT,\n });\n expect(logSpy).toHaveBeenCalledWith('Voicemail connector initialized successfully', {\n file: 'VoicemailClient',\n method: METHODS.INIT,\n });\n expect(infoSpy).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: 'VoicemailClient',\n method: METHODS.RESOLVE_CONTACT,\n });\n expect(logSpy).toHaveBeenCalledWith('Contact resolution completed successfully', {\n file: 'VoicemailClient',\n method: METHODS.RESOLVE_CONTACT,\n });\n\n switch (data.callingBehavior) {\n case NATIVE_SIP_CALL_TO_UCM:\n expect(voicemailClient['callingBackend']).toStrictEqual(CALLING_BACKEND.UCM);\n expect(voicemailClient['backendConnector']).toBeInstanceOf(UcmBackendConnector);\n break;\n case NATIVE_WEBEX_TEAMS_CALLING:\n if (data.entitlement === ENTITLEMENT_BROADWORKS_CONN) {\n expect(voicemailClient['callingBackend']).toStrictEqual(CALLING_BACKEND.BWRKS);\n expect(voicemailClient['backendConnector']).toBeInstanceOf(\n BroadworksBackendConnector\n );\n } else {\n /* entitlement basic and standard */\n expect(voicemailClient['callingBackend']).toStrictEqual(CALLING_BACKEND.WXC);\n expect(voicemailClient['backendConnector']).toBeInstanceOf(WxCallBackendConnector);\n }\n break;\n default:\n fail('Unknown calling backend type.');\n }\n } else {\n expect(() => {\n createVoicemailClient(webex, {level: LOGGER.INFO});\n }).toThrowError('Calling backend is not identified, exiting....');\n }\n });\n });\n\n describe('voicemail metrics test', () => {\n webex.internal.device.callingBehavior = NATIVE_WEBEX_TEAMS_CALLING;\n webex.internal.device.features.entitlement.models = [{_values: {key: ENTITLEMENT_STANDARD}}];\n const voicemailClient = createVoicemailClient(webex, {level: LOGGER.INFO});\n const messageId =\n '/v2.0/user/08cedee9-296f-4aaf-bd4b-e14f2399abdf/VoiceMessagingMessages/ec8c3baf-afe4-4cef-b02f-19026b9e039c';\n const metricSpy = jest.spyOn(voicemailClient['metricManager'], 'submitVoicemailMetric');\n\n voicemailClient['backendConnector'] = {\n getVoicemailList: jest.fn(),\n getVoicemailContent: jest.fn(),\n getVoicemailSummary: jest.fn(),\n voicemailMarkAsRead: jest.fn(),\n voicemailMarkAsUnread: jest.fn(),\n deleteVoicemail: jest.fn(),\n getVMTranscript: jest.fn(),\n resolveContact: jest.fn(),\n };\n\n const testData: {\n metricAction: VOICEMAIL_ACTION;\n method: string;\n }[] = [\n {\n metricAction: VOICEMAIL_ACTION.GET_VOICEMAILS,\n method: 'getVoicemailList',\n },\n {\n metricAction: VOICEMAIL_ACTION.GET_VOICEMAIL_CONTENT,\n method: 'getVoicemailContent',\n },\n {\n metricAction: VOICEMAIL_ACTION.MARK_READ,\n method: 'voicemailMarkAsRead',\n },\n {\n metricAction: VOICEMAIL_ACTION.MARK_UNREAD,\n method: 'voicemailMarkAsUnread',\n },\n {\n metricAction: VOICEMAIL_ACTION.DELETE,\n method: 'deleteVoicemail',\n },\n {\n metricAction: VOICEMAIL_ACTION.TRANSCRIPT,\n method: 'getVMTranscript',\n },\n {\n metricAction: VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY,\n method: 'getVoicemailSummary',\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n return `test ${this['method']} with metrics`;\n },\n })\n );\n\n it.each(testData)('%s', async (data) => {\n const response = {\n statusCode: 204,\n message: 'SUCCESS',\n data: {},\n } as VoicemailResponseEvent;\n\n const args =\n (data.metricAction === VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY && []) ||\n data.metricAction === VOICEMAIL_ACTION.GET_VOICEMAILS\n ? [0, 0, SORT.ASC]\n : [messageId];\n\n voicemailClient['backendConnector'][data.method].mockResolvedValue(response);\n await voicemailClient[data.method](...args);\n\n // Check logging for success case\n // Check for specific log messages based on method called\n if (data.method === 'getVoicemailList') {\n expect(infoSpy).toHaveBeenCalledWith(\n expect.stringContaining('invoking with: offset='),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_LIST,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved voicemail list'),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_LIST,\n })\n );\n } else if (data.method === 'getVoicemailSummary') {\n expect(infoSpy).toHaveBeenCalledWith(\n METHOD_START_MESSAGE,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved voicemail summary'),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n })\n );\n } else if (data.method === 'getVoicemailContent') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully retrieved voicemail content for messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n })\n );\n } else if (data.method === 'voicemailMarkAsRead') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(`Successfully marked voicemail as read: messageId=${messageId}`),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n })\n );\n } else if (data.method === 'voicemailMarkAsUnread') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully marked voicemail as unread: messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n })\n );\n } else if (data.method === 'deleteVoicemail') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.DELETE_VOICEMAIL,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(`Successfully deleted voicemail: messageId=${messageId}`),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.DELETE_VOICEMAIL,\n })\n );\n } else if (data.method === 'getVMTranscript') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VM_TRANSCRIPT,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully retrieved voicemail transcript: messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VM_TRANSCRIPT,\n })\n );\n }\n expect(errorSpy).not.toHaveBeenCalled();\n\n expect(metricSpy).toHaveBeenCalledWith(\n METRIC_EVENT.VOICEMAIL,\n data.metricAction,\n METRIC_TYPE.BEHAVIORAL,\n [VOICEMAIL_ACTION.GET_VOICEMAILS, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY].includes(\n data.metricAction\n )\n ? undefined\n : messageId\n );\n\n metricSpy.mockClear();\n\n const errorMessage = 'User is unauthorised';\n const errorCode = 401;\n\n response.statusCode = errorCode;\n response.data = {error: errorMessage};\n\n infoSpy.mockClear();\n logSpy.mockClear();\n errorSpy.mockClear();\n\n await voicemailClient[data.method](...args);\n\n // Check for error case logging with specific message checks\n if (data.method === 'getVoicemailList') {\n expect(infoSpy).toHaveBeenCalledWith(\n expect.stringContaining('invoking with: offset='),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_LIST,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved voicemail list'),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_LIST,\n })\n );\n } else if (data.method === 'getVoicemailSummary') {\n expect(infoSpy).toHaveBeenCalledWith(\n METHOD_START_MESSAGE,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved voicemail summary'),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n })\n );\n } else if (data.method === 'getVoicemailContent') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully retrieved voicemail content for messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n })\n );\n } else if (data.method === 'voicemailMarkAsRead') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(`Successfully marked voicemail as read: messageId=${messageId}`),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n })\n );\n } else if (data.method === 'voicemailMarkAsUnread') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully marked voicemail as unread: messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n })\n );\n } else if (data.method === 'deleteVoicemail') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.DELETE_VOICEMAIL,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(`Successfully deleted voicemail: messageId=${messageId}`),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.DELETE_VOICEMAIL,\n })\n );\n } else if (data.method === 'getVMTranscript') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VM_TRANSCRIPT,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully retrieved voicemail transcript: messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VM_TRANSCRIPT,\n })\n );\n }\n expect(errorSpy).not.toHaveBeenCalled();\n\n expect(metricSpy).toHaveBeenCalledWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n data.metricAction,\n METRIC_TYPE.BEHAVIORAL,\n [VOICEMAIL_ACTION.GET_VOICEMAILS, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY].includes(\n data.metricAction\n )\n ? undefined\n : messageId,\n errorMessage,\n errorCode\n );\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_testUtil","require","_Voicemail","_types","_constants","_types2","_UcmBackendConnector","_BroadworksBackendConnector","_WxCallBackendConnector","_types3","_voicemailFixture","_Logger","_interopRequireDefault","_constants2","describe","webex","getTestUtilsWebex","infoSpy","logSpy","errorSpy","beforeEach","jest","spyOn","log","afterEach","clearAllMocks","testData","name","callingBehavior","NATIVE_SIP_CALL_TO_UCM","entitlement","valid","NATIVE_WEBEX_TEAMS_CALLING","ENTITLEMENT_BASIC","ENTITLEMENT_STANDARD","ENTITLEMENT_BROADWORKS_CONN","map","stat","_assign","default","toString","it","each","_ref","_asyncToGenerator2","_regenerator","mark","_callee","data","voicemailClient","connectorResponse","contactResponse","_t","wrap","_context","prev","next","internal","device","features","models","_values","key","createVoicemailClient","level","LOGGER","INFO","init","fn","_promise","resolve","resolveContact","resolveContactArgs","expect","toBeTruthy","getSDKConnector","getWebex","toHaveBeenCalledWith","METHOD_START_MESSAGE","file","method","METHODS","INIT","RESOLVE_CONTACT","toStrictEqual","CALLING_BACKEND","UCM","toBeInstanceOf","UcmBackendConnector","abrupt","BWRKS","BroadworksBackendConnector","WXC","WxCallBackendConnector","fail","toThrowError","stop","_x","apply","arguments","messageId","metricSpy","getVoicemailList","getVoicemailContent","getVoicemailSummary","voicemailMarkAsRead","voicemailMarkAsUnread","deleteVoicemail","getVMTranscript","metricAction","VOICEMAIL_ACTION","GET_VOICEMAILS","GET_VOICEMAIL_CONTENT","MARK_READ","MARK_UNREAD","DELETE","TRANSCRIPT","GET_VOICEMAIL_SUMMARY","concat","_ref2","_callee2","response","args","errorMessage","errorCode","_context2","statusCode","message","SORT","ASC","mockResolvedValue","stringContaining","objectContaining","GET_VOICEMAIL_LIST","VOICEMAIL_MARK_AS_READ","VOICEMAIL_MARK_AS_UNREAD","DELETE_VOICEMAIL","GET_VM_TRANSCRIPT","not","toHaveBeenCalled","METRIC_EVENT","VOICEMAIL","METRIC_TYPE","BEHAVIORAL","includes","undefined","mockClear","error","VOICEMAIL_ERROR","_x2"],"sources":["Voicemail.test.ts"],"sourcesContent":["import {getTestUtilsWebex} from '../common/testUtil';\nimport {createVoicemailClient} from './Voicemail';\nimport {LOGGER} from '../Logger/types';\nimport {\n ENTITLEMENT_BASIC,\n ENTITLEMENT_BROADWORKS_CONN,\n ENTITLEMENT_STANDARD,\n METHOD_START_MESSAGE,\n NATIVE_SIP_CALL_TO_UCM,\n NATIVE_WEBEX_TEAMS_CALLING,\n} from '../common/constants';\nimport {VoicemailResponseEvent} from './types';\nimport {CALLING_BACKEND, SORT} from '../common/types';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {BroadworksBackendConnector} from './BroadworksBackendConnector';\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {VOICEMAIL_ACTION, METRIC_EVENT, METRIC_TYPE} from '../Metrics/types';\nimport {resolveContactArgs} from './voicemailFixture';\nimport log from '../Logger';\nimport {METHODS} from './constants';\n\ndescribe('Voicemail Client tests', () => {\n const webex = getTestUtilsWebex();\n let infoSpy;\n let logSpy;\n let errorSpy;\n\n beforeEach(() => {\n infoSpy = jest.spyOn(log, 'info');\n logSpy = jest.spyOn(log, 'log');\n errorSpy = jest.spyOn(log, 'error');\n });\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n describe('createVoicemailClient tests', () => {\n /**\n * TestCase inputs\n * name: TestCase name\n * callingBehavior: Calling profile\n * entitlement: Entitlement\n * valid: expected result for vm client creation with given inputs.\n */\n const testData: {\n name: string;\n callingBehavior: string;\n entitlement: string;\n valid: boolean;\n }[] = [\n {\n name: 'verify valid ucm voicemail client',\n callingBehavior: NATIVE_SIP_CALL_TO_UCM,\n entitlement: 'none',\n valid: true,\n },\n {\n name: 'verify valid wxc voicemail client with basic entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BASIC,\n valid: true,\n },\n {\n name: 'verify valid wxc voicemail client with standard entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_STANDARD,\n valid: true,\n },\n {\n name: 'verify valid wxc voicemail client with broadworks entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BROADWORKS_CONN,\n valid: true,\n },\n {\n name: 'verify invalid callingBehavior',\n callingBehavior: 'INVALID',\n entitlement: ENTITLEMENT_BASIC,\n valid: false,\n },\n {\n name: 'verify invalid entitlement for wxc voicemail client',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: 'invalid',\n valid: false,\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n /* eslint-disable dot-notation */\n return this['name'];\n },\n })\n );\n\n it.each(testData)('%s', async (data) => {\n webex.internal.device.callingBehavior = data.callingBehavior;\n webex.internal.device.features.entitlement.models = [{_values: {key: data.entitlement}}];\n if (data.valid) {\n const voicemailClient = createVoicemailClient(webex, {level: LOGGER.INFO});\n\n voicemailClient['backendConnector'].init = jest.fn(() => Promise.resolve({}));\n voicemailClient['backendConnector'].resolveContact = jest.fn(() => Promise.resolve({}));\n\n const connectorResponse = voicemailClient.init();\n const contactResponse = voicemailClient.resolveContact(resolveContactArgs);\n\n expect(voicemailClient).toBeTruthy();\n expect(voicemailClient.getSDKConnector().getWebex()).toBeTruthy();\n expect(connectorResponse).toBeTruthy();\n expect(contactResponse).toBeTruthy();\n\n expect(infoSpy).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: 'VoicemailClient',\n method: METHODS.INIT,\n });\n expect(logSpy).toHaveBeenCalledWith('Voicemail connector initialized successfully', {\n file: 'VoicemailClient',\n method: METHODS.INIT,\n });\n expect(infoSpy).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: 'VoicemailClient',\n method: METHODS.RESOLVE_CONTACT,\n });\n expect(logSpy).toHaveBeenCalledWith('Contact resolution completed successfully', {\n file: 'VoicemailClient',\n method: METHODS.RESOLVE_CONTACT,\n });\n\n switch (data.callingBehavior) {\n case NATIVE_SIP_CALL_TO_UCM:\n expect(voicemailClient['callingBackend']).toStrictEqual(CALLING_BACKEND.UCM);\n expect(voicemailClient['backendConnector']).toBeInstanceOf(UcmBackendConnector);\n break;\n case NATIVE_WEBEX_TEAMS_CALLING:\n if (data.entitlement === ENTITLEMENT_BROADWORKS_CONN) {\n expect(voicemailClient['callingBackend']).toStrictEqual(CALLING_BACKEND.BWRKS);\n expect(voicemailClient['backendConnector']).toBeInstanceOf(\n BroadworksBackendConnector\n );\n } else {\n /* entitlement basic and standard */\n expect(voicemailClient['callingBackend']).toStrictEqual(CALLING_BACKEND.WXC);\n expect(voicemailClient['backendConnector']).toBeInstanceOf(WxCallBackendConnector);\n }\n break;\n default:\n fail('Unknown calling backend type.');\n }\n } else {\n expect(() => {\n createVoicemailClient(webex, {level: LOGGER.INFO});\n }).toThrowError('Calling backend is not identified, exiting....');\n }\n });\n });\n\n describe('voicemail metrics test', () => {\n webex.internal.device.callingBehavior = NATIVE_WEBEX_TEAMS_CALLING;\n webex.internal.device.features.entitlement.models = [{_values: {key: ENTITLEMENT_STANDARD}}];\n const voicemailClient = createVoicemailClient(webex, {level: LOGGER.INFO});\n const messageId =\n '/v2.0/user/08cedee9-296f-4aaf-bd4b-e14f2399abdf/VoiceMessagingMessages/ec8c3baf-afe4-4cef-b02f-19026b9e039c';\n const metricSpy = jest.spyOn(voicemailClient['metricManager'], 'submitVoicemailMetric');\n\n voicemailClient['backendConnector'] = {\n getVoicemailList: jest.fn(),\n getVoicemailContent: jest.fn(),\n getVoicemailSummary: jest.fn(),\n voicemailMarkAsRead: jest.fn(),\n voicemailMarkAsUnread: jest.fn(),\n deleteVoicemail: jest.fn(),\n getVMTranscript: jest.fn(),\n resolveContact: jest.fn(),\n };\n\n const testData: {\n metricAction: VOICEMAIL_ACTION;\n method: string;\n }[] = [\n {\n metricAction: VOICEMAIL_ACTION.GET_VOICEMAILS,\n method: 'getVoicemailList',\n },\n {\n metricAction: VOICEMAIL_ACTION.GET_VOICEMAIL_CONTENT,\n method: 'getVoicemailContent',\n },\n {\n metricAction: VOICEMAIL_ACTION.MARK_READ,\n method: 'voicemailMarkAsRead',\n },\n {\n metricAction: VOICEMAIL_ACTION.MARK_UNREAD,\n method: 'voicemailMarkAsUnread',\n },\n {\n metricAction: VOICEMAIL_ACTION.DELETE,\n method: 'deleteVoicemail',\n },\n {\n metricAction: VOICEMAIL_ACTION.TRANSCRIPT,\n method: 'getVMTranscript',\n },\n {\n metricAction: VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY,\n method: 'getVoicemailSummary',\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n return `test ${this['method']} with metrics`;\n },\n })\n );\n\n it.each(testData)('%s', async (data) => {\n const response = {\n statusCode: 204,\n message: 'SUCCESS',\n data: {},\n } as VoicemailResponseEvent;\n\n const args =\n (data.metricAction === VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY && []) ||\n data.metricAction === VOICEMAIL_ACTION.GET_VOICEMAILS\n ? [0, 0, SORT.ASC]\n : [messageId];\n\n voicemailClient['backendConnector'][data.method].mockResolvedValue(response);\n await voicemailClient[data.method](...args);\n\n // Check logging for success case\n // Check for specific log messages based on method called\n if (data.method === 'getVoicemailList') {\n expect(infoSpy).toHaveBeenCalledWith(\n expect.stringContaining('invoking with: offset='),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_LIST,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved voicemail list'),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_LIST,\n })\n );\n } else if (data.method === 'getVoicemailSummary') {\n expect(infoSpy).toHaveBeenCalledWith(\n METHOD_START_MESSAGE,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved voicemail summary'),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n })\n );\n } else if (data.method === 'getVoicemailContent') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully retrieved voicemail content for messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n })\n );\n } else if (data.method === 'voicemailMarkAsRead') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(`Successfully marked voicemail as read: messageId=${messageId}`),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n })\n );\n } else if (data.method === 'voicemailMarkAsUnread') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully marked voicemail as unread: messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n })\n );\n } else if (data.method === 'deleteVoicemail') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.DELETE_VOICEMAIL,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(`Successfully deleted voicemail: messageId=${messageId}`),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.DELETE_VOICEMAIL,\n })\n );\n } else if (data.method === 'getVMTranscript') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VM_TRANSCRIPT,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully retrieved voicemail transcript: messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VM_TRANSCRIPT,\n })\n );\n }\n expect(errorSpy).not.toHaveBeenCalled();\n\n expect(metricSpy).toHaveBeenCalledWith(\n METRIC_EVENT.VOICEMAIL,\n data.metricAction,\n METRIC_TYPE.BEHAVIORAL,\n [VOICEMAIL_ACTION.GET_VOICEMAILS, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY].includes(\n data.metricAction\n )\n ? undefined\n : messageId\n );\n\n metricSpy.mockClear();\n\n const errorMessage = 'User is unauthorised';\n const errorCode = 401;\n\n response.statusCode = errorCode;\n response.data = {error: errorMessage};\n\n infoSpy.mockClear();\n logSpy.mockClear();\n errorSpy.mockClear();\n\n await voicemailClient[data.method](...args);\n\n // Check for error case logging with specific message checks\n if (data.method === 'getVoicemailList') {\n expect(infoSpy).toHaveBeenCalledWith(\n expect.stringContaining('invoking with: offset='),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_LIST,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved voicemail list'),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_LIST,\n })\n );\n } else if (data.method === 'getVoicemailSummary') {\n expect(infoSpy).toHaveBeenCalledWith(\n METHOD_START_MESSAGE,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved voicemail summary'),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_SUMMARY,\n })\n );\n } else if (data.method === 'getVoicemailContent') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully retrieved voicemail content for messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VOICEMAIL_CONTENT,\n })\n );\n } else if (data.method === 'voicemailMarkAsRead') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(`Successfully marked voicemail as read: messageId=${messageId}`),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_READ,\n })\n );\n } else if (data.method === 'voicemailMarkAsUnread') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully marked voicemail as unread: messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.VOICEMAIL_MARK_AS_UNREAD,\n })\n );\n } else if (data.method === 'deleteVoicemail') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.DELETE_VOICEMAIL,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(`Successfully deleted voicemail: messageId=${messageId}`),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.DELETE_VOICEMAIL,\n })\n );\n } else if (data.method === 'getVMTranscript') {\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with: messageId=${messageId}`,\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VM_TRANSCRIPT,\n })\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining(\n `Successfully retrieved voicemail transcript: messageId=${messageId}`\n ),\n expect.objectContaining({\n file: 'VoicemailClient',\n method: METHODS.GET_VM_TRANSCRIPT,\n })\n );\n }\n expect(errorSpy).not.toHaveBeenCalled();\n\n expect(metricSpy).toHaveBeenCalledWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n data.metricAction,\n METRIC_TYPE.BEHAVIORAL,\n [VOICEMAIL_ACTION.GET_VOICEMAILS, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY].includes(\n data.metricAction\n )\n ? undefined\n : messageId,\n errorMessage,\n errorCode\n );\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}