@webex/calling 3.8.1-web-workers-keepalive.2 → 3.9.0

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 (35) hide show
  1. package/dist/CallSettings/WxCallBackendConnector.js +2 -2
  2. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  3. package/dist/CallSettings/WxCallBackendConnector.test.js +94 -27
  4. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  5. package/dist/CallSettings/types.js.map +1 -1
  6. package/dist/CallingClient/CallingClient.js +56 -21
  7. package/dist/CallingClient/CallingClient.js.map +1 -1
  8. package/dist/CallingClient/CallingClient.test.js +162 -98
  9. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  10. package/dist/CallingClient/constants.js +3 -4
  11. package/dist/CallingClient/constants.js.map +1 -1
  12. package/dist/CallingClient/registration/register.js +278 -198
  13. package/dist/CallingClient/registration/register.js.map +1 -1
  14. package/dist/CallingClient/registration/register.test.js +168 -85
  15. package/dist/CallingClient/registration/register.test.js.map +1 -1
  16. package/dist/CallingClient/registration/types.js.map +1 -1
  17. package/dist/common/Utils.js +13 -7
  18. package/dist/common/Utils.js.map +1 -1
  19. package/dist/common/Utils.test.js +265 -119
  20. package/dist/common/Utils.test.js.map +1 -1
  21. package/dist/module/CallSettings/WxCallBackendConnector.js +1 -1
  22. package/dist/module/CallingClient/CallingClient.js +23 -8
  23. package/dist/module/CallingClient/constants.js +1 -2
  24. package/dist/module/CallingClient/registration/register.js +39 -6
  25. package/dist/module/common/Utils.js +8 -1
  26. package/dist/types/CallSettings/types.d.ts +1 -1
  27. package/dist/types/CallSettings/types.d.ts.map +1 -1
  28. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  29. package/dist/types/CallingClient/constants.d.ts +1 -2
  30. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  31. package/dist/types/CallingClient/registration/register.d.ts +1 -0
  32. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  33. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  34. package/dist/types/common/Utils.d.ts.map +1 -1
  35. package/package.json +4 -5
@@ -504,7 +504,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
504
504
  key: "getCallForwardAlwaysSetting",
505
505
  value: (function () {
506
506
  var _getCallForwardAlwaysSetting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
507
- var loggerContext, cfResponse, cfa, response, vmResponse, vm, _response, _response2;
507
+ var loggerContext, cfResponse, cfa, response, vmResponse, _vm$sendAllCalls, vm, _response, _response2;
508
508
  return _regenerator.default.wrap(function _callee8$(_context8) {
509
509
  while (1) switch (_context8.prev = _context8.next) {
510
510
  case 0:
@@ -550,7 +550,7 @@ var WxCallBackendConnector = exports.WxCallBackendConnector = /*#__PURE__*/funct
550
550
  }
551
551
  vm = vmResponse.data.callSetting;
552
552
  /** CFA is enabled to voicemail */
553
- if (!(vm.enabled && vm.sendAllCalls.enabled)) {
553
+ if (!(vm.enabled && (_vm$sendAllCalls = vm.sendAllCalls) !== null && _vm$sendAllCalls !== void 0 && _vm$sendAllCalls.enabled)) {
554
554
  _context8.next = 20;
555
555
  break;
556
556
  }
@@ -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","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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"}
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$sendAllCalls","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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"}
@@ -687,10 +687,77 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
687
687
  }
688
688
  }, _callee18);
689
689
  })));
690
- it('Success: Get Call Forward Always setting when set to disabled and voicemail request fails', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
691
- var responsePayload, response;
690
+ it('Success: Get Call Forward Always setting in Fedramp with limited options in payload', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
691
+ var responsePayload, voicemailResponsePayload, response, callSetting;
692
692
  return _regenerator.default.wrap(function _callee19$(_context19) {
693
693
  while (1) switch (_context19.prev = _context19.next) {
694
+ case 0:
695
+ responsePayload = {
696
+ statusCode: 200,
697
+ body: {
698
+ callForwarding: {
699
+ always: {
700
+ enabled: false,
701
+ destination: '+13015554270',
702
+ ringReminderEnabled: false,
703
+ destinationVoicemailEnabled: true
704
+ },
705
+ busy: {
706
+ enabled: false,
707
+ destinationVoicemailEnabled: false
708
+ },
709
+ noAnswer: {
710
+ enabled: false,
711
+ numberOfRings: 3,
712
+ systemMaxNumberOfRings: 20,
713
+ destinationVoicemailEnabled: false
714
+ }
715
+ },
716
+ businessContinuity: {
717
+ enabled: false,
718
+ destination: '+13015554270',
719
+ destinationVoicemailEnabled: true
720
+ }
721
+ }
722
+ };
723
+ voicemailResponsePayload = {
724
+ statusCode: 200,
725
+ body: {
726
+ enabled: true,
727
+ voiceMessageForwardingEnabled: true
728
+ }
729
+ };
730
+ webex.request.mockResolvedValueOnce(responsePayload).mockResolvedValueOnce(voicemailResponsePayload);
731
+ _context19.next = 5;
732
+ return callSettingsClient.getCallForwardAlwaysSetting();
733
+ case 5:
734
+ response = _context19.sent;
735
+ callSetting = response.data.callSetting;
736
+ expect(response.statusCode).toBe(200);
737
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
738
+ expect(callSetting.destination).toBe(undefined);
739
+ expect(callSetting.enabled).toBe(false);
740
+ expect(callSetting.destinationVoicemailEnabled).toBe(true);
741
+ expect(callSetting.ringReminderEnabled).toBe(false);
742
+ expect(webex.request).toBeCalledTimes(2);
743
+ expect(webex.request).toBeCalledWith({
744
+ method: _types2.HTTP_METHODS.GET,
745
+ uri: callForwardingUri
746
+ });
747
+ expect(webex.request).toBeCalledWith({
748
+ method: _types2.HTTP_METHODS.GET,
749
+ uri: voicemailUri
750
+ });
751
+ case 16:
752
+ case "end":
753
+ return _context19.stop();
754
+ }
755
+ }, _callee19);
756
+ })));
757
+ it('Success: Get Call Forward Always setting when set to disabled and voicemail request fails', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
758
+ var responsePayload, response;
759
+ return _regenerator.default.wrap(function _callee20$(_context20) {
760
+ while (1) switch (_context20.prev = _context20.next) {
694
761
  case 0:
695
762
  _testFixtures.callForwardPayload.callForwarding.always.enabled = false;
696
763
  responsePayload = {
@@ -700,10 +767,10 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
700
767
  webex.request.mockResolvedValueOnce(responsePayload).mockRejectedValueOnce({
701
768
  statusCode: 503
702
769
  });
703
- _context19.next = 5;
770
+ _context20.next = 5;
704
771
  return callSettingsClient.getCallForwardAlwaysSetting();
705
772
  case 5:
706
- response = _context19.sent;
773
+ response = _context20.sent;
707
774
  expect(response.statusCode).toBe(503);
708
775
  expect(response.message).toBe(_constants.FAILURE_MESSAGE);
709
776
  expect(response.data.error).toBe('Unable to retrieve voicemail settings.');
@@ -727,14 +794,14 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
727
794
  });
728
795
  case 15:
729
796
  case "end":
730
- return _context19.stop();
797
+ return _context20.stop();
731
798
  }
732
- }, _callee19);
799
+ }, _callee20);
733
800
  })));
734
- it('Success: Get Call Forward Always setting when set to voicemail', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
801
+ it('Success: Get Call Forward Always setting when set to voicemail', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21() {
735
802
  var responsePayload, response, callForwardSetting;
736
- return _regenerator.default.wrap(function _callee20$(_context20) {
737
- while (1) switch (_context20.prev = _context20.next) {
803
+ return _regenerator.default.wrap(function _callee21$(_context21) {
804
+ while (1) switch (_context21.prev = _context21.next) {
738
805
  case 0:
739
806
  _testFixtures.callForwardPayload.callForwarding.always.enabled = false;
740
807
  responsePayload = {
@@ -745,10 +812,10 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
745
812
  statusCode: 200,
746
813
  body: _testFixtures.voicemailPayload
747
814
  });
748
- _context20.next = 5;
815
+ _context21.next = 5;
749
816
  return callSettingsClient.getCallForwardAlwaysSetting();
750
817
  case 5:
751
- response = _context20.sent;
818
+ response = _context21.sent;
752
819
  callForwardSetting = response.data.callSetting;
753
820
  expect(response.statusCode).toBe(200);
754
821
  expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
@@ -765,14 +832,14 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
765
832
  });
766
833
  case 14:
767
834
  case "end":
768
- return _context20.stop();
835
+ return _context21.stop();
769
836
  }
770
- }, _callee20);
837
+ }, _callee21);
771
838
  })));
772
- it('Success: Get Call Forward Always setting when not set', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21() {
839
+ it('Success: Get Call Forward Always setting when not set', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22() {
773
840
  var responsePayload, response, callForwardSetting;
774
- return _regenerator.default.wrap(function _callee21$(_context21) {
775
- while (1) switch (_context21.prev = _context21.next) {
841
+ return _regenerator.default.wrap(function _callee22$(_context22) {
842
+ while (1) switch (_context22.prev = _context22.next) {
776
843
  case 0:
777
844
  _testFixtures.callForwardPayload.callForwarding.always.enabled = false;
778
845
  _testFixtures.callForwardPayload.callForwarding.always.destination = '';
@@ -785,10 +852,10 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
785
852
  statusCode: 200,
786
853
  body: _testFixtures.voicemailPayload
787
854
  });
788
- _context21.next = 7;
855
+ _context22.next = 7;
789
856
  return callSettingsClient.getCallForwardAlwaysSetting();
790
857
  case 7:
791
- response = _context21.sent;
858
+ response = _context22.sent;
792
859
  callForwardSetting = response.data.callSetting;
793
860
  expect(response.statusCode).toBe(200);
794
861
  expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
@@ -805,23 +872,23 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
805
872
  });
806
873
  case 16:
807
874
  case "end":
808
- return _context21.stop();
875
+ return _context22.stop();
809
876
  }
810
- }, _callee21);
877
+ }, _callee22);
811
878
  })));
812
- it('Failure: Get Call Forward Always setting fails', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22() {
879
+ it('Failure: Get Call Forward Always setting fails', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23() {
813
880
  var responsePayload, response;
814
- return _regenerator.default.wrap(function _callee22$(_context22) {
815
- while (1) switch (_context22.prev = _context22.next) {
881
+ return _regenerator.default.wrap(function _callee23$(_context23) {
882
+ while (1) switch (_context23.prev = _context23.next) {
816
883
  case 0:
817
884
  responsePayload = {
818
885
  statusCode: 503
819
886
  };
820
887
  webex.request.mockRejectedValueOnce(responsePayload);
821
- _context22.next = 4;
888
+ _context23.next = 4;
822
889
  return callSettingsClient.getCallForwardAlwaysSetting();
823
890
  case 4:
824
- response = _context22.sent;
891
+ response = _context23.sent;
825
892
  expect(response.statusCode).toBe(503);
826
893
  expect(response.message).toBe(_constants.FAILURE_MESSAGE);
827
894
  expect(webex.request).toBeCalledOnceWith({
@@ -830,9 +897,9 @@ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
830
897
  });
831
898
  case 8:
832
899
  case "end":
833
- return _context22.stop();
900
+ return _context23.stop();
834
901
  }
835
- }, _callee22);
902
+ }, _callee23);
836
903
  })));
837
904
  });
838
905
  });