@webex/calling 3.8.0 → 3.8.1-next.2

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 (166) hide show
  1. package/dist/CallHistory/CallHistory.js +100 -63
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +115 -19
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/constants.js +9 -1
  6. package/dist/CallHistory/constants.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.js +46 -13
  8. package/dist/CallSettings/CallSettings.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +62 -18
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +70 -7
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +153 -103
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +52 -15
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallSettings/constants.js +15 -1
  18. package/dist/CallSettings/constants.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.js +220 -159
  20. package/dist/CallingClient/CallingClient.js.map +1 -1
  21. package/dist/CallingClient/CallingClient.test.js +53 -24
  22. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  23. package/dist/CallingClient/calling/call.js +251 -189
  24. package/dist/CallingClient/calling/call.js.map +1 -1
  25. package/dist/CallingClient/calling/call.test.js +96 -41
  26. package/dist/CallingClient/calling/call.test.js.map +1 -1
  27. package/dist/CallingClient/calling/callManager.js +73 -48
  28. package/dist/CallingClient/calling/callManager.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.test.js +96 -37
  30. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  31. package/dist/CallingClient/constants.js +105 -3
  32. package/dist/CallingClient/constants.js.map +1 -1
  33. package/dist/CallingClient/line/index.js +47 -18
  34. package/dist/CallingClient/line/index.js.map +1 -1
  35. package/dist/CallingClient/line/line.test.js +2 -2
  36. package/dist/CallingClient/line/line.test.js.map +1 -1
  37. package/dist/CallingClient/registration/register.js +359 -297
  38. package/dist/CallingClient/registration/register.js.map +1 -1
  39. package/dist/CallingClient/registration/register.test.js +561 -163
  40. package/dist/CallingClient/registration/register.test.js.map +1 -1
  41. package/dist/CallingClient/registration/types.js.map +1 -1
  42. package/dist/Contacts/ContactsClient.js +156 -102
  43. package/dist/Contacts/ContactsClient.js.map +1 -1
  44. package/dist/Contacts/ContactsClient.test.js +197 -49
  45. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  46. package/dist/Contacts/constants.js +11 -1
  47. package/dist/Contacts/constants.js.map +1 -1
  48. package/dist/Errors/types.js +2 -0
  49. package/dist/Errors/types.js.map +1 -1
  50. package/dist/Events/impl/index.js +1 -1
  51. package/dist/Events/impl/index.js.map +1 -1
  52. package/dist/Metrics/index.js +102 -41
  53. package/dist/Metrics/index.js.map +1 -1
  54. package/dist/Metrics/index.test.js +10 -4
  55. package/dist/Metrics/index.test.js.map +1 -1
  56. package/dist/Metrics/types.js +4 -1
  57. package/dist/Metrics/types.js.map +1 -1
  58. package/dist/SDKConnector/types.js.map +1 -1
  59. package/dist/Voicemail/BroadworksBackendConnector.js +154 -91
  60. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  61. package/dist/Voicemail/BroadworksBackendConnector.test.js +99 -19
  62. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  63. package/dist/Voicemail/UcmBackendConnector.js +105 -54
  64. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  65. package/dist/Voicemail/UcmBackendConnector.test.js +127 -17
  66. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  67. package/dist/Voicemail/Voicemail.js +198 -79
  68. package/dist/Voicemail/Voicemail.js.map +1 -1
  69. package/dist/Voicemail/Voicemail.test.js +188 -23
  70. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  71. package/dist/Voicemail/WxCallBackendConnector.js +277 -161
  72. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  73. package/dist/Voicemail/WxCallBackendConnector.test.js +268 -10
  74. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  75. package/dist/Voicemail/constants.js +25 -1
  76. package/dist/Voicemail/constants.js.map +1 -1
  77. package/dist/Voicemail/types.js.map +1 -1
  78. package/dist/common/Utils.js +168 -104
  79. package/dist/common/Utils.js.map +1 -1
  80. package/dist/common/Utils.test.js +199 -35
  81. package/dist/common/Utils.test.js.map +1 -1
  82. package/dist/common/constants.js +2 -1
  83. package/dist/common/constants.js.map +1 -1
  84. package/dist/common/testUtil.js +3 -0
  85. package/dist/common/testUtil.js.map +1 -1
  86. package/dist/common/types.js.map +1 -1
  87. package/dist/index.js +12 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/module/CallHistory/CallHistory.js +32 -13
  90. package/dist/module/CallHistory/constants.js +6 -0
  91. package/dist/module/CallSettings/CallSettings.js +36 -3
  92. package/dist/module/CallSettings/UcmBackendConnector.js +50 -5
  93. package/dist/module/CallSettings/WxCallBackendConnector.js +54 -18
  94. package/dist/module/CallSettings/constants.js +12 -0
  95. package/dist/module/CallingClient/CallingClient.js +54 -16
  96. package/dist/module/CallingClient/calling/call.js +172 -121
  97. package/dist/module/CallingClient/calling/callManager.js +51 -26
  98. package/dist/module/CallingClient/constants.js +102 -2
  99. package/dist/module/CallingClient/line/index.js +37 -8
  100. package/dist/module/CallingClient/registration/register.js +103 -64
  101. package/dist/module/Contacts/ContactsClient.js +65 -21
  102. package/dist/module/Contacts/constants.js +10 -0
  103. package/dist/module/Errors/types.js +2 -0
  104. package/dist/module/Events/impl/index.js +1 -1
  105. package/dist/module/Metrics/index.js +57 -2
  106. package/dist/module/Metrics/types.js +3 -0
  107. package/dist/module/Voicemail/BroadworksBackendConnector.js +66 -17
  108. package/dist/module/Voicemail/UcmBackendConnector.js +51 -11
  109. package/dist/module/Voicemail/Voicemail.js +109 -9
  110. package/dist/module/Voicemail/WxCallBackendConnector.js +67 -18
  111. package/dist/module/Voicemail/constants.js +21 -0
  112. package/dist/module/common/Utils.js +51 -12
  113. package/dist/module/common/constants.js +1 -0
  114. package/dist/module/common/testUtil.js +3 -0
  115. package/dist/module/index.js +1 -0
  116. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  117. package/dist/types/CallHistory/constants.d.ts +6 -0
  118. package/dist/types/CallHistory/constants.d.ts.map +1 -1
  119. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
  120. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  121. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  122. package/dist/types/CallSettings/constants.d.ts +12 -0
  123. package/dist/types/CallSettings/constants.d.ts.map +1 -1
  124. package/dist/types/CallingClient/CallingClient.d.ts +2 -3
  125. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  126. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  127. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  128. package/dist/types/CallingClient/constants.d.ts +102 -2
  129. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  130. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  131. package/dist/types/CallingClient/registration/register.d.ts +3 -1
  132. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  133. package/dist/types/CallingClient/registration/types.d.ts +1 -0
  134. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  135. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  136. package/dist/types/Contacts/constants.d.ts +10 -0
  137. package/dist/types/Contacts/constants.d.ts.map +1 -1
  138. package/dist/types/Errors/types.d.ts +2 -0
  139. package/dist/types/Errors/types.d.ts.map +1 -1
  140. package/dist/types/Metrics/index.d.ts +1 -1
  141. package/dist/types/Metrics/index.d.ts.map +1 -1
  142. package/dist/types/Metrics/types.d.ts +7 -2
  143. package/dist/types/Metrics/types.d.ts.map +1 -1
  144. package/dist/types/SDKConnector/types.d.ts +11 -2
  145. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  146. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  147. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  148. package/dist/types/Voicemail/Voicemail.d.ts +1 -1
  149. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  150. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +3 -1
  151. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  152. package/dist/types/Voicemail/constants.d.ts +21 -0
  153. package/dist/types/Voicemail/constants.d.ts.map +1 -1
  154. package/dist/types/Voicemail/types.d.ts +1 -1
  155. package/dist/types/Voicemail/types.d.ts.map +1 -1
  156. package/dist/types/common/Utils.d.ts +4 -4
  157. package/dist/types/common/Utils.d.ts.map +1 -1
  158. package/dist/types/common/constants.d.ts +1 -0
  159. package/dist/types/common/constants.d.ts.map +1 -1
  160. package/dist/types/common/testUtil.d.ts +3 -0
  161. package/dist/types/common/testUtil.d.ts.map +1 -1
  162. package/dist/types/common/types.d.ts +12 -0
  163. package/dist/types/common/types.d.ts.map +1 -1
  164. package/dist/types/index.d.ts +2 -0
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_Logger","_types","_constants","_constants2","_Utils","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","WxCallBackendConnector","exports","webex","logger","_classCallCheck2","sdkConnector","SDKConnector","getWebex","setWebex","hydraEndpoint","internal","services","_serviceUrls","hydra","log","setLogger","level","WEBEX_CALLING_CONNECTOR_FILE","userId","device","personId","inferIdFromUuid","DecodeType","PEOPLE","orgId","ORGANIZATION","_createClass2","key","value","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","loggerContext","callWaitingUrl","response","xmlData","parser","xmlDOM","callWaitingDetails","status","toggleSetting","responseDetails","errorInfo","errorStatus","wrap","_callee$","_context","prev","next","file","CALL_SETTINGS_FILE","method","xsiEndpoint","getXsiActionEndpoint","CALLING_BACKEND","WXC","sent","info","concat","XSI_VERSION","USER_ENDPOINT","SERVICES_ENDPOINT","CALL_WAITING_ENDPOINT","t0","fetch","t1","t2","HTTP_METHODS","GET","credentials","getUserToken","t3","t4","Authorization","t5","headers","ok","Error","text","DOMParser","parseFromString","XML_TYPE","getElementsByTagName","childNodes","textContent","enabled","statusCode","data","callSetting","message","SUCCESS_MESSAGE","abrupt","t6","Number","serviceErrorCodeHandler","stop","getCallWaitingSetting","_getDoNotDisturbSetting","_callee2","resp","dndSettingResponse","_callee2$","_context2","request","uri","PEOPLE_ENDPOINT","DND_ENDPOINT","ORG_ENDPOINT","body","STATUS_CODE","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","dndRequestBody","_callee3$","_context3","ringSplashEnabled","PUT","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","cfResponse","_callee4$","_context4","CF_ENDPOINT","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_callee5$","_context5","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","vmResponse","_callee6$","_context6","VM_ENDPOINT","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_callee7$","_context7","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","cfa","vm","_response","_response2","_callee8$","_context8","getCallForwardAlwaysSetting","name","callForwarding","always","destination","warn","sendAllCalls","VOICEMAIL","undefined","error"],"sources":["WxCallBackendConnector.ts"],"sourcesContent":["import SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n LoggerInterface,\n ToggleSetting,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n IWxCallBackendConnector,\n CallForwardAlwaysSetting,\n} from './types';\nimport log from '../Logger';\nimport {WebexRequestPayload, HTTP_METHODS, DecodeType, CALLING_BACKEND} from '../common/types';\nimport {\n SERVICES_ENDPOINT,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n XML_TYPE,\n WEBEX_CALLING_CONNECTOR_FILE,\n} from '../common/constants';\nimport {\n CALL_SETTINGS_FILE,\n CALL_WAITING_ENDPOINT,\n CF_ENDPOINT,\n DND_ENDPOINT,\n ORG_ENDPOINT,\n PEOPLE_ENDPOINT,\n USER_ENDPOINT,\n VM_ENDPOINT,\n XSI_VERSION,\n} from './constants';\nimport {getXsiActionEndpoint, inferIdFromUuid, serviceErrorCodeHandler} from '../common/Utils';\n\n/**\n * This Connector class will implement child interface of ICallSettings and\n * has methods for the Webex Calling backend.\n */\nexport class WxCallBackendConnector implements IWxCallBackendConnector {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private userId: string;\n\n private personId: string;\n\n private orgId: string;\n\n private xsiEndpoint!: string;\n\n private hydraEndpoint: string;\n\n private VOICEMAIL = 'VOICEMAIL';\n\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n this.webex = this.sdkConnector.getWebex();\n /* eslint no-underscore-dangle: 0 */\n this.hydraEndpoint = this.webex.internal.services._serviceUrls.hydra;\n log.setLogger(logger.level, WEBEX_CALLING_CONNECTOR_FILE);\n\n this.userId = this.webex.internal.device.userId;\n this.personId = inferIdFromUuid(this.webex.internal.device.userId, DecodeType.PEOPLE);\n this.orgId = inferIdFromUuid(this.webex.internal.device.orgId, DecodeType.ORGANIZATION);\n }\n\n /**\n * Reads call waiting setting at the backend.\n */\n public async getCallWaitingSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: CALL_SETTINGS_FILE,\n method: 'getCallWaitingSetting',\n };\n\n try {\n if (!this.xsiEndpoint) {\n this.xsiEndpoint = await getXsiActionEndpoint(\n this.webex,\n loggerContext,\n CALLING_BACKEND.WXC\n );\n log.info(`xsiEndpoint: ${this.xsiEndpoint}`, loggerContext);\n }\n\n const callWaitingUrl = `${this.xsiEndpoint}/${XSI_VERSION}/${USER_ENDPOINT}/${this.userId}/${SERVICES_ENDPOINT}/${CALL_WAITING_ENDPOINT}`;\n\n const response = await fetch(`${callWaitingUrl}`, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await this.webex.credentials.getUserToken(),\n },\n });\n\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n const xmlData = await response.text();\n const parser = new DOMParser();\n const xmlDOM = parser.parseFromString(xmlData, XML_TYPE);\n const callWaitingDetails = xmlDOM.getElementsByTagName('active');\n const status = callWaitingDetails[0].childNodes[0].textContent;\n\n const toggleSetting: ToggleSetting = {\n enabled: status === 'true',\n };\n const responseDetails: CallSettingResponse = {\n statusCode: 200,\n data: {\n callSetting: toggleSetting,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads DND setting at the backend.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: CALL_SETTINGS_FILE,\n method: 'getDoNotDisturbSetting',\n };\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n const dndSettingResponse = resp.body as ToggleSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: dndSettingResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Updates DND setting at the backend.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n const loggerContext = {\n file: CALL_SETTINGS_FILE,\n method: 'setDoNotDisturbSetting',\n };\n\n try {\n const dndRequestBody: ToggleSetting = {\n enabled,\n ringSplashEnabled: false,\n };\n\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: dndRequestBody,\n });\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: dndRequestBody,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads Call Forward setting at the backend.\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: CALL_SETTINGS_FILE,\n method: 'getCallForwardingSetting',\n };\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n const cfResponse = resp.body as CallForwardSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: cfResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Updates Call Forward setting at the backend.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n const loggerContext = {\n file: CALL_SETTINGS_FILE,\n method: 'setCallForwardingSetting',\n };\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: callForwardingRequest,\n });\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: callForwardingRequest,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads Voicemail setting at the backend.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: CALL_SETTINGS_FILE,\n method: 'getVoicemailSetting',\n };\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n const vmResponse = resp.body as VoicemailSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: vmResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Updates Voicemail setting at the backend.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n const loggerContext = {\n file: CALL_SETTINGS_FILE,\n method: 'setVoicemailSetting',\n };\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: voicemailRequest,\n });\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: voicemailRequest,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads the Call Forwarding Always settings at the backend.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n */\n public async getCallForwardAlwaysSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: this.getCallForwardAlwaysSetting.name,\n };\n const cfResponse = await this.getCallForwardSetting();\n\n if (cfResponse.statusCode === 200) {\n const cfa = (cfResponse.data.callSetting as CallForwardSetting).callForwarding.always;\n\n /** CFA is set to destination */\n if (cfa.enabled) {\n if (cfa.destination) {\n const response = {\n ...cfResponse,\n data: {\n callSetting: cfa,\n },\n };\n\n return response;\n }\n log.warn(`CFA is enabled, but destination is not set`, loggerContext);\n }\n const vmResponse = await this.getVoicemailSetting();\n\n if (vmResponse.statusCode === 200) {\n const vm = vmResponse.data.callSetting as VoicemailSetting;\n\n /** CFA is enabled to voicemail */\n if (vm.enabled && vm.sendAllCalls.enabled) {\n const response = {\n ...cfResponse,\n data: {\n callSetting: {\n ...cfa,\n enabled: true,\n destination: this.VOICEMAIL,\n } as CallForwardAlwaysSetting,\n },\n };\n\n return response;\n }\n\n /** No CFA is set */\n const response = {\n ...cfResponse,\n data: {\n callSetting: {\n ...cfa,\n enabled: false,\n destination: undefined,\n } as CallForwardAlwaysSetting,\n },\n };\n\n return response;\n }\n\n log.warn(`Unable to retrieve voicemail settings.`, loggerContext);\n\n vmResponse.data.error = 'Unable to retrieve voicemail settings.';\n\n return vmResponse;\n }\n\n return cfResponse;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_Logger","_types","_constants","_constants2","_Utils","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","WxCallBackendConnector","exports","webex","logger","_classCallCheck2","sdkConnector","SDKConnector","getWebex","setWebex","hydraEndpoint","internal","services","_serviceUrls","hydra","log","setLogger","level","WEBEX_CALLING_CONNECTOR_FILE","userId","device","personId","inferIdFromUuid","DecodeType","PEOPLE","orgId","ORGANIZATION","_createClass2","key","value","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","loggerContext","callWaitingUrl","response","xmlData","parser","xmlDOM","callWaitingDetails","status","toggleSetting","responseDetails","extendedError","errorInfo","errorStatus","wrap","_callee$","_context","prev","next","file","method","METHODS","GET_CALL_WAITING_SETTING","info","METHOD_START_MESSAGE","xsiEndpoint","getXsiActionEndpoint","CALLING_BACKEND","WXC","sent","concat","XSI_VERSION","USER_ENDPOINT","SERVICES_ENDPOINT","CALL_WAITING_ENDPOINT","t0","fetch","t1","t2","HTTP_METHODS","GET","credentials","getUserToken","t3","t4","Authorization","t5","headers","ok","Error","text","DOMParser","parseFromString","XML_TYPE","getElementsByTagName","childNodes","textContent","enabled","statusCode","data","callSetting","message","SUCCESS_MESSAGE","abrupt","t6","error","uploadLogs","Number","serviceErrorCodeHandler","stop","getCallWaitingSetting","_getDoNotDisturbSetting","_callee2","resp","dndSettingResponse","_callee2$","_context2","GET_DO_NOT_DISTURB_SETTING","request","uri","PEOPLE_ENDPOINT","DND_ENDPOINT","ORG_ENDPOINT","body","STATUS_CODE","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","dndRequestBody","_callee3$","_context3","SET_DO_NOT_DISTURB_SETTING","ringSplashEnabled","PUT","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","cfResponse","_callee4$","_context4","GET_CALL_FORWARD_SETTING","CF_ENDPOINT","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_callee5$","_context5","SET_CALL_FORWARD_SETTING","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","vmResponse","_callee6$","_context6","GET_VOICEMAIL_SETTING","VM_ENDPOINT","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_callee7$","_context7","SET_VOICEMAIL_SETTING","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","cfa","vm","_response","_response2","_callee8$","_context8","GET_CALL_FORWARD_ALWAYS_SETTING","callForwarding","always","destination","warn","sendAllCalls","VOICEMAIL","undefined","getCallForwardAlwaysSetting"],"sources":["WxCallBackendConnector.ts"],"sourcesContent":["import ExtendedError from 'Errors/catalog/ExtendedError';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n LoggerInterface,\n ToggleSetting,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n IWxCallBackendConnector,\n CallForwardAlwaysSetting,\n} from './types';\nimport log from '../Logger';\nimport {WebexRequestPayload, HTTP_METHODS, DecodeType, CALLING_BACKEND} from '../common/types';\nimport {\n SERVICES_ENDPOINT,\n STATUS_CODE,\n SUCCESS_MESSAGE,\n XML_TYPE,\n WEBEX_CALLING_CONNECTOR_FILE,\n METHOD_START_MESSAGE,\n} from '../common/constants';\nimport {\n CALL_WAITING_ENDPOINT,\n CF_ENDPOINT,\n DND_ENDPOINT,\n METHODS,\n ORG_ENDPOINT,\n PEOPLE_ENDPOINT,\n USER_ENDPOINT,\n VM_ENDPOINT,\n XSI_VERSION,\n} from './constants';\nimport {\n getXsiActionEndpoint,\n inferIdFromUuid,\n serviceErrorCodeHandler,\n uploadLogs,\n} from '../common/Utils';\n\n/**\n * This Connector class will implement child interface of ICallSettings and\n * has methods for the Webex Calling backend.\n */\nexport class WxCallBackendConnector implements IWxCallBackendConnector {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private userId: string;\n\n private personId: string;\n\n private orgId: string;\n\n private xsiEndpoint!: string;\n\n private hydraEndpoint: string;\n\n private VOICEMAIL = 'VOICEMAIL';\n\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n this.webex = this.sdkConnector.getWebex();\n /* eslint no-underscore-dangle: 0 */\n this.hydraEndpoint = this.webex.internal.services._serviceUrls.hydra;\n log.setLogger(logger.level, WEBEX_CALLING_CONNECTOR_FILE);\n\n this.userId = this.webex.internal.device.userId;\n this.personId = inferIdFromUuid(this.webex.internal.device.userId, DecodeType.PEOPLE);\n this.orgId = inferIdFromUuid(this.webex.internal.device.orgId, DecodeType.ORGANIZATION);\n }\n\n /**\n * Reads call waiting setting at the backend.\n */\n public async getCallWaitingSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_CALL_WAITING_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n if (!this.xsiEndpoint) {\n this.xsiEndpoint = await getXsiActionEndpoint(\n this.webex,\n loggerContext,\n CALLING_BACKEND.WXC\n );\n log.info(`xsiEndpoint: ${this.xsiEndpoint}`, loggerContext);\n }\n\n const callWaitingUrl = `${this.xsiEndpoint}/${XSI_VERSION}/${USER_ENDPOINT}/${this.userId}/${SERVICES_ENDPOINT}/${CALL_WAITING_ENDPOINT}`;\n\n const response = await fetch(`${callWaitingUrl}`, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await this.webex.credentials.getUserToken(),\n },\n });\n\n if (!response.ok) {\n /* Throw error code if any the exception error */\n throw new Error(`${response.status}`);\n }\n const xmlData = await response.text();\n const parser = new DOMParser();\n const xmlDOM = parser.parseFromString(xmlData, XML_TYPE);\n const callWaitingDetails = xmlDOM.getElementsByTagName('active');\n const status = callWaitingDetails[0].childNodes[0].textContent;\n\n const toggleSetting: ToggleSetting = {\n enabled: status === 'true',\n };\n const responseDetails: CallSettingResponse = {\n statusCode: 200,\n data: {\n callSetting: toggleSetting,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully got Call Waiting settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to get call waiting setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads DND setting at the backend.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n const dndSettingResponse = resp.body as ToggleSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: dndSettingResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(\n `Successfully got Do Not Disturb settings, personId: ${this.personId}`,\n loggerContext\n );\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to get DoNotDisturb setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Updates DND setting at the backend.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.SET_DO_NOT_DISTURB_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const dndRequestBody: ToggleSetting = {\n enabled,\n ringSplashEnabled: false,\n };\n\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: dndRequestBody,\n });\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: dndRequestBody,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(\n `Successfully set Do Not Disturb settings, personId: ${this.personId}`,\n loggerContext\n );\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to set DoNotDisturb setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads Call Forward setting at the backend.\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n const cfResponse = resp.body as CallForwardSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: cfResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully got Call Forward settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to get Call Forward setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Updates Call Forward setting at the backend.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.SET_CALL_FORWARD_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: callForwardingRequest,\n });\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: callForwardingRequest,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully set Call Forward settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(\n `Failed to set Call Forward setting: ${err}`\n ) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads Voicemail setting at the backend.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.GET,\n });\n const vmResponse = resp.body as VoicemailSetting;\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: vmResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully got Voicemail settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(`Failed to get Voicemail setting: ${err}`) as ExtendedError;\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Updates Voicemail setting at the backend.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.SET_VOICEMAIL_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n\n try {\n const resp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.hydraEndpoint}/${PEOPLE_ENDPOINT}/${this.personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${this.orgId}`,\n method: HTTP_METHODS.PUT,\n body: voicemailRequest,\n });\n\n const responseDetails: CallSettingResponse = {\n statusCode: Number(resp[STATUS_CODE]),\n data: {\n callSetting: voicemailRequest,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.log(`Successfully set Voicemail settings, personId: ${this.personId}`, loggerContext);\n\n return responseDetails;\n } catch (err: unknown) {\n const extendedError = new Error(`Failed to set Voicemail setting: ${err}`) as ExtendedError;\n\n log.error(extendedError, loggerContext);\n await uploadLogs();\n\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Reads the Call Forwarding Always settings at the backend.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n */\n public async getCallForwardAlwaysSetting(): Promise<CallSettingResponse> {\n const loggerContext = {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: METHODS.GET_CALL_FORWARD_ALWAYS_SETTING,\n };\n\n log.info(METHOD_START_MESSAGE, loggerContext);\n const cfResponse = await this.getCallForwardSetting();\n\n if (cfResponse.statusCode === 200) {\n const cfa = (cfResponse.data.callSetting as CallForwardSetting).callForwarding.always;\n\n /** CFA is set to destination */\n if (cfa.enabled) {\n if (cfa.destination) {\n const response = {\n ...cfResponse,\n data: {\n callSetting: cfa,\n },\n };\n\n return response;\n }\n log.warn(`CFA is enabled, but destination is not set`, loggerContext);\n }\n const vmResponse = await this.getVoicemailSetting();\n\n if (vmResponse.statusCode === 200) {\n const vm = vmResponse.data.callSetting as VoicemailSetting;\n\n /** CFA is enabled to voicemail */\n if (vm.enabled && vm.sendAllCalls.enabled) {\n const response = {\n ...cfResponse,\n data: {\n callSetting: {\n ...cfa,\n enabled: true,\n destination: this.VOICEMAIL,\n } as CallForwardAlwaysSetting,\n },\n };\n\n return response;\n }\n\n /** No CFA is set */\n const response = {\n ...cfResponse,\n data: {\n callSetting: {\n ...cfa,\n enabled: false,\n destination: undefined,\n } as CallForwardAlwaysSetting,\n },\n };\n\n return response;\n }\n\n log.warn(`Unable to retrieve voicemail settings.`, loggerContext);\n\n vmResponse.data.error = 'Unable to retrieve voicemail settings.';\n\n return vmResponse;\n }\n\n return cfResponse;\n }\n}\n"],"mappings":"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"}
@@ -21,8 +21,12 @@ function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return
21
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
22
  /* eslint-disable dot-notation */
23
23
 
24
+ jest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);
24
25
  describe('Call Settings Client Tests for WxCallBackendConnector', function () {
25
26
  var warnSpy = jest.spyOn(_Logger.default, 'warn');
27
+ var logSpy = jest.spyOn(_Logger.default, 'log');
28
+ var infoSpy = jest.spyOn(_Logger.default, 'info');
29
+ var errorSpy = jest.spyOn(_Logger.default, 'error');
26
30
  var webex = (0, _testUtil.getTestUtilsWebex)();
27
31
  var serviceErrorCodeHandlerSpy;
28
32
  var hydraEndpoint = 'https://hydra-a.wbx2.com/v1/';
@@ -40,6 +44,9 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
40
44
  beforeEach(function () {
41
45
  serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');
42
46
  warnSpy.mockClear();
47
+ logSpy.mockClear();
48
+ infoSpy.mockClear();
49
+ errorSpy.mockClear();
43
50
  });
44
51
  describe('Call Waiting Test', function () {
45
52
  var callSettingsClient;
@@ -114,7 +121,16 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
114
121
  headers: _context2.t4
115
122
  };
116
123
  _context2.t0.toBeCalledOnceWith.call(_context2.t0, _context2.t1, _context2.t5);
117
- case 19:
124
+ expect(infoSpy).toHaveBeenCalledWith(_constants.METHOD_START_MESSAGE, {
125
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
126
+ method: 'getCallWaitingSetting'
127
+ });
128
+ expect(logSpy).toHaveBeenCalledWith("Successfully got Call Waiting settings, personId: ".concat(personId), {
129
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
130
+ method: 'getCallWaitingSetting'
131
+ });
132
+ expect(errorSpy).not.toHaveBeenCalled();
133
+ case 22:
118
134
  case "end":
119
135
  return _context2.stop();
120
136
  }
@@ -200,10 +216,16 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
200
216
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
201
217
  statusCode: 403
202
218
  }, {
203
- file: _constants2.CALL_SETTINGS_FILE,
219
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
204
220
  method: 'getCallWaitingSetting'
205
221
  });
206
- case 16:
222
+ expect(infoSpy).toHaveBeenCalledWith(_constants.METHOD_START_MESSAGE, {
223
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
224
+ method: 'getCallWaitingSetting'
225
+ });
226
+ expect(errorSpy).toHaveBeenCalled();
227
+ expect(logSpy).not.toHaveBeenCalled();
228
+ case 19:
207
229
  case "end":
208
230
  return _context4.stop();
209
231
  }
@@ -241,7 +263,7 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
241
263
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
242
264
  statusCode: 422
243
265
  }, {
244
- file: _constants2.CALL_SETTINGS_FILE,
266
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
245
267
  method: 'getCallWaitingSetting'
246
268
  });
247
269
  case 16:
@@ -310,7 +332,16 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
310
332
  method: _types2.HTTP_METHODS.GET,
311
333
  uri: uri
312
334
  });
313
- case 10:
335
+ expect(infoSpy).toHaveBeenCalledWith(_constants.METHOD_START_MESSAGE, {
336
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
337
+ method: 'getDoNotDisturbSetting'
338
+ });
339
+ expect(logSpy).toHaveBeenCalledWith("Successfully got Do Not Disturb settings, personId: ".concat(personId), {
340
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
341
+ method: 'getDoNotDisturbSetting'
342
+ });
343
+ expect(errorSpy).not.toHaveBeenCalled();
344
+ case 13:
314
345
  case "end":
315
346
  return _context7.stop();
316
347
  }
@@ -340,7 +371,7 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
340
371
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
341
372
  statusCode: 400
342
373
  }, {
343
- file: _constants2.CALL_SETTINGS_FILE,
374
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
344
375
  method: 'setDoNotDisturbSetting'
345
376
  });
346
377
  case 9:
@@ -368,10 +399,16 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
368
399
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
369
400
  statusCode: 403
370
401
  }, {
371
- file: _constants2.CALL_SETTINGS_FILE,
402
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
372
403
  method: 'getDoNotDisturbSetting'
373
404
  });
374
- case 8:
405
+ expect(infoSpy).toHaveBeenCalledWith(_constants.METHOD_START_MESSAGE, {
406
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
407
+ method: 'getDoNotDisturbSetting'
408
+ });
409
+ expect(errorSpy).toHaveBeenCalled();
410
+ expect(logSpy).not.toHaveBeenCalled();
411
+ case 11:
375
412
  case "end":
376
413
  return _context9.stop();
377
414
  }
@@ -457,8 +494,8 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
457
494
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
458
495
  statusCode: 400
459
496
  }, {
460
- file: _constants2.CALL_SETTINGS_FILE,
461
- method: 'setCallForwardingSetting'
497
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
498
+ method: 'setCallForwardSetting'
462
499
  });
463
500
  case 8:
464
501
  case "end":
@@ -485,8 +522,8 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
485
522
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
486
523
  statusCode: 403
487
524
  }, {
488
- file: _constants2.CALL_SETTINGS_FILE,
489
- method: 'getCallForwardingSetting'
525
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
526
+ method: 'getCallForwardSetting'
490
527
  });
491
528
  case 8:
492
529
  case "end":
@@ -574,7 +611,7 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
574
611
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
575
612
  statusCode: 400
576
613
  }, {
577
- file: _constants2.CALL_SETTINGS_FILE,
614
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
578
615
  method: 'setVoicemailSetting'
579
616
  });
580
617
  case 8:
@@ -602,7 +639,7 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
602
639
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
603
640
  statusCode: 403
604
641
  }, {
605
- file: _constants2.CALL_SETTINGS_FILE,
642
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
606
643
  method: 'getVoicemailSetting'
607
644
  });
608
645
  case 8:
@@ -681,7 +718,7 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
681
718
  });
682
719
  expect(warnSpy).toBeCalledTimes(2);
683
720
  expect(warnSpy).toBeCalledWith('503 Unable to establish a connection with the server', {
684
- file: _constants2.CALL_SETTINGS_FILE,
721
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
685
722
  method: callSettingsClient.getVoicemailSetting.name
686
723
  });
687
724
  expect(warnSpy).toBeCalledWith('Unable to retrieve voicemail settings.', {
@@ -1 +1 @@
1
- {"version":3,"names":["_testUtil","require","_types","_types2","_constants","_constants2","utils","_interopRequireWildcard","_WxCallBackendConnector","_Logger","_interopRequireDefault","_testFixtures","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","describe","warnSpy","jest","spyOn","Logger","webex","getTestUtilsWebex","serviceErrorCodeHandlerSpy","hydraEndpoint","personId","orgId","responsePayload403","statusCode","responsePayload400","responsePayload204","beforeEach","mockClear","callSettingsClient","webexUri","concat","XSI_ACTION_ENDPOINT_ORG_URL_PARAM","xsiEndpoint","userId","callWaitingUrl","XSI_VERSION","USER_ENDPOINT","SERVICES_ENDPOINT","CALL_WAITING_ENDPOINT","beforeAll","_asyncToGenerator2","_regenerator","mark","_callee","urlResponsePayload","wrap","_callee$","_context","prev","next","WxCallBackendConnector","level","LOGGER","INFO","body","xsiEndpointUrlResponse","request","mockResolvedValue","getCallWaitingSetting","expect","toBeCalledOnceWith","method","HTTP_METHODS","GET","uri","toEqual","stop","it","_callee2","callWaitingMockedResponse","response","toggleSetting","_callee2$","_context2","global","fetch","fn","_promise","resolve","status","ok","text","sent","data","callSetting","not","toBeCalled","toBe","message","SUCCESS_MESSAGE","enabled","toStrictEqual","t0","t1","t2","credentials","getUserToken","t3","t4","Authorization","t5","headers","_callee3","_callee3$","_context3","_callee4","_callee4$","_context4","FAILURE_MESSAGE","file","CALL_SETTINGS_FILE","_callee5","_callee5$","_context5","mockImplementation","URIError","PEOPLE_ENDPOINT","DND_ENDPOINT","ORG_ENDPOINT","_callee6","dndRequestBody","_callee6$","_context6","ringSplashEnabled","mockResolvedValueOnce","setDoNotDisturbSetting","PUT","_callee7","dndResponsePayload","_callee7$","_context7","getDoNotDisturbSetting","_callee8","_callee8$","_context8","mockRejectedValueOnce","_callee9","_callee9$","_context9","CF_ENDPOINT","_callee10","_callee10$","_context10","setCallForwardSetting","callForwardPayload","_callee11","responsePayload","callForwardSetting","_callee11$","_context11","getCallForwardSetting","_callee12","_callee12$","_context12","_callee13","_callee13$","_context13","VM_ENDPOINT","_callee14","_callee14$","_context14","setVoicemailSetting","voicemailPayload","_callee15","voicemailSetting","_callee15$","_context15","getVoicemailSetting","_callee16","_callee16$","_context16","_callee17","_callee17$","_context17","callForwardingUri","voicemailUri","_callee18","_callee18$","_context18","getCallForwardAlwaysSetting","destination","_callee19","_callee19$","_context19","callForwarding","always","error","toBeCalledTimes","toBeCalledWith","name","WEBEX_CALLING_CONNECTOR_FILE","_callee20","_callee20$","_context20","_callee21","_callee21$","_context21","sendAllCalls","toBeFalsy","_callee22","_callee22$","_context22"],"sources":["WxCallBackendConnector.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {LOGGER} from '../Logger/types';\nimport {\n ToggleSetting,\n CallForwardSetting,\n VoicemailSetting,\n IWxCallBackendConnector,\n CallForwardAlwaysSetting,\n} from './types';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {\n FAILURE_MESSAGE,\n SERVICES_ENDPOINT,\n SUCCESS_MESSAGE,\n XSI_ACTION_ENDPOINT_ORG_URL_PARAM,\n WEBEX_CALLING_CONNECTOR_FILE,\n} from '../common/constants';\nimport {\n CALL_SETTINGS_FILE,\n CALL_WAITING_ENDPOINT,\n CF_ENDPOINT,\n DND_ENDPOINT,\n ORG_ENDPOINT,\n PEOPLE_ENDPOINT,\n USER_ENDPOINT,\n VM_ENDPOINT,\n XSI_VERSION,\n} from './constants';\nimport * as utils from '../common/Utils';\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\n\nimport Logger from '../Logger';\nimport {callForwardPayload, xsiEndpointUrlResponse, voicemailPayload} from './testFixtures';\n\ndescribe('Call Settings Client Tests for WxCallBackendConnector', () => {\n const warnSpy = jest.spyOn(Logger, 'warn');\n\n const webex = getTestUtilsWebex();\n let serviceErrorCodeHandlerSpy: jest.SpyInstance;\n const hydraEndpoint = 'https://hydra-a.wbx2.com/v1/';\n const personId =\n 'Y2lzY29zcGFyazovL3VzL1BFT1BMRS84YTY3ODA2Zi1mYzRkLTQ0NmItYTEzMS0zMWU3MWVhNWIwZTk=';\n const orgId =\n 'Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xNzA0ZDMwZC1hMTMxLTRiYzctOTQ0OS05NDg0ODc2NDM3OTM=';\n const responsePayload403 = <WebexRequestPayload>(<unknown>{\n statusCode: 403,\n });\n const responsePayload400 = <WebexRequestPayload>(<unknown>{\n statusCode: 400,\n });\n const responsePayload204 = <WebexRequestPayload>(<unknown>{\n statusCode: 204,\n });\n\n beforeEach(() => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n warnSpy.mockClear();\n });\n\n describe('Call Waiting Test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n const webexUri = `${hydraEndpoint}/${XSI_ACTION_ENDPOINT_ORG_URL_PARAM}`;\n const xsiEndpoint = 'https://api-proxy-si.broadcloudpbx.net/com.broadsoft.xsi-actions';\n const userId = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';\n const callWaitingUrl = `${xsiEndpoint}/${XSI_VERSION}/${USER_ENDPOINT}/${userId}/${SERVICES_ENDPOINT}/${CALL_WAITING_ENDPOINT}`;\n\n beforeAll(async () => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n\n const urlResponsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: xsiEndpointUrlResponse,\n });\n\n webex.request.mockResolvedValue(urlResponsePayload);\n await callSettingsClient.getCallWaitingSetting();\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: webexUri,\n });\n expect(callSettingsClient['xsiEndpoint']).toEqual(xsiEndpoint);\n webex.request.mockClear();\n });\n\n it('Success: Get Call Waiting setting enabled', async () => {\n const callWaitingMockedResponse = '<CallWaiting><active>true</active></CallWaiting>';\n\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n text: () => Promise.resolve(callWaitingMockedResponse),\n })\n ) as jest.Mock;\n const response = await callSettingsClient.getCallWaitingSetting();\n const toggleSetting = response.data.callSetting as ToggleSetting;\n\n expect(webex.request).not.toBeCalled();\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(toggleSetting.enabled).toStrictEqual(true);\n expect(global.fetch).toBeCalledOnceWith(callWaitingUrl, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await webex.credentials.getUserToken(),\n },\n });\n });\n\n it('Success: Get Call Waiting setting disabled', async () => {\n const callWaitingMockedResponse = '<CallWaiting><active>false</active></CallWaiting>';\n\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n text: () => Promise.resolve(callWaitingMockedResponse),\n })\n ) as jest.Mock;\n const response = await callSettingsClient.getCallWaitingSetting();\n const toggleSetting = response.data.callSetting as ToggleSetting;\n\n expect(webex.request).not.toBeCalled();\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(toggleSetting.enabled).toStrictEqual(false);\n expect(global.fetch).toBeCalledOnceWith(callWaitingUrl, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await webex.credentials.getUserToken(),\n },\n });\n });\n\n it('Error: Get Call Waiting setting throw 403 error', async () => {\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 403,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callSettingsClient.getCallWaitingSetting();\n\n expect(response.statusCode).toBe(403);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(global.fetch).toBeCalledOnceWith(callWaitingUrl, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await webex.credentials.getUserToken(),\n },\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 403,\n },\n {\n file: CALL_SETTINGS_FILE,\n method: 'getCallWaitingSetting',\n }\n );\n });\n\n it('Error: Get Call Waiting settings throw URI error', async () => {\n global.fetch = jest.fn().mockImplementation(() => {\n throw new URIError('422');\n }) as jest.Mock;\n const response = await callSettingsClient.getCallWaitingSetting();\n\n expect(response.statusCode).toBe(422);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(global.fetch).toBeCalledOnceWith(callWaitingUrl, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await webex.credentials.getUserToken(),\n },\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 422,\n },\n {\n file: CALL_SETTINGS_FILE,\n method: 'getCallWaitingSetting',\n }\n );\n });\n });\n\n describe('DND Test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n\n const uri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n });\n\n it('Success: Set DND settings', async () => {\n const dndRequestBody: ToggleSetting = {\n enabled: false,\n ringSplashEnabled: false,\n };\n\n webex.request.mockResolvedValueOnce(responsePayload204);\n const response = await callSettingsClient.setDoNotDisturbSetting(false);\n\n expect(response.statusCode).toBe(204);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: dndRequestBody,\n });\n });\n\n it('Success: Get DND setting', async () => {\n const dndResponsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: {\n enabled: true,\n },\n });\n\n webex.request.mockResolvedValueOnce(dndResponsePayload);\n const response = await callSettingsClient.getDoNotDisturbSetting();\n const toggleSetting = response.data.callSetting as ToggleSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(toggleSetting.enabled).toBe(true);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n });\n\n it('Error: Set DND setting', async () => {\n const dndRequestBody: ToggleSetting = {\n enabled: false,\n ringSplashEnabled: false,\n };\n\n webex.request.mockRejectedValueOnce(responsePayload400);\n const response = await callSettingsClient.setDoNotDisturbSetting(false);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: dndRequestBody,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: CALL_SETTINGS_FILE,\n method: 'setDoNotDisturbSetting',\n }\n );\n });\n\n it('Error: Get DND setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload403);\n const response = await callSettingsClient.getDoNotDisturbSetting();\n\n expect(response.statusCode).toBe(403);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 403,\n },\n {\n file: CALL_SETTINGS_FILE,\n method: 'getDoNotDisturbSetting',\n }\n );\n });\n });\n\n describe('Call Forward Test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n const uri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n });\n\n it('Success: Set Call Forward setting', async () => {\n webex.request.mockResolvedValueOnce(responsePayload204);\n const response = await callSettingsClient.setCallForwardSetting(callForwardPayload);\n\n expect(response.statusCode).toBe(204);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: callForwardPayload,\n });\n });\n\n it('Success: Get Call Forward setting', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValueOnce(responsePayload);\n const response = await callSettingsClient.getCallForwardSetting();\n const callForwardSetting = response.data.callSetting as CallForwardSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(callForwardSetting).toEqual(callForwardPayload);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n });\n\n it('Error: Set Call Forwarding setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload400);\n const response = await callSettingsClient.setCallForwardSetting(callForwardPayload);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: callForwardPayload,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: CALL_SETTINGS_FILE,\n method: 'setCallForwardingSetting',\n }\n );\n });\n\n it('Error: Get Call Forwarding setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload403);\n const response = await callSettingsClient.getCallForwardSetting();\n\n expect(response.statusCode).toBe(403);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 403,\n },\n {\n file: CALL_SETTINGS_FILE,\n method: 'getCallForwardingSetting',\n }\n );\n });\n });\n\n describe('Voicemail Test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n\n const uri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n });\n\n it('Success: Set Voicemail setting', async () => {\n webex.request.mockResolvedValueOnce(responsePayload204);\n const response = await callSettingsClient.setVoicemailSetting(voicemailPayload);\n\n expect(response.statusCode).toBe(204);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: voicemailPayload,\n });\n });\n\n it('Success: Get Voicemail setting', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: voicemailPayload,\n });\n\n webex.request.mockResolvedValueOnce(responsePayload);\n const response = await callSettingsClient.getVoicemailSetting();\n const voicemailSetting = response.data.callSetting as VoicemailSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(voicemailSetting).toBe(voicemailPayload);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n });\n\n it('Error: Set Voicemail setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload400);\n const response = await callSettingsClient.setVoicemailSetting(voicemailPayload);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: voicemailPayload,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: CALL_SETTINGS_FILE,\n method: 'setVoicemailSetting',\n }\n );\n });\n\n it('Error: Get Voicemail setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload403);\n const response = await callSettingsClient.getVoicemailSetting();\n\n expect(response.statusCode).toBe(403);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 403,\n },\n {\n file: CALL_SETTINGS_FILE,\n method: 'getVoicemailSetting',\n }\n );\n });\n });\n\n describe('Call Forward Always test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n\n const callForwardingUri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n const voicemailUri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n });\n\n it('Success: Get Call Forward Always setting when set to destination', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValueOnce(responsePayload);\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toBe(true);\n expect(callForwardSetting.destination).toBe('123456789');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n });\n\n it('Success: Get Call Forward Always setting when set to disabled and voicemail request fails', async () => {\n callForwardPayload.callForwarding.always.enabled = false;\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValueOnce(responsePayload).mockRejectedValueOnce({statusCode: 503});\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n\n expect(response.statusCode).toBe(503);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(response.data.error).toBe('Unable to retrieve voicemail settings.');\n\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: voicemailUri,\n });\n\n expect(warnSpy).toBeCalledTimes(2);\n expect(warnSpy).toBeCalledWith('503 Unable to establish a connection with the server', {\n file: CALL_SETTINGS_FILE,\n method: callSettingsClient.getVoicemailSetting.name,\n });\n expect(warnSpy).toBeCalledWith('Unable to retrieve voicemail settings.', {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: callSettingsClient.getCallForwardAlwaysSetting.name,\n });\n });\n\n it('Success: Get Call Forward Always setting when set to voicemail', async () => {\n callForwardPayload.callForwarding.always.enabled = false;\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request\n .mockResolvedValueOnce(responsePayload)\n .mockResolvedValueOnce({statusCode: 200, body: voicemailPayload});\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toBe(true);\n expect(callForwardSetting.destination).toBe('VOICEMAIL');\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: voicemailUri,\n });\n });\n\n it('Success: Get Call Forward Always setting when not set', async () => {\n callForwardPayload.callForwarding.always.enabled = false;\n callForwardPayload.callForwarding.always.destination = '';\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n voicemailPayload.sendAllCalls.enabled = false;\n webex.request\n .mockResolvedValueOnce(responsePayload)\n .mockResolvedValueOnce({statusCode: 200, body: voicemailPayload});\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toBe(false);\n expect(callForwardSetting.destination).toBeFalsy();\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: voicemailUri,\n });\n });\n\n it('Failure: Get Call Forward Always setting fails', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 503,\n });\n\n webex.request.mockRejectedValueOnce(responsePayload);\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n\n expect(response.statusCode).toBe(503);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_testUtil","require","_types","_types2","_constants","_constants2","utils","_interopRequireWildcard","_WxCallBackendConnector","_Logger","_interopRequireDefault","_testFixtures","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","jest","spyOn","mockResolvedValue","undefined","describe","warnSpy","Logger","logSpy","infoSpy","errorSpy","webex","getTestUtilsWebex","serviceErrorCodeHandlerSpy","hydraEndpoint","personId","orgId","responsePayload403","statusCode","responsePayload400","responsePayload204","beforeEach","mockClear","callSettingsClient","webexUri","concat","XSI_ACTION_ENDPOINT_ORG_URL_PARAM","xsiEndpoint","userId","callWaitingUrl","XSI_VERSION","USER_ENDPOINT","SERVICES_ENDPOINT","CALL_WAITING_ENDPOINT","beforeAll","_asyncToGenerator2","_regenerator","mark","_callee","urlResponsePayload","wrap","_callee$","_context","prev","next","WxCallBackendConnector","level","LOGGER","INFO","body","xsiEndpointUrlResponse","request","getCallWaitingSetting","expect","toBeCalledOnceWith","method","HTTP_METHODS","GET","uri","toEqual","stop","it","_callee2","callWaitingMockedResponse","response","toggleSetting","_callee2$","_context2","global","fetch","fn","_promise","resolve","status","ok","text","sent","data","callSetting","not","toBeCalled","toBe","message","SUCCESS_MESSAGE","enabled","toStrictEqual","t0","t1","t2","credentials","getUserToken","t3","t4","Authorization","t5","headers","toHaveBeenCalledWith","METHOD_START_MESSAGE","file","WEBEX_CALLING_CONNECTOR_FILE","toHaveBeenCalled","_callee3","_callee3$","_context3","_callee4","_callee4$","_context4","FAILURE_MESSAGE","_callee5","_callee5$","_context5","mockImplementation","URIError","PEOPLE_ENDPOINT","DND_ENDPOINT","ORG_ENDPOINT","_callee6","dndRequestBody","_callee6$","_context6","ringSplashEnabled","mockResolvedValueOnce","setDoNotDisturbSetting","PUT","_callee7","dndResponsePayload","_callee7$","_context7","getDoNotDisturbSetting","_callee8","_callee8$","_context8","mockRejectedValueOnce","_callee9","_callee9$","_context9","CF_ENDPOINT","_callee10","_callee10$","_context10","setCallForwardSetting","callForwardPayload","_callee11","responsePayload","callForwardSetting","_callee11$","_context11","getCallForwardSetting","_callee12","_callee12$","_context12","_callee13","_callee13$","_context13","VM_ENDPOINT","_callee14","_callee14$","_context14","setVoicemailSetting","voicemailPayload","_callee15","voicemailSetting","_callee15$","_context15","getVoicemailSetting","_callee16","_callee16$","_context16","_callee17","_callee17$","_context17","callForwardingUri","voicemailUri","_callee18","_callee18$","_context18","getCallForwardAlwaysSetting","destination","_callee19","_callee19$","_context19","callForwarding","always","error","toBeCalledTimes","toBeCalledWith","name","_callee20","_callee20$","_context20","_callee21","_callee21$","_context21","sendAllCalls","toBeFalsy","_callee22","_callee22$","_context22"],"sources":["WxCallBackendConnector.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {LOGGER} from '../Logger/types';\nimport {\n ToggleSetting,\n CallForwardSetting,\n VoicemailSetting,\n IWxCallBackendConnector,\n CallForwardAlwaysSetting,\n} from './types';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {\n FAILURE_MESSAGE,\n SERVICES_ENDPOINT,\n SUCCESS_MESSAGE,\n XSI_ACTION_ENDPOINT_ORG_URL_PARAM,\n WEBEX_CALLING_CONNECTOR_FILE,\n METHOD_START_MESSAGE,\n} from '../common/constants';\nimport {\n CALL_WAITING_ENDPOINT,\n CF_ENDPOINT,\n DND_ENDPOINT,\n ORG_ENDPOINT,\n PEOPLE_ENDPOINT,\n USER_ENDPOINT,\n VM_ENDPOINT,\n XSI_VERSION,\n} from './constants';\nimport * as utils from '../common/Utils';\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\n\nimport Logger from '../Logger';\nimport {callForwardPayload, xsiEndpointUrlResponse, voicemailPayload} from './testFixtures';\n\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Call Settings Client Tests for WxCallBackendConnector', () => {\n const warnSpy = jest.spyOn(Logger, 'warn');\n const logSpy = jest.spyOn(Logger, 'log');\n const infoSpy = jest.spyOn(Logger, 'info');\n const errorSpy = jest.spyOn(Logger, 'error');\n\n const webex = getTestUtilsWebex();\n let serviceErrorCodeHandlerSpy: jest.SpyInstance;\n const hydraEndpoint = 'https://hydra-a.wbx2.com/v1/';\n const personId =\n 'Y2lzY29zcGFyazovL3VzL1BFT1BMRS84YTY3ODA2Zi1mYzRkLTQ0NmItYTEzMS0zMWU3MWVhNWIwZTk=';\n const orgId =\n 'Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xNzA0ZDMwZC1hMTMxLTRiYzctOTQ0OS05NDg0ODc2NDM3OTM=';\n const responsePayload403 = <WebexRequestPayload>(<unknown>{\n statusCode: 403,\n });\n const responsePayload400 = <WebexRequestPayload>(<unknown>{\n statusCode: 400,\n });\n const responsePayload204 = <WebexRequestPayload>(<unknown>{\n statusCode: 204,\n });\n\n beforeEach(() => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n warnSpy.mockClear();\n logSpy.mockClear();\n infoSpy.mockClear();\n errorSpy.mockClear();\n });\n\n describe('Call Waiting Test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n const webexUri = `${hydraEndpoint}/${XSI_ACTION_ENDPOINT_ORG_URL_PARAM}`;\n const xsiEndpoint = 'https://api-proxy-si.broadcloudpbx.net/com.broadsoft.xsi-actions';\n const userId = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';\n const callWaitingUrl = `${xsiEndpoint}/${XSI_VERSION}/${USER_ENDPOINT}/${userId}/${SERVICES_ENDPOINT}/${CALL_WAITING_ENDPOINT}`;\n\n beforeAll(async () => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n\n const urlResponsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: xsiEndpointUrlResponse,\n });\n\n webex.request.mockResolvedValue(urlResponsePayload);\n await callSettingsClient.getCallWaitingSetting();\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: webexUri,\n });\n expect(callSettingsClient['xsiEndpoint']).toEqual(xsiEndpoint);\n webex.request.mockClear();\n });\n\n it('Success: Get Call Waiting setting enabled', async () => {\n const callWaitingMockedResponse = '<CallWaiting><active>true</active></CallWaiting>';\n\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n text: () => Promise.resolve(callWaitingMockedResponse),\n })\n ) as jest.Mock;\n const response = await callSettingsClient.getCallWaitingSetting();\n const toggleSetting = response.data.callSetting as ToggleSetting;\n\n expect(webex.request).not.toBeCalled();\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(toggleSetting.enabled).toStrictEqual(true);\n expect(global.fetch).toBeCalledOnceWith(callWaitingUrl, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await webex.credentials.getUserToken(),\n },\n });\n\n expect(infoSpy).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getCallWaitingSetting',\n });\n expect(logSpy).toHaveBeenCalledWith(\n `Successfully got Call Waiting settings, personId: ${personId}`,\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getCallWaitingSetting',\n }\n );\n expect(errorSpy).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Waiting setting disabled', async () => {\n const callWaitingMockedResponse = '<CallWaiting><active>false</active></CallWaiting>';\n\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n text: () => Promise.resolve(callWaitingMockedResponse),\n })\n ) as jest.Mock;\n const response = await callSettingsClient.getCallWaitingSetting();\n const toggleSetting = response.data.callSetting as ToggleSetting;\n\n expect(webex.request).not.toBeCalled();\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(toggleSetting.enabled).toStrictEqual(false);\n expect(global.fetch).toBeCalledOnceWith(callWaitingUrl, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await webex.credentials.getUserToken(),\n },\n });\n });\n\n it('Error: Get Call Waiting setting throw 403 error', async () => {\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 403,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callSettingsClient.getCallWaitingSetting();\n\n expect(response.statusCode).toBe(403);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(global.fetch).toBeCalledOnceWith(callWaitingUrl, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await webex.credentials.getUserToken(),\n },\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 403,\n },\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getCallWaitingSetting',\n }\n );\n\n expect(infoSpy).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getCallWaitingSetting',\n });\n expect(errorSpy).toHaveBeenCalled();\n expect(logSpy).not.toHaveBeenCalled();\n });\n\n it('Error: Get Call Waiting settings throw URI error', async () => {\n global.fetch = jest.fn().mockImplementation(() => {\n throw new URIError('422');\n }) as jest.Mock;\n const response = await callSettingsClient.getCallWaitingSetting();\n\n expect(response.statusCode).toBe(422);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(global.fetch).toBeCalledOnceWith(callWaitingUrl, {\n method: HTTP_METHODS.GET,\n headers: {\n Authorization: await webex.credentials.getUserToken(),\n },\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 422,\n },\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getCallWaitingSetting',\n }\n );\n });\n });\n\n describe('DND Test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n\n const uri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${DND_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n });\n\n it('Success: Set DND settings', async () => {\n const dndRequestBody: ToggleSetting = {\n enabled: false,\n ringSplashEnabled: false,\n };\n\n webex.request.mockResolvedValueOnce(responsePayload204);\n const response = await callSettingsClient.setDoNotDisturbSetting(false);\n\n expect(response.statusCode).toBe(204);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: dndRequestBody,\n });\n });\n\n it('Success: Get DND setting', async () => {\n const dndResponsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: {\n enabled: true,\n },\n });\n\n webex.request.mockResolvedValueOnce(dndResponsePayload);\n const response = await callSettingsClient.getDoNotDisturbSetting();\n const toggleSetting = response.data.callSetting as ToggleSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(toggleSetting.enabled).toBe(true);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n\n expect(infoSpy).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getDoNotDisturbSetting',\n });\n expect(logSpy).toHaveBeenCalledWith(\n `Successfully got Do Not Disturb settings, personId: ${personId}`,\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getDoNotDisturbSetting',\n }\n );\n expect(errorSpy).not.toHaveBeenCalled();\n });\n\n it('Error: Set DND setting', async () => {\n const dndRequestBody: ToggleSetting = {\n enabled: false,\n ringSplashEnabled: false,\n };\n\n webex.request.mockRejectedValueOnce(responsePayload400);\n const response = await callSettingsClient.setDoNotDisturbSetting(false);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: dndRequestBody,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'setDoNotDisturbSetting',\n }\n );\n });\n\n it('Error: Get DND setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload403);\n const response = await callSettingsClient.getDoNotDisturbSetting();\n\n expect(response.statusCode).toBe(403);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 403,\n },\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getDoNotDisturbSetting',\n }\n );\n\n expect(infoSpy).toHaveBeenCalledWith(METHOD_START_MESSAGE, {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getDoNotDisturbSetting',\n });\n expect(errorSpy).toHaveBeenCalled();\n expect(logSpy).not.toHaveBeenCalled();\n });\n });\n\n describe('Call Forward Test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n const uri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n });\n\n it('Success: Set Call Forward setting', async () => {\n webex.request.mockResolvedValueOnce(responsePayload204);\n const response = await callSettingsClient.setCallForwardSetting(callForwardPayload);\n\n expect(response.statusCode).toBe(204);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: callForwardPayload,\n });\n });\n\n it('Success: Get Call Forward setting', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValueOnce(responsePayload);\n const response = await callSettingsClient.getCallForwardSetting();\n const callForwardSetting = response.data.callSetting as CallForwardSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(callForwardSetting).toEqual(callForwardPayload);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n });\n\n it('Error: Set Call Forwarding setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload400);\n const response = await callSettingsClient.setCallForwardSetting(callForwardPayload);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: callForwardPayload,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'setCallForwardSetting',\n }\n );\n });\n\n it('Error: Get Call Forwarding setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload403);\n const response = await callSettingsClient.getCallForwardSetting();\n\n expect(response.statusCode).toBe(403);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 403,\n },\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getCallForwardSetting',\n }\n );\n });\n });\n\n describe('Voicemail Test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n\n const uri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n });\n\n it('Success: Set Voicemail setting', async () => {\n webex.request.mockResolvedValueOnce(responsePayload204);\n const response = await callSettingsClient.setVoicemailSetting(voicemailPayload);\n\n expect(response.statusCode).toBe(204);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: voicemailPayload,\n });\n });\n\n it('Success: Get Voicemail setting', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: voicemailPayload,\n });\n\n webex.request.mockResolvedValueOnce(responsePayload);\n const response = await callSettingsClient.getVoicemailSetting();\n const voicemailSetting = response.data.callSetting as VoicemailSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(voicemailSetting).toBe(voicemailPayload);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n });\n\n it('Error: Set Voicemail setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload400);\n const response = await callSettingsClient.setVoicemailSetting(voicemailPayload);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.PUT,\n uri,\n body: voicemailPayload,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'setVoicemailSetting',\n }\n );\n });\n\n it('Error: Get Voicemail setting', async () => {\n webex.request.mockRejectedValueOnce(responsePayload403);\n const response = await callSettingsClient.getVoicemailSetting();\n\n expect(response.statusCode).toBe(403);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 403,\n },\n {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: 'getVoicemailSetting',\n }\n );\n });\n });\n\n describe('Call Forward Always test', () => {\n let callSettingsClient: IWxCallBackendConnector;\n\n const callForwardingUri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${CF_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n const voicemailUri = `${hydraEndpoint}/${PEOPLE_ENDPOINT}/${personId}/${VM_ENDPOINT}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new WxCallBackendConnector(webex, {level: LOGGER.INFO});\n });\n\n it('Success: Get Call Forward Always setting when set to destination', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValueOnce(responsePayload);\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toBe(true);\n expect(callForwardSetting.destination).toBe('123456789');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n });\n\n it('Success: Get Call Forward Always setting when set to disabled and voicemail request fails', async () => {\n callForwardPayload.callForwarding.always.enabled = false;\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValueOnce(responsePayload).mockRejectedValueOnce({statusCode: 503});\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n\n expect(response.statusCode).toBe(503);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(response.data.error).toBe('Unable to retrieve voicemail settings.');\n\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: voicemailUri,\n });\n\n expect(warnSpy).toBeCalledTimes(2);\n expect(warnSpy).toBeCalledWith('503 Unable to establish a connection with the server', {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: callSettingsClient.getVoicemailSetting.name,\n });\n\n expect(warnSpy).toBeCalledWith('Unable to retrieve voicemail settings.', {\n file: WEBEX_CALLING_CONNECTOR_FILE,\n method: callSettingsClient.getCallForwardAlwaysSetting.name,\n });\n });\n\n it('Success: Get Call Forward Always setting when set to voicemail', async () => {\n callForwardPayload.callForwarding.always.enabled = false;\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request\n .mockResolvedValueOnce(responsePayload)\n .mockResolvedValueOnce({statusCode: 200, body: voicemailPayload});\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toBe(true);\n expect(callForwardSetting.destination).toBe('VOICEMAIL');\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: voicemailUri,\n });\n });\n\n it('Success: Get Call Forward Always setting when not set', async () => {\n callForwardPayload.callForwarding.always.enabled = false;\n callForwardPayload.callForwarding.always.destination = '';\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n voicemailPayload.sendAllCalls.enabled = false;\n webex.request\n .mockResolvedValueOnce(responsePayload)\n .mockResolvedValueOnce({statusCode: 200, body: voicemailPayload});\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toBe(false);\n expect(callForwardSetting.destination).toBeFalsy();\n expect(webex.request).toBeCalledTimes(2);\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n expect(webex.request).toBeCalledWith({\n method: HTTP_METHODS.GET,\n uri: voicemailUri,\n });\n });\n\n it('Failure: Get Call Forward Always setting fails', async () => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 503,\n });\n\n webex.request.mockRejectedValueOnce(responsePayload);\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n\n expect(response.statusCode).toBe(503);\n expect(response.message).toBe(FAILURE_MESSAGE);\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n });\n });\n});\n"],"mappings":"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"}