@webex/calling 3.8.0 → 3.8.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/CallHistory/CallHistory.js +100 -63
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +115 -19
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/constants.js +9 -1
  6. package/dist/CallHistory/constants.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.js +46 -13
  8. package/dist/CallSettings/CallSettings.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +62 -18
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +70 -7
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +153 -103
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +52 -15
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallSettings/constants.js +15 -1
  18. package/dist/CallSettings/constants.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.js +220 -159
  20. package/dist/CallingClient/CallingClient.js.map +1 -1
  21. package/dist/CallingClient/CallingClient.test.js +53 -24
  22. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  23. package/dist/CallingClient/calling/call.js +251 -189
  24. package/dist/CallingClient/calling/call.js.map +1 -1
  25. package/dist/CallingClient/calling/call.test.js +96 -41
  26. package/dist/CallingClient/calling/call.test.js.map +1 -1
  27. package/dist/CallingClient/calling/callManager.js +73 -48
  28. package/dist/CallingClient/calling/callManager.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.test.js +96 -37
  30. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  31. package/dist/CallingClient/constants.js +105 -3
  32. package/dist/CallingClient/constants.js.map +1 -1
  33. package/dist/CallingClient/line/index.js +47 -18
  34. package/dist/CallingClient/line/index.js.map +1 -1
  35. package/dist/CallingClient/line/line.test.js +2 -2
  36. package/dist/CallingClient/line/line.test.js.map +1 -1
  37. package/dist/CallingClient/registration/register.js +359 -297
  38. package/dist/CallingClient/registration/register.js.map +1 -1
  39. package/dist/CallingClient/registration/register.test.js +561 -163
  40. package/dist/CallingClient/registration/register.test.js.map +1 -1
  41. package/dist/CallingClient/registration/types.js.map +1 -1
  42. package/dist/Contacts/ContactsClient.js +156 -102
  43. package/dist/Contacts/ContactsClient.js.map +1 -1
  44. package/dist/Contacts/ContactsClient.test.js +197 -49
  45. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  46. package/dist/Contacts/constants.js +11 -1
  47. package/dist/Contacts/constants.js.map +1 -1
  48. package/dist/Errors/types.js +2 -0
  49. package/dist/Errors/types.js.map +1 -1
  50. package/dist/Events/impl/index.js +1 -1
  51. package/dist/Events/impl/index.js.map +1 -1
  52. package/dist/Metrics/index.js +102 -41
  53. package/dist/Metrics/index.js.map +1 -1
  54. package/dist/Metrics/index.test.js +10 -4
  55. package/dist/Metrics/index.test.js.map +1 -1
  56. package/dist/Metrics/types.js +4 -1
  57. package/dist/Metrics/types.js.map +1 -1
  58. package/dist/SDKConnector/types.js.map +1 -1
  59. package/dist/Voicemail/BroadworksBackendConnector.js +154 -91
  60. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  61. package/dist/Voicemail/BroadworksBackendConnector.test.js +99 -19
  62. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  63. package/dist/Voicemail/UcmBackendConnector.js +105 -54
  64. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  65. package/dist/Voicemail/UcmBackendConnector.test.js +127 -17
  66. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  67. package/dist/Voicemail/Voicemail.js +198 -79
  68. package/dist/Voicemail/Voicemail.js.map +1 -1
  69. package/dist/Voicemail/Voicemail.test.js +188 -23
  70. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  71. package/dist/Voicemail/WxCallBackendConnector.js +277 -161
  72. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  73. package/dist/Voicemail/WxCallBackendConnector.test.js +268 -10
  74. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  75. package/dist/Voicemail/constants.js +25 -1
  76. package/dist/Voicemail/constants.js.map +1 -1
  77. package/dist/Voicemail/types.js.map +1 -1
  78. package/dist/common/Utils.js +168 -104
  79. package/dist/common/Utils.js.map +1 -1
  80. package/dist/common/Utils.test.js +199 -35
  81. package/dist/common/Utils.test.js.map +1 -1
  82. package/dist/common/constants.js +2 -1
  83. package/dist/common/constants.js.map +1 -1
  84. package/dist/common/testUtil.js +3 -0
  85. package/dist/common/testUtil.js.map +1 -1
  86. package/dist/common/types.js.map +1 -1
  87. package/dist/index.js +12 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/module/CallHistory/CallHistory.js +32 -13
  90. package/dist/module/CallHistory/constants.js +6 -0
  91. package/dist/module/CallSettings/CallSettings.js +36 -3
  92. package/dist/module/CallSettings/UcmBackendConnector.js +50 -5
  93. package/dist/module/CallSettings/WxCallBackendConnector.js +54 -18
  94. package/dist/module/CallSettings/constants.js +12 -0
  95. package/dist/module/CallingClient/CallingClient.js +54 -16
  96. package/dist/module/CallingClient/calling/call.js +172 -121
  97. package/dist/module/CallingClient/calling/callManager.js +51 -26
  98. package/dist/module/CallingClient/constants.js +102 -2
  99. package/dist/module/CallingClient/line/index.js +37 -8
  100. package/dist/module/CallingClient/registration/register.js +103 -64
  101. package/dist/module/Contacts/ContactsClient.js +65 -21
  102. package/dist/module/Contacts/constants.js +10 -0
  103. package/dist/module/Errors/types.js +2 -0
  104. package/dist/module/Events/impl/index.js +1 -1
  105. package/dist/module/Metrics/index.js +57 -2
  106. package/dist/module/Metrics/types.js +3 -0
  107. package/dist/module/Voicemail/BroadworksBackendConnector.js +66 -17
  108. package/dist/module/Voicemail/UcmBackendConnector.js +51 -11
  109. package/dist/module/Voicemail/Voicemail.js +109 -9
  110. package/dist/module/Voicemail/WxCallBackendConnector.js +67 -18
  111. package/dist/module/Voicemail/constants.js +21 -0
  112. package/dist/module/common/Utils.js +51 -12
  113. package/dist/module/common/constants.js +1 -0
  114. package/dist/module/common/testUtil.js +3 -0
  115. package/dist/module/index.js +1 -0
  116. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  117. package/dist/types/CallHistory/constants.d.ts +6 -0
  118. package/dist/types/CallHistory/constants.d.ts.map +1 -1
  119. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
  120. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  121. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  122. package/dist/types/CallSettings/constants.d.ts +12 -0
  123. package/dist/types/CallSettings/constants.d.ts.map +1 -1
  124. package/dist/types/CallingClient/CallingClient.d.ts +2 -3
  125. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  126. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  127. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  128. package/dist/types/CallingClient/constants.d.ts +102 -2
  129. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  130. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  131. package/dist/types/CallingClient/registration/register.d.ts +3 -1
  132. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  133. package/dist/types/CallingClient/registration/types.d.ts +1 -0
  134. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  135. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  136. package/dist/types/Contacts/constants.d.ts +10 -0
  137. package/dist/types/Contacts/constants.d.ts.map +1 -1
  138. package/dist/types/Errors/types.d.ts +2 -0
  139. package/dist/types/Errors/types.d.ts.map +1 -1
  140. package/dist/types/Metrics/index.d.ts +1 -1
  141. package/dist/types/Metrics/index.d.ts.map +1 -1
  142. package/dist/types/Metrics/types.d.ts +7 -2
  143. package/dist/types/Metrics/types.d.ts.map +1 -1
  144. package/dist/types/SDKConnector/types.d.ts +11 -2
  145. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  146. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  147. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  148. package/dist/types/Voicemail/Voicemail.d.ts +1 -1
  149. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  150. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +3 -1
  151. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  152. package/dist/types/Voicemail/constants.d.ts +21 -0
  153. package/dist/types/Voicemail/constants.d.ts.map +1 -1
  154. package/dist/types/Voicemail/types.d.ts +1 -1
  155. package/dist/types/Voicemail/types.d.ts.map +1 -1
  156. package/dist/types/common/Utils.d.ts +4 -4
  157. package/dist/types/common/Utils.d.ts.map +1 -1
  158. package/dist/types/common/constants.d.ts +1 -0
  159. package/dist/types/common/constants.d.ts.map +1 -1
  160. package/dist/types/common/testUtil.d.ts +3 -0
  161. package/dist/types/common/testUtil.d.ts.map +1 -1
  162. package/dist/types/common/types.d.ts +12 -0
  163. package/dist/types/common/types.d.ts.map +1 -1
  164. package/dist/types/index.d.ts +2 -0
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/package.json +4 -3
@@ -22,18 +22,25 @@ var _callHistoryFixtures = require("./callHistoryFixtures");
22
22
  var _types3 = require("../Events/types");
23
23
  var _constants = require("./constants");
24
24
  var utils = _interopRequireWildcard(require("../common/Utils"));
25
+ var _Logger = _interopRequireDefault(require("../Logger"));
26
+ var _constants2 = require("../common/constants");
25
27
  function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return null; var r = new _WeakMap(), t = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
26
28
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
27
29
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28
30
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable dot-notation */ /* eslint-disable @typescript-eslint/no-shadow */
29
31
  var webex = (0, _testUtil.getTestUtilsWebex)();
30
32
  var serviceErrorCodeHandlerSpy;
33
+ var uploadLogsSpy;
31
34
  describe('Call history tests', function () {
32
35
  var callHistory;
36
+ var infoSpy = jest.spyOn(_Logger.default, 'info').mockImplementation();
37
+ var logSpy = jest.spyOn(_Logger.default, 'log').mockImplementation();
38
+ var errorSpy = jest.spyOn(_Logger.default, 'error').mockImplementation();
33
39
  beforeAll(function () {
34
40
  callHistory = new _CallHistory.CallHistory(webex, {
35
41
  level: _types.LOGGER.INFO
36
42
  });
43
+ uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();
37
44
  });
38
45
  it('verify successful call history case', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
39
46
  var callHistoryPayload, response;
@@ -48,7 +55,24 @@ describe('Call history tests', function () {
48
55
  response = _context.sent;
49
56
  expect(response.statusCode).toBe(200);
50
57
  expect(response.message).toBe('SUCCESS');
51
- case 7:
58
+
59
+ // Verify logging behavior
60
+ expect(infoSpy).toHaveBeenCalled();
61
+ expect(logSpy).toHaveBeenCalled();
62
+ expect(errorSpy).not.toHaveBeenCalled();
63
+
64
+ // Verify logs were called with correct information
65
+ expect(infoSpy).toHaveBeenCalledWith('invoking with days=7, limit=10, sort=DESC, sortBy=endTime', {
66
+ file: _constants.CALL_HISTORY_FILE,
67
+ method: _constants.METHODS.GET_CALL_HISTORY_DATA
68
+ });
69
+ expect(logSpy).toHaveBeenCalledWith(expect.stringContaining('Successfully retrieved call history data'), {
70
+ file: _constants.CALL_HISTORY_FILE,
71
+ method: _constants.METHODS.GET_CALL_HISTORY_DATA
72
+ });
73
+ expect(errorSpy).not.toHaveBeenCalled();
74
+ expect(uploadLogsSpy).not.toHaveBeenCalled();
75
+ case 14:
52
76
  case "end":
53
77
  return _context.stop();
54
78
  }
@@ -70,7 +94,15 @@ describe('Call history tests', function () {
70
94
  response = _context2.sent;
71
95
  expect(response.statusCode).toBe(400);
72
96
  expect(response.message).toBe('FAILURE');
73
- case 8:
97
+
98
+ // Verify logs were called with correct information
99
+ expect(infoSpy).toHaveBeenCalledWith('invoking with days=7, limit=2000, sort=ASC, sortBy=startTime', {
100
+ file: _constants.CALL_HISTORY_FILE,
101
+ method: _constants.METHODS.GET_CALL_HISTORY_DATA
102
+ });
103
+ expect(errorSpy).toHaveBeenCalled();
104
+ expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
105
+ case 11:
74
106
  case "end":
75
107
  return _context2.stop();
76
108
  }
@@ -92,7 +124,15 @@ describe('Call history tests', function () {
92
124
  response = _context3.sent;
93
125
  expect(response.statusCode).toBe(404);
94
126
  expect(response.message).toBe('FAILURE');
95
- case 8:
127
+
128
+ // Verify logs were called with correct information
129
+ expect(infoSpy).toHaveBeenCalledWith('invoking with days=0, limit=0, sort=ASC, sortBy=startTime', {
130
+ file: _constants.CALL_HISTORY_FILE,
131
+ method: _constants.METHODS.GET_CALL_HISTORY_DATA
132
+ });
133
+ expect(errorSpy).toHaveBeenCalled();
134
+ expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
135
+ case 11:
96
136
  case "end":
97
137
  return _context3.stop();
98
138
  }
@@ -118,7 +158,13 @@ describe('Call history tests', function () {
118
158
  message: 'SUCCESS'
119
159
  };
120
160
  expect(response).toEqual(responseDetails);
121
- case 7:
161
+
162
+ // Verify logs were called with correct information
163
+ expect(infoSpy).toHaveBeenCalledWith('invoking with days=10, limit=20, sort=ASC, sortBy=startTime', {
164
+ file: _constants.CALL_HISTORY_FILE,
165
+ method: _constants.METHODS.GET_CALL_HISTORY_DATA
166
+ });
167
+ case 8:
122
168
  case "end":
123
169
  return _context4.stop();
124
170
  }
@@ -195,7 +241,7 @@ describe('Call history tests', function () {
195
241
  describe('Update missed calls test', function () {
196
242
  var methodDetails = {
197
243
  file: _constants.CALL_HISTORY_FILE,
198
- method: 'updateMissedCalls'
244
+ method: _constants.METHODS.UPDATE_MISSED_CALLS
199
245
  };
200
246
  afterEach(function () {
201
247
  jest.clearAllMocks();
@@ -205,6 +251,7 @@ describe('Call history tests', function () {
205
251
  while (1) switch (_context7.prev = _context7.next) {
206
252
  case 0:
207
253
  serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');
254
+ uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();
208
255
  global.fetch = jest.fn(function () {
209
256
  return _promise.default.resolve({
210
257
  status: 200,
@@ -214,7 +261,7 @@ describe('Call history tests', function () {
214
261
  }
215
262
  });
216
263
  });
217
- case 2:
264
+ case 3:
218
265
  case "end":
219
266
  return _context7.stop();
220
267
  }
@@ -259,7 +306,12 @@ describe('Call history tests', function () {
259
306
  body: _context8.t7
260
307
  };
261
308
  _context8.t0.toBeCalledOnceWith.call(_context8.t0, _context8.t1, _context8.t8);
262
- case 19:
309
+ // Verify logs were called with correct information
310
+ expect(infoSpy).toHaveBeenCalledWith("".concat(_constants2.METHOD_START_MESSAGE, " with sessions: ").concat((0, _stringify.default)(convertedEndTimeSessionIds)), methodDetails);
311
+ expect(logSpy).toHaveBeenCalledWith('Missed calls are successfully read by the user', methodDetails);
312
+ expect(errorSpy).not.toHaveBeenCalled();
313
+ expect(uploadLogsSpy).not.toHaveBeenCalled();
314
+ case 23:
263
315
  case "end":
264
316
  return _context8.stop();
265
317
  }
@@ -310,7 +362,9 @@ describe('Call history tests', function () {
310
362
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
311
363
  statusCode: 400
312
364
  }, methodDetails);
313
- case 21:
365
+ expect(errorSpy).toHaveBeenCalled();
366
+ expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
367
+ case 23:
314
368
  case "end":
315
369
  return _context9.stop();
316
370
  }
@@ -361,7 +415,9 @@ describe('Call history tests', function () {
361
415
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
362
416
  statusCode: 401
363
417
  }, methodDetails);
364
- case 21:
418
+ expect(errorSpy).toHaveBeenCalled();
419
+ expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
420
+ case 23:
365
421
  case "end":
366
422
  return _context10.stop();
367
423
  }
@@ -369,6 +425,9 @@ describe('Call history tests', function () {
369
425
  })));
370
426
  });
371
427
  describe('fetchUCMLinesData test', function () {
428
+ beforeEach(function () {
429
+ uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();
430
+ });
372
431
  it('verify successful UCM lines API case', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {
373
432
  var ucmLinesAPIPayload, response;
374
433
  return _regenerator.default.wrap(function _callee11$(_context11) {
@@ -382,7 +441,19 @@ describe('Call history tests', function () {
382
441
  response = _context11.sent;
383
442
  expect(response.statusCode).toBe(200);
384
443
  expect(response.message).toBe('SUCCESS');
385
- case 7:
444
+
445
+ // Verify logs were called with correct information
446
+ expect(infoSpy).toHaveBeenCalledWith('invoking with URL: https://gw.telemetry.int-ucmgmt.cisco.com/v1/uc/config/people/8a67806f-fc4d-446b-a131-31e71ea5b0e9/lines?orgId=1704d30d-a131-4bc7-9449-948487643793', {
447
+ file: _constants.CALL_HISTORY_FILE,
448
+ method: _constants.METHODS.FETCH_UCM_LINES_DATA
449
+ });
450
+ expect(logSpy).toHaveBeenCalledWith('Line details fetched successfully', {
451
+ file: _constants.CALL_HISTORY_FILE,
452
+ method: _constants.METHODS.FETCH_UCM_LINES_DATA
453
+ });
454
+ expect(errorSpy).not.toHaveBeenCalled();
455
+ expect(uploadLogsSpy).not.toHaveBeenCalled();
456
+ case 11:
386
457
  case "end":
387
458
  return _context11.stop();
388
459
  }
@@ -409,10 +480,18 @@ describe('Call history tests', function () {
409
480
  expect(serviceErrorCodeHandlerSpy).toHaveBeenCalledWith({
410
481
  statusCode: 400
411
482
  }, {
412
- file: 'CallHistory',
413
- method: 'fetchLinesData'
483
+ file: _constants.CALL_HISTORY_FILE,
484
+ method: _constants.METHODS.FETCH_UCM_LINES_DATA
414
485
  });
415
- case 11:
486
+
487
+ // Verify logs were called with correct information
488
+ expect(infoSpy).toHaveBeenCalledWith("".concat(_constants2.METHOD_START_MESSAGE, " with URL: https://gw.telemetry.int-ucmgmt.cisco.com/v1/uc/config/people/8a67806f-fc4d-446b-a131-31e71ea5b0e9/lines?orgId=1704d30d-a131-4bc7-9449-948487643793"), {
489
+ file: _constants.CALL_HISTORY_FILE,
490
+ method: _constants.METHODS.FETCH_UCM_LINES_DATA
491
+ });
492
+ expect(errorSpy).toHaveBeenCalled();
493
+ expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
494
+ case 14:
416
495
  case "end":
417
496
  return _context12.stop();
418
497
  }
@@ -514,7 +593,7 @@ describe('Call history tests', function () {
514
593
  describe('Delete call history records test', function () {
515
594
  var methodDetails = {
516
595
  file: _constants.CALL_HISTORY_FILE,
517
- method: 'deleteCallHistoryRecords'
596
+ method: _constants.METHODS.DELETE_CALL_HISTORY_RECORDS
518
597
  };
519
598
  afterEach(function () {
520
599
  jest.clearAllMocks();
@@ -524,6 +603,7 @@ describe('Call history tests', function () {
524
603
  while (1) switch (_context17.prev = _context17.next) {
525
604
  case 0:
526
605
  serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');
606
+ uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();
527
607
  global.fetch = jest.fn(function () {
528
608
  return _promise.default.resolve({
529
609
  status: 200,
@@ -533,7 +613,7 @@ describe('Call history tests', function () {
533
613
  }
534
614
  });
535
615
  });
536
- case 2:
616
+ case 3:
537
617
  case "end":
538
618
  return _context17.stop();
539
619
  }
@@ -578,7 +658,12 @@ describe('Call history tests', function () {
578
658
  body: _context18.t7
579
659
  };
580
660
  _context18.t0.toBeCalledOnceWith.call(_context18.t0, _context18.t1, _context18.t8);
581
- case 19:
661
+ // Verify logs were called with correct information
662
+ expect(infoSpy).toHaveBeenCalledWith("".concat(_constants2.METHOD_START_MESSAGE, " with sessions: ").concat((0, _stringify.default)(deleteSessionIds)), methodDetails);
663
+ expect(logSpy).toHaveBeenCalledWith("Successfully deleted ".concat(deleteSessionIds.length, " call history records"), methodDetails);
664
+ expect(errorSpy).not.toHaveBeenCalled();
665
+ expect(uploadLogsSpy).not.toHaveBeenCalled();
666
+ case 23:
582
667
  case "end":
583
668
  return _context18.stop();
584
669
  }
@@ -629,7 +714,9 @@ describe('Call history tests', function () {
629
714
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
630
715
  statusCode: 400
631
716
  }, methodDetails);
632
- case 21:
717
+ expect(errorSpy).toHaveBeenCalled();
718
+ expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
719
+ case 23:
633
720
  case "end":
634
721
  return _context19.stop();
635
722
  }
@@ -680,7 +767,12 @@ describe('Call history tests', function () {
680
767
  expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
681
768
  statusCode: 401
682
769
  }, methodDetails);
683
- case 21:
770
+ expect(errorSpy).toHaveBeenCalledWith(expect.any(Error), {
771
+ file: _constants.CALL_HISTORY_FILE,
772
+ method: _constants.METHODS.DELETE_CALL_HISTORY_RECORDS
773
+ });
774
+ expect(uploadLogsSpy).toHaveBeenCalledTimes(1);
775
+ case 23:
684
776
  case "end":
685
777
  return _context20.stop();
686
778
  }
@@ -707,7 +799,11 @@ describe('Call history tests', function () {
707
799
  response = _context21.sent;
708
800
  expect(response.statusCode).toBe(400);
709
801
  expect(response).toEqual(_callHistoryFixtures.MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE);
710
- case 7:
802
+
803
+ // Verify logs were called with correct information
804
+ expect(infoSpy).toHaveBeenCalledWith(expect.stringContaining('The provided date is malformed or invalid'), methodDetails);
805
+ expect(uploadLogsSpy).not.toHaveBeenCalled();
806
+ case 9:
711
807
  case "end":
712
808
  return _context21.stop();
713
809
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_testUtil","_types2","_CallHistory","_callHistoryFixtures","_types3","_constants","utils","_interopRequireWildcard","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","webex","getTestUtilsWebex","serviceErrorCodeHandlerSpy","describe","callHistory","beforeAll","CallHistory","level","LOGGER","INFO","it","_asyncToGenerator2","_regenerator","mark","_callee","callHistoryPayload","response","wrap","_callee$","_context","prev","next","mockCallHistoryBody","request","mockResolvedValue","getCallHistoryData","SORT","DEFAULT","SORT_BY","sent","expect","statusCode","toBe","message","stop","_callee2","failurePayload","_callee2$","_context2","mockRejectedValue","ASC","START_TIME","_callee3","_callee3$","_context3","_callee4","responseDetails","_callee4$","_context4","sortedCallHistory","body","data","userSessions","toEqual","mockOn","internal","mercury","on","beforeEach","createCallHistoryClient","done","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","event","MOCK_SESSION_EVENT","mock","calls","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","callSessionCallback","MOCK_SESSION_EVENT_LEGACY","CALL_SESSION_EVENT_LEGACY","_callee5","_callee5$","_context5","_promise","resolve","CALL_HISTORY_USER_VIEWED_SESSIONS","MOCK_SESSION_EVENT_VIEWED","CALL_SESSION_EVENT_VIEWED","_callee6","_callee6$","_context6","CALL_HISTORY_USER_SESSIONS_DELETED","MOCK_SESSION_EVENT_DELETED","CALL_SESSION_EVENT_DELETED","methodDetails","file","CALL_HISTORY_FILE","method","afterEach","jest","clearAllMocks","_callee7","_callee7$","_context7","spyOn","global","fetch","fn","status","ok","json","MOCK_UPDATE_MISSED_CALL_RESPONSE","_callee8","endTimeSessionIds","convertedEndTimeSessionIds","_callee8$","_context8","endTime","sessionId","updateMissedCalls","map","session","Date","getTime","t0","t1","janusSetReadStateUrl","t2","HTTP_METHODS","POST","t3","t4","CONTENT_TYPE","APPLICATION_JSON","credentials","getUserToken","t5","t6","t7","_stringify","t8","headers","toBeCalledOnceWith","_callee9","_callee9$","_context9","toStrictEqual","ERROR_DETAILS_400","_callee10","_callee10$","_context10","ERROR_DETAILS_401","_callee11","ucmLinesAPIPayload","_callee11$","_context11","MOCK_LINES_API_CALL_RESPONSE","_callee12","_callee12$","_context12","error","toHaveBeenCalledWith","_callee13","fetchUCMLinesDataSpy","mockCallHistoryPayload","_callee13$","_context13","mockReturnValue","CALLING_BACKEND","UCM","MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER","toHaveBeenCalledTimes","self","ucmLineNumber","_callee14","_callee14$","_context14","MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA","MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER","cucmDN","toBeDefined","undefined","_callee15","_callee15$","_context15","not","toHaveBeenCalled","_callee16","_callee16$","_context16","WXC","_callee17","_callee17$","_context17","MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE","_callee18","deleteSessionIds","_callee18$","_context18","deleteCallHistoryRecords","janusMarkAsDeletedUrl","_callee19","_callee19$","_context19","_callee20","_callee20$","_context20","_callee21","_callee21$","_context21","MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE"],"sources":["CallHistory.test.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable dot-notation */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport {LOGGER} from '../Logger/types';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {CALLING_BACKEND, HTTP_METHODS, SORT, SORT_BY, WebexRequestPayload} from '../common/types';\nimport {CallHistory, createCallHistoryClient} from './CallHistory';\nimport {ICallHistory} from './types';\nimport {\n sortedCallHistory,\n mockCallHistoryBody,\n MOCK_SESSION_EVENT,\n MOCK_SESSION_EVENT_LEGACY,\n MOCK_SESSION_EVENT_VIEWED,\n MOCK_UPDATE_MISSED_CALL_RESPONSE,\n janusSetReadStateUrl,\n ERROR_DETAILS_401,\n ERROR_DETAILS_400,\n MOCK_LINES_API_CALL_RESPONSE,\n MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA,\n MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER,\n MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER,\n MOCK_SESSION_EVENT_DELETED,\n MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE,\n janusMarkAsDeletedUrl,\n MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE,\n} from './callHistoryFixtures';\nimport {\n COMMON_EVENT_KEYS,\n CallSessionDeletedEvent,\n CallSessionEvent,\n CallSessionViewedEvent,\n MOBIUS_EVENT_KEYS,\n} from '../Events/types';\nimport {APPLICATION_JSON, CALL_HISTORY_FILE, CONTENT_TYPE} from './constants';\nimport * as utils from '../common/Utils';\n\nconst webex = getTestUtilsWebex();\nlet serviceErrorCodeHandlerSpy: jest.SpyInstance;\ndescribe('Call history tests', () => {\n let callHistory: ICallHistory;\n\n beforeAll(() => {\n callHistory = new CallHistory(webex, {level: LOGGER.INFO});\n });\n\n it('verify successful call history case', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe('SUCCESS');\n });\n\n it('verify bad request failed call history case', async () => {\n const failurePayload = {\n statusCode: 400,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 2000, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe('FAILURE');\n });\n\n it('verify device not found call history case', async () => {\n const failurePayload = {\n statusCode: 404,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(0, 0, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(404);\n expect(response.message).toBe('FAILURE');\n });\n\n describe('sorting user session response data by sortby', () => {\n it('Array should be sort.ASC by START TIME ', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(10, 20, SORT.ASC, SORT_BY.START_TIME);\n\n const responseDetails = {\n statusCode: sortedCallHistory.body.statusCode,\n data: {\n userSessions: sortedCallHistory.body.userSessions,\n },\n message: 'SUCCESS',\n };\n\n expect(response).toEqual(responseDetails);\n });\n });\n\n describe('Call History Session Event test', () => {\n const mockOn = webex.internal.mercury.on;\n let callHistory: ICallHistory;\n\n beforeEach(() => {\n callHistory = createCallHistoryClient(webex, {level: LOGGER.INFO});\n });\n\n it('verify the recent user session event ', (done) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO,\n (event: CallSessionEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT.data);\n done();\n }\n );\n\n expect(mockOn.mock.calls[0][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE);\n const callSessionCallback = mockOn.mock.calls[0][1];\n\n callSessionCallback(MOCK_SESSION_EVENT);\n });\n\n it('verify the user session event received for locus calls', (done) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO,\n (event: CallSessionEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_LEGACY.data);\n done();\n }\n );\n\n expect(mockOn.mock.calls[1][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY);\n const callSessionCallback = mockOn.mock.calls[1][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_LEGACY);\n });\n\n it('verify the user viewed session event for missed calls update', async () => {\n await new Promise<void>((resolve) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS,\n (event: CallSessionViewedEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_VIEWED.data);\n resolve();\n }\n );\n\n expect(mockOn.mock.calls[2][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED);\n const callSessionCallback = mockOn.mock.calls[2][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_VIEWED);\n });\n });\n\n it('verify the user sessions deleted event for deleting the call history records', async () => {\n await new Promise<void>((resolve) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED,\n (event: CallSessionDeletedEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_DELETED.data);\n resolve();\n }\n );\n\n expect(mockOn.mock.calls[3][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED);\n const callSessionCallback = mockOn.mock.calls[3][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_DELETED);\n });\n });\n });\n\n describe('Update missed calls test', () => {\n const methodDetails = {\n file: CALL_HISTORY_FILE,\n method: 'updateMissedCalls',\n };\n afterEach(() => {\n jest.clearAllMocks();\n });\n beforeEach(async () => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n json: () => Promise.resolve(MOCK_UPDATE_MISSED_CALL_RESPONSE),\n })\n ) as jest.Mock;\n });\n\n it('successfully updates missed calls', async () => {\n const endTimeSessionIds = [{endTime: '1234568', sessionId: '123'}];\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response.statusCode).toEqual(200);\n expect(response).toEqual(MOCK_UPDATE_MISSED_CALL_RESPONSE);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n });\n\n it('Error: updateMissedCalls throw 400 error', async () => {\n const endTimeSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.statusCode).toBe(400);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n methodDetails\n );\n });\n\n it('Error: updateMissedCalls throw 401 error', async () => {\n const endTimeSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 401,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_401);\n expect(response.statusCode).toBe(401);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n methodDetails\n );\n });\n });\n\n describe('fetchUCMLinesData test', () => {\n it('verify successful UCM lines API case', async () => {\n const ucmLinesAPIPayload = <WebexRequestPayload>(<unknown>MOCK_LINES_API_CALL_RESPONSE);\n\n webex.request.mockResolvedValue(ucmLinesAPIPayload);\n const response = await callHistory['fetchUCMLinesData']();\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe('SUCCESS');\n });\n\n it('verify bad request failed UCM lines API case', async () => {\n const failurePayload = {\n statusCode: 400,\n };\n const ucmLinesAPIPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(ucmLinesAPIPayload);\n const response = await callHistory['fetchUCMLinesData']();\n\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.data.error).toEqual(ERROR_DETAILS_400.data.error);\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe('FAILURE');\n expect(serviceErrorCodeHandlerSpy).toHaveBeenCalledWith(\n {statusCode: 400},\n {file: 'CallHistory', method: 'fetchLinesData'}\n );\n });\n\n it('should call fetchUCMLinesData when calling backend is UCM and userSessions contain valid cucmDN', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue(MOCK_LINES_API_CALL_RESPONSE);\n\n const mockCallHistoryPayload = <WebexRequestPayload>(\n (<unknown>MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER)\n );\n webex.request.mockResolvedValue(mockCallHistoryPayload);\n\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).toHaveBeenCalledTimes(1);\n\n expect(response.statusCode).toBe(200);\n expect(\n response.data.userSessions && response.data.userSessions[0].self.ucmLineNumber\n ).toEqual(1);\n });\n\n it('should fetchUCMLinesData but not assign ucmLineNumber when UCM backend has no line data', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue(MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA);\n\n const mockCallHistoryPayload = <WebexRequestPayload>(\n (<unknown>MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER)\n );\n webex.request.mockResolvedValue(mockCallHistoryPayload);\n\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).toHaveBeenCalledTimes(1);\n\n expect(response.statusCode).toBe(200);\n expect(response.data.userSessions && response.data.userSessions[0].self.cucmDN).toBeDefined();\n expect(\n response.data.userSessions && response.data.userSessions[0].self.ucmLineNumber\n ).toEqual(undefined);\n });\n\n it('should not call fetchUCMLinesData when calling backend is UCM but no valid cucmDN is present', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue({});\n\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n webex.request.mockResolvedValue(callHistoryPayload);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).not.toHaveBeenCalled();\n });\n\n it('should not call fetchUCMLinesData when calling backend is not UCM', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.WXC);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue({});\n\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n webex.request.mockResolvedValue(callHistoryPayload);\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n expect(fetchUCMLinesDataSpy).not.toHaveBeenCalled(); // Check that fetchUCMLinesData was not called\n });\n });\n\n describe('Delete call history records test', () => {\n const methodDetails = {\n file: CALL_HISTORY_FILE,\n method: 'deleteCallHistoryRecords',\n };\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n beforeEach(async () => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n json: () => Promise.resolve(MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE),\n })\n ) as jest.Mock;\n });\n\n it('successfully deletes the call history records', async () => {\n const deleteSessionIds = [{endTime: '2024-10-22T08:50:48.603Z', sessionId: '123'}];\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response.statusCode).toEqual(200);\n expect(response).toEqual(MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n });\n\n it('Error: deleteCallHistoryRecords throw 400 error', async () => {\n const deleteSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.statusCode).toBe(400);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n methodDetails\n );\n });\n\n it('Error: deleteCallHistoryRecords throw 401 error', async () => {\n const deleteSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 401,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_401);\n expect(response.statusCode).toBe(401);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n methodDetails\n );\n });\n\n it('handles invalid date formats gracefully', async () => {\n const deleteSessionIds = [{endTime: 'invalid-date', sessionId: '123'}];\n\n // Mock the response to be 400 and trigger an error in your function\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n\n expect(response.statusCode).toBe(400);\n expect(response).toEqual(MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE);\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_types","require","_testUtil","_types2","_CallHistory","_callHistoryFixtures","_types3","_constants","utils","_interopRequireWildcard","_Logger","_interopRequireDefault","_constants2","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","webex","getTestUtilsWebex","serviceErrorCodeHandlerSpy","uploadLogsSpy","describe","callHistory","infoSpy","jest","spyOn","log","mockImplementation","logSpy","errorSpy","beforeAll","CallHistory","level","LOGGER","INFO","mockResolvedValue","it","_asyncToGenerator2","_regenerator","mark","_callee","callHistoryPayload","response","wrap","_callee$","_context","prev","next","mockCallHistoryBody","request","getCallHistoryData","SORT","DEFAULT","SORT_BY","sent","expect","statusCode","toBe","message","toHaveBeenCalled","not","toHaveBeenCalledWith","file","CALL_HISTORY_FILE","method","METHODS","GET_CALL_HISTORY_DATA","stringContaining","stop","_callee2","failurePayload","_callee2$","_context2","mockRejectedValue","ASC","START_TIME","toHaveBeenCalledTimes","_callee3","_callee3$","_context3","_callee4","responseDetails","_callee4$","_context4","sortedCallHistory","body","data","userSessions","toEqual","mockOn","internal","mercury","on","beforeEach","createCallHistoryClient","done","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","event","MOCK_SESSION_EVENT","mock","calls","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","callSessionCallback","MOCK_SESSION_EVENT_LEGACY","CALL_SESSION_EVENT_LEGACY","_callee5","_callee5$","_context5","_promise","resolve","CALL_HISTORY_USER_VIEWED_SESSIONS","MOCK_SESSION_EVENT_VIEWED","CALL_SESSION_EVENT_VIEWED","_callee6","_callee6$","_context6","CALL_HISTORY_USER_SESSIONS_DELETED","MOCK_SESSION_EVENT_DELETED","CALL_SESSION_EVENT_DELETED","methodDetails","UPDATE_MISSED_CALLS","afterEach","clearAllMocks","_callee7","_callee7$","_context7","global","fetch","fn","status","ok","json","MOCK_UPDATE_MISSED_CALL_RESPONSE","_callee8","endTimeSessionIds","convertedEndTimeSessionIds","_callee8$","_context8","endTime","sessionId","updateMissedCalls","map","session","Date","getTime","t0","t1","janusSetReadStateUrl","t2","HTTP_METHODS","POST","t3","t4","CONTENT_TYPE","APPLICATION_JSON","credentials","getUserToken","t5","t6","t7","_stringify","t8","headers","toBeCalledOnceWith","concat","METHOD_START_MESSAGE","_callee9","_callee9$","_context9","toStrictEqual","ERROR_DETAILS_400","_callee10","_callee10$","_context10","ERROR_DETAILS_401","_callee11","ucmLinesAPIPayload","_callee11$","_context11","MOCK_LINES_API_CALL_RESPONSE","FETCH_UCM_LINES_DATA","_callee12","_callee12$","_context12","error","_callee13","fetchUCMLinesDataSpy","mockCallHistoryPayload","_callee13$","_context13","mockReturnValue","CALLING_BACKEND","UCM","MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER","self","ucmLineNumber","_callee14","_callee14$","_context14","MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA","MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER","cucmDN","toBeDefined","undefined","_callee15","_callee15$","_context15","_callee16","_callee16$","_context16","WXC","DELETE_CALL_HISTORY_RECORDS","_callee17","_callee17$","_context17","MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE","_callee18","deleteSessionIds","_callee18$","_context18","deleteCallHistoryRecords","janusMarkAsDeletedUrl","_callee19","_callee19$","_context19","_callee20","_callee20$","_context20","any","Error","_callee21","_callee21$","_context21","MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE"],"sources":["CallHistory.test.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable dot-notation */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport {LOGGER} from '../Logger/types';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {CALLING_BACKEND, HTTP_METHODS, SORT, SORT_BY, WebexRequestPayload} from '../common/types';\nimport {CallHistory, createCallHistoryClient} from './CallHistory';\nimport {ICallHistory} from './types';\nimport {\n sortedCallHistory,\n mockCallHistoryBody,\n MOCK_SESSION_EVENT,\n MOCK_SESSION_EVENT_LEGACY,\n MOCK_SESSION_EVENT_VIEWED,\n MOCK_UPDATE_MISSED_CALL_RESPONSE,\n janusSetReadStateUrl,\n ERROR_DETAILS_401,\n ERROR_DETAILS_400,\n MOCK_LINES_API_CALL_RESPONSE,\n MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA,\n MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER,\n MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER,\n MOCK_SESSION_EVENT_DELETED,\n MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE,\n janusMarkAsDeletedUrl,\n MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE,\n} from './callHistoryFixtures';\nimport {\n COMMON_EVENT_KEYS,\n CallSessionDeletedEvent,\n CallSessionEvent,\n CallSessionViewedEvent,\n MOBIUS_EVENT_KEYS,\n} from '../Events/types';\nimport {APPLICATION_JSON, CALL_HISTORY_FILE, CONTENT_TYPE, METHODS} from './constants';\nimport * as utils from '../common/Utils';\nimport log from '../Logger';\nimport {METHOD_START_MESSAGE} from '../common/constants';\n\nconst webex = getTestUtilsWebex();\nlet serviceErrorCodeHandlerSpy: jest.SpyInstance;\nlet uploadLogsSpy: jest.SpyInstance;\n\ndescribe('Call history tests', () => {\n let callHistory: ICallHistory;\n const infoSpy = jest.spyOn(log, 'info').mockImplementation();\n const logSpy = jest.spyOn(log, 'log').mockImplementation();\n const errorSpy = jest.spyOn(log, 'error').mockImplementation();\n\n beforeAll(() => {\n callHistory = new CallHistory(webex, {level: LOGGER.INFO});\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n });\n\n it('verify successful call history case', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe('SUCCESS');\n\n // Verify logging behavior\n expect(infoSpy).toHaveBeenCalled();\n expect(logSpy).toHaveBeenCalled();\n expect(errorSpy).not.toHaveBeenCalled();\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=7, limit=10, sort=DESC, sortBy=endTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(logSpy).toHaveBeenCalledWith(\n expect.stringContaining('Successfully retrieved call history data'),\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('verify bad request failed call history case', async () => {\n const failurePayload = {\n statusCode: 400,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 2000, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe('FAILURE');\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=7, limit=2000, sort=ASC, sortBy=startTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('verify device not found call history case', async () => {\n const failurePayload = {\n statusCode: 404,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(0, 0, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(404);\n expect(response.message).toBe('FAILURE');\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=0, limit=0, sort=ASC, sortBy=startTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n describe('sorting user session response data by sortby', () => {\n it('Array should be sort.ASC by START TIME ', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(10, 20, SORT.ASC, SORT_BY.START_TIME);\n\n const responseDetails = {\n statusCode: sortedCallHistory.body.statusCode,\n data: {\n userSessions: sortedCallHistory.body.userSessions,\n },\n message: 'SUCCESS',\n };\n\n expect(response).toEqual(responseDetails);\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with days=10, limit=20, sort=ASC, sortBy=startTime',\n {file: CALL_HISTORY_FILE, method: METHODS.GET_CALL_HISTORY_DATA}\n );\n });\n });\n\n describe('Call History Session Event test', () => {\n const mockOn = webex.internal.mercury.on;\n let callHistory: ICallHistory;\n\n beforeEach(() => {\n callHistory = createCallHistoryClient(webex, {level: LOGGER.INFO});\n });\n\n it('verify the recent user session event ', (done) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO,\n (event: CallSessionEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT.data);\n done();\n }\n );\n\n expect(mockOn.mock.calls[0][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE);\n const callSessionCallback = mockOn.mock.calls[0][1];\n\n callSessionCallback(MOCK_SESSION_EVENT);\n });\n\n it('verify the user session event received for locus calls', (done) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO,\n (event: CallSessionEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_LEGACY.data);\n done();\n }\n );\n\n expect(mockOn.mock.calls[1][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY);\n const callSessionCallback = mockOn.mock.calls[1][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_LEGACY);\n });\n\n it('verify the user viewed session event for missed calls update', async () => {\n await new Promise<void>((resolve) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS,\n (event: CallSessionViewedEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_VIEWED.data);\n resolve();\n }\n );\n\n expect(mockOn.mock.calls[2][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED);\n const callSessionCallback = mockOn.mock.calls[2][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_VIEWED);\n });\n });\n\n it('verify the user sessions deleted event for deleting the call history records', async () => {\n await new Promise<void>((resolve) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED,\n (event: CallSessionDeletedEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT_DELETED.data);\n resolve();\n }\n );\n\n expect(mockOn.mock.calls[3][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED);\n const callSessionCallback = mockOn.mock.calls[3][1];\n\n callSessionCallback(MOCK_SESSION_EVENT_DELETED);\n });\n });\n });\n\n describe('Update missed calls test', () => {\n const methodDetails = {\n file: CALL_HISTORY_FILE,\n method: METHODS.UPDATE_MISSED_CALLS,\n };\n afterEach(() => {\n jest.clearAllMocks();\n });\n beforeEach(async () => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n json: () => Promise.resolve(MOCK_UPDATE_MISSED_CALL_RESPONSE),\n })\n ) as jest.Mock;\n });\n\n it('successfully updates missed calls', async () => {\n const endTimeSessionIds = [{endTime: '1234568', sessionId: '123'}];\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response.statusCode).toEqual(200);\n expect(response).toEqual(MOCK_UPDATE_MISSED_CALL_RESPONSE);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(convertedEndTimeSessionIds)}`,\n methodDetails\n );\n expect(logSpy).toHaveBeenCalledWith(\n 'Missed calls are successfully read by the user',\n methodDetails\n );\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('Error: updateMissedCalls throw 400 error', async () => {\n const endTimeSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.statusCode).toBe(400);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n methodDetails\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('Error: updateMissedCalls throw 401 error', async () => {\n const endTimeSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 401,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.updateMissedCalls(endTimeSessionIds);\n const convertedEndTimeSessionIds = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_401);\n expect(response.statusCode).toBe(401);\n expect(global.fetch).toBeCalledOnceWith(janusSetReadStateUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({endTimeSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n methodDetails\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('fetchUCMLinesData test', () => {\n beforeEach(() => {\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n });\n\n it('verify successful UCM lines API case', async () => {\n const ucmLinesAPIPayload = <WebexRequestPayload>(<unknown>MOCK_LINES_API_CALL_RESPONSE);\n\n webex.request.mockResolvedValue(ucmLinesAPIPayload);\n const response = await callHistory['fetchUCMLinesData']();\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe('SUCCESS');\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n 'invoking with URL: https://gw.telemetry.int-ucmgmt.cisco.com/v1/uc/config/people/8a67806f-fc4d-446b-a131-31e71ea5b0e9/lines?orgId=1704d30d-a131-4bc7-9449-948487643793',\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n }\n );\n expect(logSpy).toHaveBeenCalledWith('Line details fetched successfully', {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n });\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('verify bad request failed UCM lines API case', async () => {\n const failurePayload = {\n statusCode: 400,\n };\n const ucmLinesAPIPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(ucmLinesAPIPayload);\n const response = await callHistory['fetchUCMLinesData']();\n\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.data.error).toEqual(ERROR_DETAILS_400.data.error);\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe('FAILURE');\n expect(serviceErrorCodeHandlerSpy).toHaveBeenCalledWith(\n {statusCode: 400},\n {file: CALL_HISTORY_FILE, method: METHODS.FETCH_UCM_LINES_DATA}\n );\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with URL: https://gw.telemetry.int-ucmgmt.cisco.com/v1/uc/config/people/8a67806f-fc4d-446b-a131-31e71ea5b0e9/lines?orgId=1704d30d-a131-4bc7-9449-948487643793`,\n {\n file: CALL_HISTORY_FILE,\n method: METHODS.FETCH_UCM_LINES_DATA,\n }\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('should call fetchUCMLinesData when calling backend is UCM and userSessions contain valid cucmDN', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue(MOCK_LINES_API_CALL_RESPONSE);\n\n const mockCallHistoryPayload = <WebexRequestPayload>(\n (<unknown>MOCK_CALL_HISTORY_WITH_UCM_LINE_NUMBER)\n );\n webex.request.mockResolvedValue(mockCallHistoryPayload);\n\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).toHaveBeenCalledTimes(1);\n\n expect(response.statusCode).toBe(200);\n expect(\n response.data.userSessions && response.data.userSessions[0].self.ucmLineNumber\n ).toEqual(1);\n });\n\n it('should fetchUCMLinesData but not assign ucmLineNumber when UCM backend has no line data', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue(MOCK_LINES_API_CALL_RESPONSE_WITH_NO_LINEDATA);\n\n const mockCallHistoryPayload = <WebexRequestPayload>(\n (<unknown>MOCK_CALL_HISTORY_WITHOUT_UCM_LINE_NUMBER)\n );\n webex.request.mockResolvedValue(mockCallHistoryPayload);\n\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).toHaveBeenCalledTimes(1);\n\n expect(response.statusCode).toBe(200);\n expect(response.data.userSessions && response.data.userSessions[0].self.cucmDN).toBeDefined();\n expect(\n response.data.userSessions && response.data.userSessions[0].self.ucmLineNumber\n ).toEqual(undefined);\n });\n\n it('should not call fetchUCMLinesData when calling backend is UCM but no valid cucmDN is present', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.UCM);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue({});\n\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n webex.request.mockResolvedValue(callHistoryPayload);\n\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(fetchUCMLinesDataSpy).not.toHaveBeenCalled();\n });\n\n it('should not call fetchUCMLinesData when calling backend is not UCM', async () => {\n jest.spyOn(utils, 'getCallingBackEnd').mockReturnValue(CALLING_BACKEND.WXC);\n // Since fetchUCMLinesData is a private method, TypeScript restricts direct access to it.\n // To bypass this restriction, we are using 'as any' to access and invoke the method for testing purposes.\n const fetchUCMLinesDataSpy = jest\n .spyOn(callHistory as any, 'fetchUCMLinesData')\n .mockResolvedValue({});\n\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n webex.request.mockResolvedValue(callHistoryPayload);\n await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n expect(fetchUCMLinesDataSpy).not.toHaveBeenCalled(); // Check that fetchUCMLinesData was not called\n });\n });\n\n describe('Delete call history records test', () => {\n const methodDetails = {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n };\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n beforeEach(async () => {\n serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');\n uploadLogsSpy = jest.spyOn(utils, 'uploadLogs').mockResolvedValue();\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 200,\n ok: true,\n json: () => Promise.resolve(MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE),\n })\n ) as jest.Mock;\n });\n\n it('successfully deletes the call history records', async () => {\n const deleteSessionIds = [{endTime: '2024-10-22T08:50:48.603Z', sessionId: '123'}];\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response.statusCode).toEqual(200);\n expect(response).toEqual(MOCK_DELETE_CALL_HISTORY_RECORDS_RESPONSE);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n `${METHOD_START_MESSAGE} with sessions: ${JSON.stringify(deleteSessionIds)}`,\n methodDetails\n );\n expect(logSpy).toHaveBeenCalledWith(\n `Successfully deleted ${deleteSessionIds.length} call history records`,\n methodDetails\n );\n expect(errorSpy).not.toHaveBeenCalled();\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n\n it('Error: deleteCallHistoryRecords throw 400 error', async () => {\n const deleteSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_400);\n expect(response.statusCode).toBe(400);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 400,\n },\n methodDetails\n );\n expect(errorSpy).toHaveBeenCalled();\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('Error: deleteCallHistoryRecords throw 401 error', async () => {\n const deleteSessionIds = [];\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 401,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n const convertedEndTimeSessionIds = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n expect(response).toStrictEqual(ERROR_DETAILS_401);\n expect(response.statusCode).toBe(401);\n expect(global.fetch).toBeCalledOnceWith(janusMarkAsDeletedUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await webex.credentials.getUserToken(),\n },\n body: JSON.stringify({deleteSessionIds: convertedEndTimeSessionIds}),\n });\n expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith(\n {\n statusCode: 401,\n },\n methodDetails\n );\n expect(errorSpy).toHaveBeenCalledWith(expect.any(Error), {\n file: CALL_HISTORY_FILE,\n method: METHODS.DELETE_CALL_HISTORY_RECORDS,\n });\n expect(uploadLogsSpy).toHaveBeenCalledTimes(1);\n });\n\n it('handles invalid date formats gracefully', async () => {\n const deleteSessionIds = [{endTime: 'invalid-date', sessionId: '123'}];\n\n // Mock the response to be 400 and trigger an error in your function\n global.fetch = jest.fn(() =>\n Promise.resolve({\n status: 400,\n ok: false,\n })\n ) as jest.Mock;\n\n const response = await callHistory.deleteCallHistoryRecords(deleteSessionIds);\n\n expect(response.statusCode).toBe(400);\n expect(response).toEqual(MOCK_DELETE_CALL_HISTORY_INVALID_DATE_RESPONSE);\n\n // Verify logs were called with correct information\n expect(infoSpy).toHaveBeenCalledWith(\n expect.stringContaining('The provided date is malformed or invalid'),\n methodDetails\n );\n expect(uploadLogsSpy).not.toHaveBeenCalled();\n });\n });\n});\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
4
4
  _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.VERSION_1 = exports.USER_SESSIONS = exports.UPDATE_MISSED_CALLS_ENDPOINT = exports.UNIFIED_COMMUNICATIONS = exports.SUCCESS_MESSAGE = exports.STATUS_CODE = exports.SET_READ_STATE_SUCCESS_MESSAGE = exports.SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE = exports.SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE = exports.RESPONSE_MESSAGE = exports.PEOPLE = exports.ORG_ID = exports.NUMBER_OF_DAYS = exports.LINES = exports.LIMIT = exports.HISTORY = exports.FROM_DATE = exports.DELETE_CALL_HISTORY_RECORDS_ENDPOINT = exports.CONTENT_TYPE = exports.CONFIG = exports.CALL_HISTORY_FILE = exports.APPLICATION_JSON = void 0;
7
+ exports.VERSION_1 = exports.USER_SESSIONS = exports.UPDATE_MISSED_CALLS_ENDPOINT = exports.UNIFIED_COMMUNICATIONS = exports.SUCCESS_MESSAGE = exports.STATUS_CODE = exports.SET_READ_STATE_SUCCESS_MESSAGE = exports.SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE = exports.SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE = exports.RESPONSE_MESSAGE = exports.PEOPLE = exports.ORG_ID = exports.NUMBER_OF_DAYS = exports.METHODS = exports.LINES = exports.LIMIT = exports.HISTORY = exports.FROM_DATE = exports.DELETE_CALL_HISTORY_RECORDS_ENDPOINT = exports.CONTENT_TYPE = exports.CONFIG = exports.CALL_HISTORY_FILE = exports.APPLICATION_JSON = void 0;
8
8
  var APPLICATION_JSON = exports.APPLICATION_JSON = 'application/json';
9
9
  var CALL_HISTORY_FILE = exports.CALL_HISTORY_FILE = 'CallHistory';
10
10
  var CONTENT_TYPE = exports.CONTENT_TYPE = 'Content-Type';
@@ -27,4 +27,12 @@ var USER_SESSIONS = exports.USER_SESSIONS = 'userSessions';
27
27
  var UPDATE_MISSED_CALLS_ENDPOINT = exports.UPDATE_MISSED_CALLS_ENDPOINT = 'setReadState';
28
28
  var UNIFIED_COMMUNICATIONS = exports.UNIFIED_COMMUNICATIONS = 'uc';
29
29
  var VERSION_1 = exports.VERSION_1 = 'v1';
30
+
31
+ // Method names
32
+ var METHODS = exports.METHODS = {
33
+ GET_CALL_HISTORY_DATA: 'getCallHistoryData',
34
+ UPDATE_MISSED_CALLS: 'updateMissedCalls',
35
+ FETCH_UCM_LINES_DATA: 'fetchUCMLinesData',
36
+ DELETE_CALL_HISTORY_RECORDS: 'deleteCallHistoryRecords'
37
+ };
30
38
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["APPLICATION_JSON","exports","CALL_HISTORY_FILE","CONTENT_TYPE","CONFIG","DELETE_CALL_HISTORY_RECORDS_ENDPOINT","FROM_DATE","HISTORY","LIMIT","LINES","NUMBER_OF_DAYS","ORG_ID","PEOPLE","RESPONSE_MESSAGE","SET_READ_STATE_SUCCESS_MESSAGE","SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE","SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE","SUCCESS_MESSAGE","STATUS_CODE","USER_SESSIONS","UPDATE_MISSED_CALLS_ENDPOINT","UNIFIED_COMMUNICATIONS","VERSION_1"],"sources":["constants.ts"],"sourcesContent":["export const APPLICATION_JSON = 'application/json';\nexport const CALL_HISTORY_FILE = 'CallHistory';\nexport const CONTENT_TYPE = 'Content-Type';\nexport const CONFIG = 'config';\nexport const DELETE_CALL_HISTORY_RECORDS_ENDPOINT = 'markAsDeleted';\nexport const FROM_DATE = '?from';\nexport const HISTORY = 'history';\nexport const LIMIT = 50;\nexport const LINES = 'lines';\nexport const NUMBER_OF_DAYS = 10;\nexport const ORG_ID = 'orgId';\nexport const PEOPLE = 'people';\nexport const RESPONSE_MESSAGE = 'responseMessage';\nexport const SET_READ_STATE_SUCCESS_MESSAGE = 'Missed calls are read by the user.';\nexport const SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE =\n 'Call history records are deleted by the user.';\nexport const SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE =\n 'The provided date is malformed or invalid';\nexport const SUCCESS_MESSAGE = 'SUCCESS';\nexport const STATUS_CODE = 'statusCode';\nexport const USER_SESSIONS = 'userSessions';\nexport const UPDATE_MISSED_CALLS_ENDPOINT = 'setReadState';\nexport const UNIFIED_COMMUNICATIONS = 'uc';\nexport const VERSION_1 = 'v1';\n"],"mappings":";;;;;;;AAAO,IAAMA,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,kBAAkB;AAC3C,IAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAG,aAAa;AACvC,IAAMC,YAAY,GAAAF,OAAA,CAAAE,YAAA,GAAG,cAAc;AACnC,IAAMC,MAAM,GAAAH,OAAA,CAAAG,MAAA,GAAG,QAAQ;AACvB,IAAMC,oCAAoC,GAAAJ,OAAA,CAAAI,oCAAA,GAAG,eAAe;AAC5D,IAAMC,SAAS,GAAAL,OAAA,CAAAK,SAAA,GAAG,OAAO;AACzB,IAAMC,OAAO,GAAAN,OAAA,CAAAM,OAAA,GAAG,SAAS;AACzB,IAAMC,KAAK,GAAAP,OAAA,CAAAO,KAAA,GAAG,EAAE;AAChB,IAAMC,KAAK,GAAAR,OAAA,CAAAQ,KAAA,GAAG,OAAO;AACrB,IAAMC,cAAc,GAAAT,OAAA,CAAAS,cAAA,GAAG,EAAE;AACzB,IAAMC,MAAM,GAAAV,OAAA,CAAAU,MAAA,GAAG,OAAO;AACtB,IAAMC,MAAM,GAAAX,OAAA,CAAAW,MAAA,GAAG,QAAQ;AACvB,IAAMC,gBAAgB,GAAAZ,OAAA,CAAAY,gBAAA,GAAG,iBAAiB;AAC1C,IAAMC,8BAA8B,GAAAb,OAAA,CAAAa,8BAAA,GAAG,oCAAoC;AAC3E,IAAMC,uCAAuC,GAAAd,OAAA,CAAAc,uCAAA,GAClD,+CAA+C;AAC1C,IAAMC,mDAAmD,GAAAf,OAAA,CAAAe,mDAAA,GAC9D,2CAA2C;AACtC,IAAMC,eAAe,GAAAhB,OAAA,CAAAgB,eAAA,GAAG,SAAS;AACjC,IAAMC,WAAW,GAAAjB,OAAA,CAAAiB,WAAA,GAAG,YAAY;AAChC,IAAMC,aAAa,GAAAlB,OAAA,CAAAkB,aAAA,GAAG,cAAc;AACpC,IAAMC,4BAA4B,GAAAnB,OAAA,CAAAmB,4BAAA,GAAG,cAAc;AACnD,IAAMC,sBAAsB,GAAApB,OAAA,CAAAoB,sBAAA,GAAG,IAAI;AACnC,IAAMC,SAAS,GAAArB,OAAA,CAAAqB,SAAA,GAAG,IAAI"}
1
+ {"version":3,"names":["APPLICATION_JSON","exports","CALL_HISTORY_FILE","CONTENT_TYPE","CONFIG","DELETE_CALL_HISTORY_RECORDS_ENDPOINT","FROM_DATE","HISTORY","LIMIT","LINES","NUMBER_OF_DAYS","ORG_ID","PEOPLE","RESPONSE_MESSAGE","SET_READ_STATE_SUCCESS_MESSAGE","SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE","SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE","SUCCESS_MESSAGE","STATUS_CODE","USER_SESSIONS","UPDATE_MISSED_CALLS_ENDPOINT","UNIFIED_COMMUNICATIONS","VERSION_1","METHODS","GET_CALL_HISTORY_DATA","UPDATE_MISSED_CALLS","FETCH_UCM_LINES_DATA","DELETE_CALL_HISTORY_RECORDS"],"sources":["constants.ts"],"sourcesContent":["export const APPLICATION_JSON = 'application/json';\nexport const CALL_HISTORY_FILE = 'CallHistory';\nexport const CONTENT_TYPE = 'Content-Type';\nexport const CONFIG = 'config';\nexport const DELETE_CALL_HISTORY_RECORDS_ENDPOINT = 'markAsDeleted';\nexport const FROM_DATE = '?from';\nexport const HISTORY = 'history';\nexport const LIMIT = 50;\nexport const LINES = 'lines';\nexport const NUMBER_OF_DAYS = 10;\nexport const ORG_ID = 'orgId';\nexport const PEOPLE = 'people';\nexport const RESPONSE_MESSAGE = 'responseMessage';\nexport const SET_READ_STATE_SUCCESS_MESSAGE = 'Missed calls are read by the user.';\nexport const SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE =\n 'Call history records are deleted by the user.';\nexport const SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE =\n 'The provided date is malformed or invalid';\nexport const SUCCESS_MESSAGE = 'SUCCESS';\nexport const STATUS_CODE = 'statusCode';\nexport const USER_SESSIONS = 'userSessions';\nexport const UPDATE_MISSED_CALLS_ENDPOINT = 'setReadState';\nexport const UNIFIED_COMMUNICATIONS = 'uc';\nexport const VERSION_1 = 'v1';\n\n// Method names\nexport const METHODS = {\n GET_CALL_HISTORY_DATA: 'getCallHistoryData',\n UPDATE_MISSED_CALLS: 'updateMissedCalls',\n FETCH_UCM_LINES_DATA: 'fetchUCMLinesData',\n DELETE_CALL_HISTORY_RECORDS: 'deleteCallHistoryRecords',\n};\n"],"mappings":";;;;;;;AAAO,IAAMA,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,kBAAkB;AAC3C,IAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAG,aAAa;AACvC,IAAMC,YAAY,GAAAF,OAAA,CAAAE,YAAA,GAAG,cAAc;AACnC,IAAMC,MAAM,GAAAH,OAAA,CAAAG,MAAA,GAAG,QAAQ;AACvB,IAAMC,oCAAoC,GAAAJ,OAAA,CAAAI,oCAAA,GAAG,eAAe;AAC5D,IAAMC,SAAS,GAAAL,OAAA,CAAAK,SAAA,GAAG,OAAO;AACzB,IAAMC,OAAO,GAAAN,OAAA,CAAAM,OAAA,GAAG,SAAS;AACzB,IAAMC,KAAK,GAAAP,OAAA,CAAAO,KAAA,GAAG,EAAE;AAChB,IAAMC,KAAK,GAAAR,OAAA,CAAAQ,KAAA,GAAG,OAAO;AACrB,IAAMC,cAAc,GAAAT,OAAA,CAAAS,cAAA,GAAG,EAAE;AACzB,IAAMC,MAAM,GAAAV,OAAA,CAAAU,MAAA,GAAG,OAAO;AACtB,IAAMC,MAAM,GAAAX,OAAA,CAAAW,MAAA,GAAG,QAAQ;AACvB,IAAMC,gBAAgB,GAAAZ,OAAA,CAAAY,gBAAA,GAAG,iBAAiB;AAC1C,IAAMC,8BAA8B,GAAAb,OAAA,CAAAa,8BAAA,GAAG,oCAAoC;AAC3E,IAAMC,uCAAuC,GAAAd,OAAA,CAAAc,uCAAA,GAClD,+CAA+C;AAC1C,IAAMC,mDAAmD,GAAAf,OAAA,CAAAe,mDAAA,GAC9D,2CAA2C;AACtC,IAAMC,eAAe,GAAAhB,OAAA,CAAAgB,eAAA,GAAG,SAAS;AACjC,IAAMC,WAAW,GAAAjB,OAAA,CAAAiB,WAAA,GAAG,YAAY;AAChC,IAAMC,aAAa,GAAAlB,OAAA,CAAAkB,aAAA,GAAG,cAAc;AACpC,IAAMC,4BAA4B,GAAAnB,OAAA,CAAAmB,4BAAA,GAAG,cAAc;AACnD,IAAMC,sBAAsB,GAAApB,OAAA,CAAAoB,sBAAA,GAAG,IAAI;AACnC,IAAMC,SAAS,GAAArB,OAAA,CAAAqB,SAAA,GAAG,IAAI;;AAE7B;AACO,IAAMC,OAAO,GAAAtB,OAAA,CAAAsB,OAAA,GAAG;EACrBC,qBAAqB,EAAE,oBAAoB;EAC3CC,mBAAmB,EAAE,mBAAmB;EACxCC,oBAAoB,EAAE,mBAAmB;EACzCC,2BAA2B,EAAE;AAC/B,CAAC"}