@webex/calling 3.10.0-next.9 → 3.10.0-webex-services-ready.1
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.
- package/dist/CallHistory/CallHistory.js +118 -124
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +189 -201
- package/dist/CallHistory/CallHistory.test.js.map +1 -1
- package/dist/CallSettings/CallSettings.js +17 -18
- package/dist/CallSettings/CallSettings.js.map +1 -1
- package/dist/CallSettings/CallSettings.test.js +14 -14
- package/dist/CallSettings/CallSettings.test.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.js +71 -24
- package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +136 -47
- package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.js +135 -137
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +145 -149
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +198 -201
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +168 -168
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.js +7 -8
- package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
- package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +650 -606
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +685 -564
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +15 -18
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +113 -113
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/constants.js +5 -1
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +57 -74
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +22 -22
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +657 -526
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +657 -309
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +24 -24
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.test.js +20 -20
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
- package/dist/Contacts/ContactsClient.js +250 -253
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +60 -60
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Errors/catalog/CallError.js +7 -10
- package/dist/Errors/catalog/CallError.js.map +1 -1
- package/dist/Errors/catalog/CallingDeviceError.js +6 -9
- package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
- package/dist/Errors/catalog/ExtendedError.js +6 -8
- package/dist/Errors/catalog/ExtendedError.js.map +1 -1
- package/dist/Errors/catalog/LineError.js +6 -9
- package/dist/Errors/catalog/LineError.js.map +1 -1
- package/dist/Events/impl/index.js +11 -13
- package/dist/Events/impl/index.js.map +1 -1
- package/dist/Metrics/index.js +1 -2
- package/dist/Metrics/index.js.map +1 -1
- package/dist/SDKConnector/index.js +1 -2
- package/dist/SDKConnector/index.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +126 -127
- package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +98 -98
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.js +84 -85
- package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
- package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/Voicemail.js +58 -61
- package/dist/Voicemail/Voicemail.js.map +1 -1
- package/dist/Voicemail/Voicemail.test.js +20 -20
- package/dist/Voicemail/Voicemail.test.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.js +116 -117
- package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +140 -140
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
- package/dist/common/Utils.js +195 -165
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +432 -183
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/constants.js +3 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/testUtil.js +3 -3
- package/dist/common/testUtil.js.map +1 -1
- package/dist/module/CallSettings/UcmBackendConnector.js +20 -6
- package/dist/module/CallingClient/calling/call.js +55 -34
- package/dist/module/CallingClient/constants.js +3 -0
- package/dist/module/CallingClient/registration/register.js +82 -2
- package/dist/module/common/Utils.js +27 -3
- package/dist/module/common/constants.js +2 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +4 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +3 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +4 -0
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +6 -0
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +6 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/constants.d.ts +2 -0
- package/dist/types/common/constants.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -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":"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","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
|
|
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 =
|
|
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
|
-
|
|
127
|
-
_context.next =
|
|
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
|
|
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("
|
|
133
|
-
case
|
|
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("
|
|
143
|
-
case
|
|
142
|
+
return _context.abrupt("continue", 4);
|
|
143
|
+
case 3:
|
|
144
144
|
fail('Unknown calling backend type.');
|
|
145
|
-
case
|
|
146
|
-
_context.next =
|
|
145
|
+
case 4:
|
|
146
|
+
_context.next = 6;
|
|
147
147
|
break;
|
|
148
|
-
case
|
|
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
|
|
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
|
|
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 =
|
|
228
|
+
_context2.next = 1;
|
|
229
229
|
return voicemailClient[data.method].apply(voicemailClient, args);
|
|
230
|
-
case
|
|
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 =
|
|
309
|
+
_context2.next = 2;
|
|
310
310
|
return voicemailClient[data.method].apply(voicemailClient, args);
|
|
311
|
-
case
|
|
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
|
|
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":[]}
|