@webex/calling 3.10.0-next.2 → 3.10.0-next.21

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 (131) hide show
  1. package/dist/CallHistory/CallHistory.js +128 -128
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +278 -181
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallSettings/CallSettings.js +17 -18
  6. package/dist/CallSettings/CallSettings.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.test.js +14 -14
  8. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +71 -24
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +136 -47
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +137 -138
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +145 -149
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallingClient/CallingClient.js +297 -345
  18. package/dist/CallingClient/CallingClient.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.test.js +267 -405
  20. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  21. package/dist/CallingClient/calling/CallerId/index.js +7 -8
  22. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  23. package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
  24. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  25. package/dist/CallingClient/calling/call.js +655 -611
  26. package/dist/CallingClient/calling/call.js.map +1 -1
  27. package/dist/CallingClient/calling/call.test.js +762 -551
  28. package/dist/CallingClient/calling/call.test.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.js +15 -18
  30. package/dist/CallingClient/calling/callManager.js.map +1 -1
  31. package/dist/CallingClient/calling/callManager.test.js +113 -113
  32. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  33. package/dist/CallingClient/constants.js +5 -1
  34. package/dist/CallingClient/constants.js.map +1 -1
  35. package/dist/CallingClient/line/index.js +57 -74
  36. package/dist/CallingClient/line/index.js.map +1 -1
  37. package/dist/CallingClient/line/line.test.js +22 -22
  38. package/dist/CallingClient/line/line.test.js.map +1 -1
  39. package/dist/CallingClient/registration/register.js +657 -526
  40. package/dist/CallingClient/registration/register.js.map +1 -1
  41. package/dist/CallingClient/registration/register.test.js +657 -309
  42. package/dist/CallingClient/registration/register.test.js.map +1 -1
  43. package/dist/CallingClient/registration/types.js.map +1 -1
  44. package/dist/CallingClient/registration/webWorker.js +24 -24
  45. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  46. package/dist/CallingClient/registration/webWorker.test.js +20 -20
  47. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  48. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
  49. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
  50. package/dist/Contacts/ContactsClient.js +258 -258
  51. package/dist/Contacts/ContactsClient.js.map +1 -1
  52. package/dist/Contacts/ContactsClient.test.js +60 -60
  53. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  54. package/dist/Errors/catalog/CallError.js +7 -10
  55. package/dist/Errors/catalog/CallError.js.map +1 -1
  56. package/dist/Errors/catalog/CallingDeviceError.js +6 -9
  57. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  58. package/dist/Errors/catalog/ExtendedError.js +6 -8
  59. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  60. package/dist/Errors/catalog/LineError.js +6 -9
  61. package/dist/Errors/catalog/LineError.js.map +1 -1
  62. package/dist/Events/impl/index.js +11 -13
  63. package/dist/Events/impl/index.js.map +1 -1
  64. package/dist/Metrics/index.js +1 -2
  65. package/dist/Metrics/index.js.map +1 -1
  66. package/dist/SDKConnector/index.js +1 -2
  67. package/dist/SDKConnector/index.js.map +1 -1
  68. package/dist/SDKConnector/types.js.map +1 -1
  69. package/dist/Voicemail/BroadworksBackendConnector.js +129 -128
  70. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  71. package/dist/Voicemail/BroadworksBackendConnector.test.js +98 -98
  72. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  73. package/dist/Voicemail/UcmBackendConnector.js +86 -86
  74. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  75. package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
  76. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  77. package/dist/Voicemail/Voicemail.js +58 -61
  78. package/dist/Voicemail/Voicemail.js.map +1 -1
  79. package/dist/Voicemail/Voicemail.test.js +20 -20
  80. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  81. package/dist/Voicemail/WxCallBackendConnector.js +116 -117
  82. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  83. package/dist/Voicemail/WxCallBackendConnector.test.js +140 -140
  84. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  85. package/dist/common/Utils.js +195 -165
  86. package/dist/common/Utils.js.map +1 -1
  87. package/dist/common/Utils.test.js +432 -183
  88. package/dist/common/Utils.test.js.map +1 -1
  89. package/dist/common/constants.js +3 -1
  90. package/dist/common/constants.js.map +1 -1
  91. package/dist/common/testUtil.js +5 -4
  92. package/dist/common/testUtil.js.map +1 -1
  93. package/dist/module/CallHistory/CallHistory.js +7 -3
  94. package/dist/module/CallSettings/UcmBackendConnector.js +20 -6
  95. package/dist/module/CallSettings/WxCallBackendConnector.js +3 -1
  96. package/dist/module/CallingClient/CallingClient.js +83 -121
  97. package/dist/module/CallingClient/calling/call.js +60 -39
  98. package/dist/module/CallingClient/constants.js +3 -0
  99. package/dist/module/CallingClient/registration/register.js +82 -2
  100. package/dist/module/Contacts/ContactsClient.js +9 -5
  101. package/dist/module/Voicemail/BroadworksBackendConnector.js +3 -1
  102. package/dist/module/Voicemail/UcmBackendConnector.js +2 -1
  103. package/dist/module/common/Utils.js +27 -3
  104. package/dist/module/common/constants.js +2 -0
  105. package/dist/module/common/testUtil.js +1 -0
  106. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  107. package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
  108. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  109. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  110. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  111. package/dist/types/CallingClient/calling/call.d.ts +4 -0
  112. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  113. package/dist/types/CallingClient/constants.d.ts +3 -0
  114. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  115. package/dist/types/CallingClient/registration/register.d.ts +4 -0
  116. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  117. package/dist/types/CallingClient/registration/types.d.ts +6 -0
  118. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  119. package/dist/types/Contacts/ContactsClient.d.ts +1 -0
  120. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  121. package/dist/types/SDKConnector/types.d.ts +16 -0
  122. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  123. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  124. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  125. package/dist/types/common/Utils.d.ts +1 -1
  126. package/dist/types/common/Utils.d.ts.map +1 -1
  127. package/dist/types/common/constants.d.ts +2 -0
  128. package/dist/types/common/constants.d.ts.map +1 -1
  129. package/dist/types/common/testUtil.d.ts +1 -0
  130. package/dist/types/common/testUtil.d.ts.map +1 -1
  131. package/package.json +4 -4
@@ -68,21 +68,23 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
68
68
  });
69
69
  it('Success: Get Call Forward Always setting when set to destination', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
70
70
  var response, callForwardSetting;
71
- return _regenerator.default.wrap(function _callee$(_context) {
71
+ return _regenerator.default.wrap(function (_context) {
72
72
  while (1) switch (_context.prev = _context.next) {
73
73
  case 0:
74
- _context.next = 2;
74
+ _context.next = 1;
75
75
  return callSettingsClient.getCallForwardAlwaysSetting('8001');
76
- case 2:
76
+ case 1:
77
77
  response = _context.sent;
78
78
  callForwardSetting = response.data.callSetting;
79
79
  expect(response.statusCode).toEqual(200);
80
80
  expect(response.message).toEqual(_constants.SUCCESS_MESSAGE);
81
81
  expect(callForwardSetting.enabled).toEqual(true);
82
82
  expect(callForwardSetting.destination).toEqual('8004');
83
- expect(webex.request).toBeCalledOnceWith({
83
+ expect(webex.request).toHaveBeenCalledTimes(1);
84
+ expect(webex.request).toHaveBeenCalledWith({
84
85
  method: _types2.HTTP_METHODS.GET,
85
- uri: callForwardingUri
86
+ uri: callForwardingUri,
87
+ headers: {}
86
88
  });
87
89
  expect(_Logger.default.info).toHaveBeenCalledWith('invoking with 8001', {
88
90
  file: _constants.UCM_CONNECTOR_FILE,
@@ -93,7 +95,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
93
95
  method: 'getCallForwardAlwaysSetting'
94
96
  });
95
97
  expect(_Logger.default.error).not.toHaveBeenCalled();
96
- case 12:
98
+ case 2:
97
99
  case "end":
98
100
  return _context.stop();
99
101
  }
@@ -101,21 +103,23 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
101
103
  })));
102
104
  it('Success: Get Call Forward Always setting when set to voicemail', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
103
105
  var response, callForwardSetting;
104
- return _regenerator.default.wrap(function _callee2$(_context2) {
106
+ return _regenerator.default.wrap(function (_context2) {
105
107
  while (1) switch (_context2.prev = _context2.next) {
106
108
  case 0:
107
- _context2.next = 2;
109
+ _context2.next = 1;
108
110
  return callSettingsClient.getCallForwardAlwaysSetting('8002');
109
- case 2:
111
+ case 1:
110
112
  response = _context2.sent;
111
113
  callForwardSetting = response.data.callSetting;
112
114
  expect(response.statusCode).toEqual(200);
113
115
  expect(response.message).toEqual(_constants.SUCCESS_MESSAGE);
114
116
  expect(callForwardSetting.enabled).toEqual(true);
115
117
  expect(callForwardSetting.destination).toEqual('VOICEMAIL');
116
- expect(webex.request).toBeCalledOnceWith({
118
+ expect(webex.request).toHaveBeenCalledTimes(1);
119
+ expect(webex.request).toHaveBeenCalledWith({
117
120
  method: _types2.HTTP_METHODS.GET,
118
- uri: callForwardingUri
121
+ uri: callForwardingUri,
122
+ headers: {}
119
123
  });
120
124
  expect(_Logger.default.info).toHaveBeenCalledWith('invoking with 8002', {
121
125
  file: _constants.UCM_CONNECTOR_FILE,
@@ -126,7 +130,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
126
130
  method: 'getCallForwardAlwaysSetting'
127
131
  });
128
132
  expect(_Logger.default.error).not.toHaveBeenCalled();
129
- case 12:
133
+ case 2:
130
134
  case "end":
131
135
  return _context2.stop();
132
136
  }
@@ -134,21 +138,23 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
134
138
  })));
135
139
  it('Success: Get Call Forward Always setting when not set', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
136
140
  var response, callForwardSetting;
137
- return _regenerator.default.wrap(function _callee3$(_context3) {
141
+ return _regenerator.default.wrap(function (_context3) {
138
142
  while (1) switch (_context3.prev = _context3.next) {
139
143
  case 0:
140
- _context3.next = 2;
144
+ _context3.next = 1;
141
145
  return callSettingsClient.getCallForwardAlwaysSetting('8003');
142
- case 2:
146
+ case 1:
143
147
  response = _context3.sent;
144
148
  callForwardSetting = response.data.callSetting;
145
149
  expect(response.statusCode).toEqual(200);
146
150
  expect(response.message).toEqual(_constants.SUCCESS_MESSAGE);
147
151
  expect(callForwardSetting.enabled).toEqual(false);
148
152
  expect(callForwardSetting.destination).toBeFalsy();
149
- expect(webex.request).toBeCalledOnceWith({
153
+ expect(webex.request).toHaveBeenCalledTimes(1);
154
+ expect(webex.request).toHaveBeenCalledWith({
150
155
  method: _types2.HTTP_METHODS.GET,
151
- uri: callForwardingUri
156
+ uri: callForwardingUri,
157
+ headers: {}
152
158
  });
153
159
  expect(_Logger.default.info).toHaveBeenCalledWith('invoking with 8003', {
154
160
  file: _constants.UCM_CONNECTOR_FILE,
@@ -159,7 +165,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
159
165
  method: 'getCallForwardAlwaysSetting'
160
166
  });
161
167
  expect(_Logger.default.error).not.toHaveBeenCalled();
162
- case 12:
168
+ case 2:
163
169
  case "end":
164
170
  return _context3.stop();
165
171
  }
@@ -167,21 +173,23 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
167
173
  })));
168
174
  it('Success: Get Call Forward Always setting when directory num matching with e16number and set to destination', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
169
175
  var response, callForwardSetting;
170
- return _regenerator.default.wrap(function _callee4$(_context4) {
176
+ return _regenerator.default.wrap(function (_context4) {
171
177
  while (1) switch (_context4.prev = _context4.next) {
172
178
  case 0:
173
- _context4.next = 2;
179
+ _context4.next = 1;
174
180
  return callSettingsClient.getCallForwardAlwaysSetting('8006');
175
- case 2:
181
+ case 1:
176
182
  response = _context4.sent;
177
183
  callForwardSetting = response.data.callSetting;
178
184
  expect(response.statusCode).toEqual(200);
179
185
  expect(response.message).toEqual(_constants.SUCCESS_MESSAGE);
180
186
  expect(callForwardSetting.enabled).toEqual(true);
181
187
  expect(callForwardSetting.destination).toEqual('8007');
182
- expect(webex.request).toBeCalledOnceWith({
188
+ expect(webex.request).toHaveBeenCalledTimes(1);
189
+ expect(webex.request).toHaveBeenCalledWith({
183
190
  method: _types2.HTTP_METHODS.GET,
184
- uri: callForwardingUri
191
+ uri: callForwardingUri,
192
+ headers: {}
185
193
  });
186
194
  expect(_Logger.default.info).toHaveBeenCalledWith('invoking with 8006', {
187
195
  file: _constants.UCM_CONNECTOR_FILE,
@@ -192,7 +200,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
192
200
  method: 'getCallForwardAlwaysSetting'
193
201
  });
194
202
  expect(_Logger.default.error).not.toHaveBeenCalled();
195
- case 12:
203
+ case 2:
196
204
  case "end":
197
205
  return _context4.stop();
198
206
  }
@@ -200,7 +208,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
200
208
  })));
201
209
  it('Failure: Get Call Forward Always setting fails', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
202
210
  var responsePayload, serviceErrorCodeHandlerSpy, response;
203
- return _regenerator.default.wrap(function _callee5$(_context5) {
211
+ return _regenerator.default.wrap(function (_context5) {
204
212
  while (1) switch (_context5.prev = _context5.next) {
205
213
  case 0:
206
214
  responsePayload = {
@@ -209,18 +217,21 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
209
217
  webex.request.mockClear();
210
218
  webex.request.mockRejectedValue(responsePayload);
211
219
  serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');
212
- _context5.next = 6;
220
+ _context5.next = 1;
213
221
  return callSettingsClient.getCallForwardAlwaysSetting('8002');
214
- case 6:
222
+ case 1:
215
223
  response = _context5.sent;
216
224
  expect(response.statusCode).toEqual(503);
217
225
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
218
226
  expect(response.data.error).toEqual('Unable to establish a connection with the server');
219
- expect(webex.request).toBeCalledOnceWith({
227
+ expect(webex.request).toHaveBeenCalledTimes(1);
228
+ expect(webex.request).toHaveBeenCalledWith({
220
229
  method: _types2.HTTP_METHODS.GET,
221
- uri: callForwardingUri
230
+ uri: callForwardingUri,
231
+ headers: {}
222
232
  });
223
- expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(responsePayload, {
233
+ expect(serviceErrorCodeHandlerSpy).toHaveBeenCalledTimes(1);
234
+ expect(serviceErrorCodeHandlerSpy).toHaveBeenCalledWith(responsePayload, {
224
235
  file: _constants.UCM_CONNECTOR_FILE,
225
236
  method: callSettingsClient.getCallForwardAlwaysSetting.name
226
237
  });
@@ -233,7 +244,7 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
233
244
  method: 'getCallForwardAlwaysSetting'
234
245
  });
235
246
  expect(_Logger.default.log).not.toHaveBeenCalled();
236
- case 15:
247
+ case 2:
237
248
  case "end":
238
249
  return _context5.stop();
239
250
  }
@@ -241,26 +252,28 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
241
252
  })));
242
253
  it('Failure: Get Call Forward Always setting fails - wrong directoryNumber', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
243
254
  var response;
244
- return _regenerator.default.wrap(function _callee6$(_context6) {
255
+ return _regenerator.default.wrap(function (_context6) {
245
256
  while (1) switch (_context6.prev = _context6.next) {
246
257
  case 0:
247
- _context6.next = 2;
258
+ _context6.next = 1;
248
259
  return callSettingsClient.getCallForwardAlwaysSetting('8005');
249
- case 2:
260
+ case 1:
250
261
  response = _context6.sent;
251
262
  expect(response.statusCode).toEqual(404);
252
263
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
253
264
  expect(response.data.error).toEqual('Directory Number is not assigned to the user');
254
- expect(webex.request).toBeCalledOnceWith({
265
+ expect(webex.request).toHaveBeenCalledTimes(1);
266
+ expect(webex.request).toHaveBeenCalledWith({
255
267
  method: _types2.HTTP_METHODS.GET,
256
- uri: callForwardingUri
268
+ uri: callForwardingUri,
269
+ headers: {}
257
270
  });
258
271
  expect(_Logger.default.info).toHaveBeenCalledWith('invoking with 8005', {
259
272
  file: _constants.UCM_CONNECTOR_FILE,
260
273
  method: 'getCallForwardAlwaysSetting'
261
274
  });
262
275
  expect(_Logger.default.error).not.toHaveBeenCalled();
263
- case 9:
276
+ case 2:
264
277
  case "end":
265
278
  return _context6.stop();
266
279
  }
@@ -268,23 +281,23 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
268
281
  })));
269
282
  it('Failure: Get Call Forward Always setting fails when no directoryNumberProvided', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
270
283
  var response;
271
- return _regenerator.default.wrap(function _callee7$(_context7) {
284
+ return _regenerator.default.wrap(function (_context7) {
272
285
  while (1) switch (_context7.prev = _context7.next) {
273
286
  case 0:
274
- _context7.next = 2;
287
+ _context7.next = 1;
275
288
  return callSettingsClient.getCallForwardAlwaysSetting();
276
- case 2:
289
+ case 1:
277
290
  response = _context7.sent;
278
291
  expect(response.statusCode).toEqual(400);
279
292
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
280
293
  expect(response.data.error).toEqual('Directory Number is mandatory for UCM backend');
281
- expect(webex.request).not.toBeCalled();
294
+ expect(webex.request).not.toHaveBeenCalled();
282
295
  expect(_Logger.default.info).toHaveBeenCalledWith('invoking', {
283
296
  file: _constants.UCM_CONNECTOR_FILE,
284
297
  method: 'getCallForwardAlwaysSetting'
285
298
  });
286
299
  expect(_Logger.default.error).not.toHaveBeenCalled();
287
- case 9:
300
+ case 2:
288
301
  case "end":
289
302
  return _context7.stop();
290
303
  }
@@ -295,18 +308,18 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
295
308
  it.each(unsupportedMethods)('%s', /*#__PURE__*/function () {
296
309
  var _ref8 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(methodName) {
297
310
  var response;
298
- return _regenerator.default.wrap(function _callee8$(_context8) {
311
+ return _regenerator.default.wrap(function (_context8) {
299
312
  while (1) switch (_context8.prev = _context8.next) {
300
313
  case 0:
301
- _context8.next = 2;
314
+ _context8.next = 1;
302
315
  return callSettingsClient[methodName]();
303
- case 2:
316
+ case 1:
304
317
  response = _context8.sent;
305
318
  expect(response.statusCode).toEqual(501);
306
319
  expect(response.message).toEqual(_constants.FAILURE_MESSAGE);
307
320
  expect(response.data.error).toEqual('Method is not implemented at the backend');
308
- expect(webex.request).not.toBeCalled();
309
- case 7:
321
+ expect(webex.request).not.toHaveBeenCalled();
322
+ case 2:
310
323
  case "end":
311
324
  return _context8.stop();
312
325
  }
@@ -318,5 +331,81 @@ describe('Call Settings Client Tests for UcmBackendConnector', function () {
318
331
  }());
319
332
  });
320
333
  });
334
+ describe('FedRAMP Call Forward Always test', function () {
335
+ var callSettingsClient;
336
+ var MOCK_AUTH_TOKEN = 'mockAuthToken';
337
+ var callForwardPayload = {
338
+ callForwarding: {
339
+ always: [{
340
+ dn: '8001',
341
+ destination: '8004',
342
+ destinationVoicemailEnabled: false,
343
+ e164Number: '+14922999903'
344
+ }]
345
+ }
346
+ };
347
+ var callForwardingUriFedRamp = "".concat(_constants.WEBEX_API_CONFIG_FEDRAMP_URL, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(userId, "/").concat(_constants2.CF_ENDPOINT.toLowerCase(), "?").concat(_constants2.ORG_ENDPOINT, "=").concat(orgId);
348
+ beforeAll(function () {
349
+ webex.config.fedramp = true;
350
+ webex.credentials.getUserToken.mockResolvedValue(MOCK_AUTH_TOKEN);
351
+ callSettingsClient = new _UcmBackendConnector.UcmBackendConnector(webex, {
352
+ level: _types.LOGGER.INFO
353
+ }, true);
354
+ });
355
+ afterAll(function () {
356
+ webex.config.fedramp = false;
357
+ });
358
+ beforeEach(function () {
359
+ var responsePayload = {
360
+ statusCode: 200,
361
+ body: callForwardPayload
362
+ };
363
+ webex.request.mockClear();
364
+ webex.request.mockResolvedValue(responsePayload);
365
+
366
+ // Setup log spies
367
+ jest.spyOn(_Logger.default, 'log').mockImplementation(function () {});
368
+ jest.spyOn(_Logger.default, 'info').mockImplementation(function () {});
369
+ jest.spyOn(_Logger.default, 'warn').mockImplementation(function () {});
370
+ jest.spyOn(_Logger.default, 'error').mockImplementation(function () {});
371
+ });
372
+ it('Success: Get Call Forward Always setting with FedRAMP URL and authorization header', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
373
+ var response, callForwardSetting;
374
+ return _regenerator.default.wrap(function (_context9) {
375
+ while (1) switch (_context9.prev = _context9.next) {
376
+ case 0:
377
+ _context9.next = 1;
378
+ return callSettingsClient.getCallForwardAlwaysSetting('8001');
379
+ case 1:
380
+ response = _context9.sent;
381
+ callForwardSetting = response.data.callSetting;
382
+ expect(response.statusCode).toEqual(200);
383
+ expect(response.message).toEqual(_constants.SUCCESS_MESSAGE);
384
+ expect(callForwardSetting.enabled).toEqual(true);
385
+ expect(callForwardSetting.destination).toEqual('8004');
386
+ expect(webex.request).toHaveBeenCalledTimes(1);
387
+ expect(webex.request).toHaveBeenCalledWith({
388
+ method: _types2.HTTP_METHODS.GET,
389
+ uri: callForwardingUriFedRamp,
390
+ headers: {
391
+ authorization: MOCK_AUTH_TOKEN
392
+ }
393
+ });
394
+ expect(_Logger.default.info).toHaveBeenCalledWith('invoking with 8001', {
395
+ file: _constants.UCM_CONNECTOR_FILE,
396
+ method: 'getCallForwardAlwaysSetting'
397
+ });
398
+ expect(_Logger.default.log).toHaveBeenCalledWith('Successfully retrieved call forward always setting for directory number: 8001', {
399
+ file: _constants.UCM_CONNECTOR_FILE,
400
+ method: 'getCallForwardAlwaysSetting'
401
+ });
402
+ expect(_Logger.default.error).not.toHaveBeenCalled();
403
+ case 2:
404
+ case "end":
405
+ return _context9.stop();
406
+ }
407
+ }, _callee9);
408
+ })));
409
+ });
321
410
  });
322
411
  //# sourceMappingURL=UcmBackendConnector.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_Logger","_interopRequireDefault","utils","_interopRequireWildcard","_constants","_testUtil","_types2","_UcmBackendConnector","_constants2","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","jest","spyOn","mockResolvedValue","undefined","describe","webex","getTestUtilsWebex","userId","orgId","callSettingsClient","callForwardPayload","callForwarding","always","dn","destination","destinationVoicemailEnabled","e164Number","callForwardingUri","concat","WEBEX_API_CONFIG_INT_URL","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","beforeAll","UcmBackendConnector","level","LOGGER","INFO","beforeEach","responsePayload","statusCode","body","request","log","mockImplementation","it","_asyncToGenerator2","_regenerator","mark","_callee","response","callForwardSetting","wrap","_callee$","_context","prev","next","getCallForwardAlwaysSetting","sent","data","callSetting","expect","toEqual","message","SUCCESS_MESSAGE","enabled","toBeCalledOnceWith","method","HTTP_METHODS","GET","uri","info","toHaveBeenCalledWith","file","UCM_CONNECTOR_FILE","error","not","toHaveBeenCalled","stop","_callee2","_callee2$","_context2","_callee3","_callee3$","_context3","toBeFalsy","_callee4","_callee4$","_context4","_callee5","serviceErrorCodeHandlerSpy","_callee5$","_context5","mockClear","mockRejectedValue","FAILURE_MESSAGE","name","_stringify","_callee6","_callee6$","_context6","_callee7","_callee7$","_context7","toBeCalled","unsupportedMethods","each","_ref8","_callee8","methodName","_callee8$","_context8","_x","apply","arguments"],"sources":["UcmBackendConnector.test.ts"],"sourcesContent":["import {LOGGER} from '../Logger/types';\nimport log from '../Logger';\nimport * as utils from '../common/Utils';\nimport {\n FAILURE_MESSAGE,\n SUCCESS_MESSAGE,\n UCM_CONNECTOR_FILE,\n WEBEX_API_CONFIG_INT_URL,\n} from '../common/constants';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {CF_ENDPOINT, ORG_ENDPOINT, PEOPLE_ENDPOINT} from './constants';\nimport {CallForwardAlwaysSetting, CallForwardingSettingsUCM, IUcmBackendConnector} from './types';\n\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Call Settings Client Tests for UcmBackendConnector', () => {\n const webex = getTestUtilsWebex();\n\n const userId = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';\n const orgId = '1704d30d-a131-4bc7-9449-948487643793';\n\n describe('Call Forward Always test', () => {\n let callSettingsClient: IUcmBackendConnector;\n const callForwardPayload: CallForwardingSettingsUCM = {\n callForwarding: {\n always: [\n {\n dn: '8001',\n destination: '8004',\n destinationVoicemailEnabled: false,\n e164Number: '+14922999903',\n },\n {\n dn: '8002',\n destinationVoicemailEnabled: true,\n e164Number: '',\n },\n {\n dn: '8003',\n destinationVoicemailEnabled: false,\n e164Number: '',\n },\n {\n dn: '8000',\n destination: '8007',\n destinationVoicemailEnabled: false,\n e164Number: '8006',\n },\n ],\n },\n };\n\n const callForwardingUri = `${WEBEX_API_CONFIG_INT_URL}/${PEOPLE_ENDPOINT}/${userId}/${CF_ENDPOINT.toLowerCase()}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new UcmBackendConnector(webex, {level: LOGGER.INFO}, false);\n });\n\n beforeEach(() => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValue(responsePayload);\n\n // Setup log spies\n jest.spyOn(log, 'log').mockImplementation(() => {});\n jest.spyOn(log, 'info').mockImplementation(() => {});\n jest.spyOn(log, 'warn').mockImplementation(() => {});\n jest.spyOn(log, 'error').mockImplementation(() => {});\n });\n\n it('Success: Get Call Forward Always setting when set to destination', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8001');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('8004');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8001', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8001',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when set to voicemail', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8002');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('VOICEMAIL');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8002', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8002',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when not set', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8003');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(false);\n expect(callForwardSetting.destination).toBeFalsy();\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8003', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8003',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when directory num matching with e16number and set to destination', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8006');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('8007');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8006', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8006',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\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.mockClear();\n webex.request.mockRejectedValue(responsePayload);\n const serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8002');\n\n expect(response.statusCode).toEqual(503);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Unable to establish a connection with the server');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(responsePayload, {\n file: UCM_CONNECTOR_FILE,\n method: callSettingsClient.getCallForwardAlwaysSetting.name,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8002', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).toHaveBeenCalledWith(\n `Failed to get call forward always setting: ${JSON.stringify(responsePayload)}`,\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.log).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails - wrong directoryNumber', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8005');\n\n expect(response.statusCode).toEqual(404);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Directory Number is not assigned to the user');\n expect(webex.request).toBeCalledOnceWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8005', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails when no directoryNumberProvided', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n\n expect(response.statusCode).toEqual(400);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Directory Number is mandatory for UCM backend');\n expect(webex.request).not.toBeCalled();\n\n expect(log.info).toHaveBeenCalledWith('invoking', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).not.toHaveBeenCalled();\n });\n\n describe('Unsupported methods return failure', () => {\n const unsupportedMethods = [\n 'getCallWaitingSetting',\n 'getDoNotDisturbSetting',\n 'setDoNotDisturbSetting',\n 'getCallForwardSetting',\n 'setCallForwardSetting',\n 'getVoicemailSetting',\n 'setVoicemailSetting',\n ];\n\n it.each(unsupportedMethods)('%s', async (methodName) => {\n const response = await callSettingsClient[methodName]();\n\n expect(response.statusCode).toEqual(501);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Method is not implemented at the backend');\n expect(webex.request).not.toBeCalled();\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_Logger","_interopRequireDefault","utils","_interopRequireWildcard","_constants","_testUtil","_types2","_UcmBackendConnector","_constants2","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","jest","spyOn","mockResolvedValue","undefined","describe","webex","getTestUtilsWebex","userId","orgId","callSettingsClient","callForwardPayload","callForwarding","always","dn","destination","destinationVoicemailEnabled","e164Number","callForwardingUri","concat","WEBEX_API_CONFIG_INT_URL","PEOPLE_ENDPOINT","CF_ENDPOINT","toLowerCase","ORG_ENDPOINT","beforeAll","UcmBackendConnector","level","LOGGER","INFO","beforeEach","responsePayload","statusCode","body","request","log","mockImplementation","it","_asyncToGenerator2","_regenerator","mark","_callee","response","callForwardSetting","wrap","_context","prev","next","getCallForwardAlwaysSetting","sent","data","callSetting","expect","toEqual","message","SUCCESS_MESSAGE","enabled","toHaveBeenCalledTimes","toHaveBeenCalledWith","method","HTTP_METHODS","GET","uri","headers","info","file","UCM_CONNECTOR_FILE","error","not","toHaveBeenCalled","stop","_callee2","_context2","_callee3","_context3","toBeFalsy","_callee4","_context4","_callee5","serviceErrorCodeHandlerSpy","_context5","mockClear","mockRejectedValue","FAILURE_MESSAGE","name","_stringify","_callee6","_context6","_callee7","_context7","unsupportedMethods","each","_ref8","_callee8","methodName","_context8","_x","apply","arguments","MOCK_AUTH_TOKEN","callForwardingUriFedRamp","WEBEX_API_CONFIG_FEDRAMP_URL","config","fedramp","credentials","getUserToken","afterAll","_callee9","_context9","authorization"],"sources":["UcmBackendConnector.test.ts"],"sourcesContent":["import {LOGGER} from '../Logger/types';\nimport log from '../Logger';\nimport * as utils from '../common/Utils';\nimport {\n FAILURE_MESSAGE,\n SUCCESS_MESSAGE,\n UCM_CONNECTOR_FILE,\n WEBEX_API_CONFIG_INT_URL,\n WEBEX_API_CONFIG_FEDRAMP_URL,\n} from '../common/constants';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {HTTP_METHODS, WebexRequestPayload} from '../common/types';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {CF_ENDPOINT, ORG_ENDPOINT, PEOPLE_ENDPOINT} from './constants';\nimport {CallForwardAlwaysSetting, CallForwardingSettingsUCM, IUcmBackendConnector} from './types';\n\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Call Settings Client Tests for UcmBackendConnector', () => {\n const webex = getTestUtilsWebex();\n\n const userId = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';\n const orgId = '1704d30d-a131-4bc7-9449-948487643793';\n\n describe('Call Forward Always test', () => {\n let callSettingsClient: IUcmBackendConnector;\n const callForwardPayload: CallForwardingSettingsUCM = {\n callForwarding: {\n always: [\n {\n dn: '8001',\n destination: '8004',\n destinationVoicemailEnabled: false,\n e164Number: '+14922999903',\n },\n {\n dn: '8002',\n destinationVoicemailEnabled: true,\n e164Number: '',\n },\n {\n dn: '8003',\n destinationVoicemailEnabled: false,\n e164Number: '',\n },\n {\n dn: '8000',\n destination: '8007',\n destinationVoicemailEnabled: false,\n e164Number: '8006',\n },\n ],\n },\n };\n\n const callForwardingUri = `${WEBEX_API_CONFIG_INT_URL}/${PEOPLE_ENDPOINT}/${userId}/${CF_ENDPOINT.toLowerCase()}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n callSettingsClient = new UcmBackendConnector(webex, {level: LOGGER.INFO}, false);\n });\n\n beforeEach(() => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockResolvedValue(responsePayload);\n\n // Setup log spies\n jest.spyOn(log, 'log').mockImplementation(() => {});\n jest.spyOn(log, 'info').mockImplementation(() => {});\n jest.spyOn(log, 'warn').mockImplementation(() => {});\n jest.spyOn(log, 'error').mockImplementation(() => {});\n });\n\n it('Success: Get Call Forward Always setting when set to destination', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8001');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('8004');\n expect(webex.request).toHaveBeenCalledTimes(1);\n expect(webex.request).toHaveBeenCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n headers: {},\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8001', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8001',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when set to voicemail', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8002');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('VOICEMAIL');\n expect(webex.request).toHaveBeenCalledTimes(1);\n expect(webex.request).toHaveBeenCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n headers: {},\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8002', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8002',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when not set', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8003');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(false);\n expect(callForwardSetting.destination).toBeFalsy();\n expect(webex.request).toHaveBeenCalledTimes(1);\n expect(webex.request).toHaveBeenCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n headers: {},\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8003', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8003',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Success: Get Call Forward Always setting when directory num matching with e16number and set to destination', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8006');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('8007');\n expect(webex.request).toHaveBeenCalledTimes(1);\n expect(webex.request).toHaveBeenCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n headers: {},\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8006', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8006',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\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.mockClear();\n webex.request.mockRejectedValue(responsePayload);\n const serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8002');\n\n expect(response.statusCode).toEqual(503);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Unable to establish a connection with the server');\n expect(webex.request).toHaveBeenCalledTimes(1);\n expect(webex.request).toHaveBeenCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n headers: {},\n });\n expect(serviceErrorCodeHandlerSpy).toHaveBeenCalledTimes(1);\n expect(serviceErrorCodeHandlerSpy).toHaveBeenCalledWith(responsePayload, {\n file: UCM_CONNECTOR_FILE,\n method: callSettingsClient.getCallForwardAlwaysSetting.name,\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8002', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).toHaveBeenCalledWith(\n `Failed to get call forward always setting: ${JSON.stringify(responsePayload)}`,\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.log).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails - wrong directoryNumber', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8005');\n\n expect(response.statusCode).toEqual(404);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Directory Number is not assigned to the user');\n expect(webex.request).toHaveBeenCalledTimes(1);\n expect(webex.request).toHaveBeenCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUri,\n headers: {},\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8005', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).not.toHaveBeenCalled();\n });\n\n it('Failure: Get Call Forward Always setting fails when no directoryNumberProvided', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting();\n\n expect(response.statusCode).toEqual(400);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Directory Number is mandatory for UCM backend');\n expect(webex.request).not.toHaveBeenCalled();\n\n expect(log.info).toHaveBeenCalledWith('invoking', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.error).not.toHaveBeenCalled();\n });\n\n describe('Unsupported methods return failure', () => {\n const unsupportedMethods = [\n 'getCallWaitingSetting',\n 'getDoNotDisturbSetting',\n 'setDoNotDisturbSetting',\n 'getCallForwardSetting',\n 'setCallForwardSetting',\n 'getVoicemailSetting',\n 'setVoicemailSetting',\n ];\n\n it.each(unsupportedMethods)('%s', async (methodName) => {\n const response = await callSettingsClient[methodName]();\n\n expect(response.statusCode).toEqual(501);\n expect(response.message).toEqual(FAILURE_MESSAGE);\n expect(response.data.error).toEqual('Method is not implemented at the backend');\n expect(webex.request).not.toHaveBeenCalled();\n });\n });\n });\n\n describe('FedRAMP Call Forward Always test', () => {\n let callSettingsClient: IUcmBackendConnector;\n const MOCK_AUTH_TOKEN = 'mockAuthToken';\n const callForwardPayload: CallForwardingSettingsUCM = {\n callForwarding: {\n always: [\n {\n dn: '8001',\n destination: '8004',\n destinationVoicemailEnabled: false,\n e164Number: '+14922999903',\n },\n ],\n },\n };\n\n const callForwardingUriFedRamp = `${WEBEX_API_CONFIG_FEDRAMP_URL}/${PEOPLE_ENDPOINT}/${userId}/${CF_ENDPOINT.toLowerCase()}?${ORG_ENDPOINT}=${orgId}`;\n\n beforeAll(() => {\n webex.config.fedramp = true;\n webex.credentials.getUserToken.mockResolvedValue(MOCK_AUTH_TOKEN);\n callSettingsClient = new UcmBackendConnector(webex, {level: LOGGER.INFO}, true);\n });\n\n afterAll(() => {\n webex.config.fedramp = false;\n });\n\n beforeEach(() => {\n const responsePayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: callForwardPayload,\n });\n\n webex.request.mockClear();\n webex.request.mockResolvedValue(responsePayload);\n\n // Setup log spies\n jest.spyOn(log, 'log').mockImplementation(() => {});\n jest.spyOn(log, 'info').mockImplementation(() => {});\n jest.spyOn(log, 'warn').mockImplementation(() => {});\n jest.spyOn(log, 'error').mockImplementation(() => {});\n });\n\n it('Success: Get Call Forward Always setting with FedRAMP URL and authorization header', async () => {\n const response = await callSettingsClient.getCallForwardAlwaysSetting('8001');\n\n const callForwardSetting = response.data.callSetting as CallForwardAlwaysSetting;\n\n expect(response.statusCode).toEqual(200);\n expect(response.message).toEqual(SUCCESS_MESSAGE);\n expect(callForwardSetting.enabled).toEqual(true);\n expect(callForwardSetting.destination).toEqual('8004');\n expect(webex.request).toHaveBeenCalledTimes(1);\n expect(webex.request).toHaveBeenCalledWith({\n method: HTTP_METHODS.GET,\n uri: callForwardingUriFedRamp,\n headers: {\n authorization: MOCK_AUTH_TOKEN,\n },\n });\n\n expect(log.info).toHaveBeenCalledWith('invoking with 8001', {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n });\n expect(log.log).toHaveBeenCalledWith(\n 'Successfully retrieved call forward always setting for directory number: 8001',\n {\n file: UCM_CONNECTOR_FILE,\n method: 'getCallForwardAlwaysSetting',\n }\n );\n expect(log.error).not.toHaveBeenCalled();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}