@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.
- package/dist/CallHistory/CallHistory.js +100 -63
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +115 -19
- package/dist/CallHistory/CallHistory.test.js.map +1 -1
- package/dist/CallHistory/constants.js +9 -1
- package/dist/CallHistory/constants.js.map +1 -1
- package/dist/CallSettings/CallSettings.js +46 -13
- package/dist/CallSettings/CallSettings.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.js +62 -18
- package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +70 -7
- package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.js +153 -103
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +52 -15
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/constants.js +15 -1
- package/dist/CallSettings/constants.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +220 -159
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +53 -24
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +251 -189
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +96 -41
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +73 -48
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +96 -37
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/constants.js +105 -3
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +47 -18
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +2 -2
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +359 -297
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +561 -163
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/Contacts/ContactsClient.js +156 -102
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +197 -49
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Contacts/constants.js +11 -1
- package/dist/Contacts/constants.js.map +1 -1
- package/dist/Errors/types.js +2 -0
- package/dist/Errors/types.js.map +1 -1
- package/dist/Events/impl/index.js +1 -1
- package/dist/Events/impl/index.js.map +1 -1
- package/dist/Metrics/index.js +102 -41
- package/dist/Metrics/index.js.map +1 -1
- package/dist/Metrics/index.test.js +10 -4
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/Metrics/types.js +4 -1
- package/dist/Metrics/types.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +154 -91
- package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +99 -19
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.js +105 -54
- package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.test.js +127 -17
- package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/Voicemail.js +198 -79
- package/dist/Voicemail/Voicemail.js.map +1 -1
- package/dist/Voicemail/Voicemail.test.js +188 -23
- package/dist/Voicemail/Voicemail.test.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.js +277 -161
- package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +268 -10
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/constants.js +25 -1
- package/dist/Voicemail/constants.js.map +1 -1
- package/dist/Voicemail/types.js.map +1 -1
- package/dist/common/Utils.js +168 -104
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +199 -35
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/constants.js +2 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/testUtil.js +3 -0
- package/dist/common/testUtil.js.map +1 -1
- package/dist/common/types.js.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/module/CallHistory/CallHistory.js +32 -13
- package/dist/module/CallHistory/constants.js +6 -0
- package/dist/module/CallSettings/CallSettings.js +36 -3
- package/dist/module/CallSettings/UcmBackendConnector.js +50 -5
- package/dist/module/CallSettings/WxCallBackendConnector.js +54 -18
- package/dist/module/CallSettings/constants.js +12 -0
- package/dist/module/CallingClient/CallingClient.js +54 -16
- package/dist/module/CallingClient/calling/call.js +172 -121
- package/dist/module/CallingClient/calling/callManager.js +51 -26
- package/dist/module/CallingClient/constants.js +102 -2
- package/dist/module/CallingClient/line/index.js +37 -8
- package/dist/module/CallingClient/registration/register.js +103 -64
- package/dist/module/Contacts/ContactsClient.js +65 -21
- package/dist/module/Contacts/constants.js +10 -0
- package/dist/module/Errors/types.js +2 -0
- package/dist/module/Events/impl/index.js +1 -1
- package/dist/module/Metrics/index.js +57 -2
- package/dist/module/Metrics/types.js +3 -0
- package/dist/module/Voicemail/BroadworksBackendConnector.js +66 -17
- package/dist/module/Voicemail/UcmBackendConnector.js +51 -11
- package/dist/module/Voicemail/Voicemail.js +109 -9
- package/dist/module/Voicemail/WxCallBackendConnector.js +67 -18
- package/dist/module/Voicemail/constants.js +21 -0
- package/dist/module/common/Utils.js +51 -12
- package/dist/module/common/constants.js +1 -0
- package/dist/module/common/testUtil.js +3 -0
- package/dist/module/index.js +1 -0
- package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
- package/dist/types/CallHistory/constants.d.ts +6 -0
- package/dist/types/CallHistory/constants.d.ts.map +1 -1
- package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/CallSettings/constants.d.ts +12 -0
- package/dist/types/CallSettings/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/CallingClient.d.ts +2 -3
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +102 -2
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +3 -1
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +1 -0
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
- package/dist/types/Contacts/constants.d.ts +10 -0
- package/dist/types/Contacts/constants.d.ts.map +1 -1
- package/dist/types/Errors/types.d.ts +2 -0
- package/dist/types/Errors/types.d.ts.map +1 -1
- package/dist/types/Metrics/index.d.ts +1 -1
- package/dist/types/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +7 -2
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +11 -2
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/Voicemail.d.ts +1 -1
- package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
- package/dist/types/Voicemail/WxCallBackendConnector.d.ts +3 -1
- package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/constants.d.ts +21 -0
- package/dist/types/Voicemail/constants.d.ts.map +1 -1
- package/dist/types/Voicemail/types.d.ts +1 -1
- package/dist/types/Voicemail/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +4 -4
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/constants.d.ts +1 -0
- package/dist/types/common/constants.d.ts.map +1 -1
- package/dist/types/common/testUtil.d.ts +3 -0
- package/dist/types/common/testUtil.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +12 -0
- package/dist/types/common/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
413
|
-
method:
|
|
483
|
+
file: _constants.CALL_HISTORY_FILE,
|
|
484
|
+
method: _constants.METHODS.FETCH_UCM_LINES_DATA
|
|
414
485
|
});
|
|
415
|
-
|
|
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:
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AAmBA,IAAAK,OAAA,GAAAL,OAAA;AAOA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAC,uBAAA,CAAAR,OAAA;AAAyC,SAAAS,yBAAAC,CAAA,6BAAAC,QAAA,mBAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,WAAAM,OAAA,EAAAN,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,sBAAA,IAAAC,gCAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAC,MAAA,CAAAC,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAlB,CAAA,EAAAc,CAAA,SAAAK,CAAA,GAAAR,CAAA,GAAAE,gCAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAK,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,sBAAA,CAAAH,CAAA,EAAAK,CAAA,EAAAK,CAAA,IAAAV,CAAA,CAAAK,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAL,CAAA,CAAAH,OAAA,GAAAN,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAiB,GAAA,CAAApB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAY,QAAArB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAmB,YAAA,CAAAtB,CAAA,OAAAuB,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAvB,CAAA,GAAAE,CAAA,KAAAsB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAvB,CAAA,WAAAW,gCAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAwB,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAqB,CAAA,YAAArB,CAAA;AAAA,SAAA0B,cAAA7B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA4B,SAAA,CAAAC,MAAA,EAAA7B,CAAA,UAAAC,CAAA,WAAA2B,SAAA,CAAA5B,CAAA,IAAA4B,SAAA,CAAA5B,CAAA,QAAAA,CAAA,OAAAmB,OAAA,CAAAN,MAAA,CAAAZ,CAAA,OAAA6B,OAAA,WAAA9B,CAAA,QAAA+B,gBAAA,CAAA3B,OAAA,EAAAN,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAgC,iCAAA,GAAAC,wBAAA,CAAAnC,CAAA,EAAAkC,iCAAA,CAAA/B,CAAA,KAAAkB,OAAA,CAAAN,MAAA,CAAAZ,CAAA,GAAA6B,OAAA,WAAA9B,CAAA,IAAAU,sBAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAW,gCAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA,IAnCzC,uDACA,kCACA;AAmCA,IAAMoC,KAAK,GAAG,IAAAC,2BAAiB,EAAC,CAAC;AACjC,IAAIC,0BAA4C;AAChDC,QAAQ,CAAC,oBAAoB,EAAE,YAAM;EACnC,IAAIC,WAAyB;EAE7BC,SAAS,CAAC,YAAM;IACdD,WAAW,GAAG,IAAIE,wBAAW,CAACN,KAAK,EAAE;MAACO,KAAK,EAAEC,aAAM,CAACC;IAAI,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEFC,EAAE,CAAC,qCAAqC,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAC,QAAA;IAAA,IAAAC,kBAAA,EAAAC,QAAA;IAAA,OAAAJ,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAClCN,kBAAkB,GAAkCO,wCAAmB;UAE7EtB,KAAK,CAACuB,OAAO,CAACC,iBAAiB,CAACT,kBAAkB,CAAC;UAACI,QAAA,CAAAE,IAAA;UAAA,OAC7BjB,WAAW,CAACqB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAEC,YAAI,CAACC,OAAO,EAAEC,eAAO,CAACD,OAAO,CAAC;QAAA;UAArFX,QAAQ,GAAAG,QAAA,CAAAU,IAAA;UAEdC,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;UACrCF,MAAM,CAACd,QAAQ,CAACiB,OAAO,CAAC,CAACD,IAAI,CAAC,SAAS,CAAC;QAAC;QAAA;UAAA,OAAAb,QAAA,CAAAe,IAAA;MAAA;IAAA,GAAApB,OAAA;EAAA,CAC1C,GAAC;EAEFJ,EAAE,CAAC,6CAA6C,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAsB,SAAA;IAAA,IAAAC,cAAA,EAAArB,kBAAA,EAAAC,QAAA;IAAA,OAAAJ,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAoB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAlB,IAAA,GAAAkB,SAAA,CAAAjB,IAAA;QAAA;UAC1Ce,cAAc,GAAG;YACrBL,UAAU,EAAE;UACd,CAAC;UACKhB,kBAAkB,GAAkCqB,cAAc;UAExEpC,KAAK,CAACuB,OAAO,CAACgB,iBAAiB,CAACxB,kBAAkB,CAAC;UAACuB,SAAA,CAAAjB,IAAA;UAAA,OAC7BjB,WAAW,CAACqB,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAEC,YAAI,CAACc,GAAG,EAAEZ,eAAO,CAACa,UAAU,CAAC;QAAA;UAAtFzB,QAAQ,GAAAsB,SAAA,CAAAT,IAAA;UAEdC,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;UACrCF,MAAM,CAACd,QAAQ,CAACiB,OAAO,CAAC,CAACD,IAAI,CAAC,SAAS,CAAC;QAAC;QAAA;UAAA,OAAAM,SAAA,CAAAJ,IAAA;MAAA;IAAA,GAAAC,QAAA;EAAA,CAC1C,GAAC;EAEFzB,EAAE,CAAC,2CAA2C,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAA6B,SAAA;IAAA,IAAAN,cAAA,EAAArB,kBAAA,EAAAC,QAAA;IAAA,OAAAJ,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAA0B,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAxB,IAAA,GAAAwB,SAAA,CAAAvB,IAAA;QAAA;UACxCe,cAAc,GAAG;YACrBL,UAAU,EAAE;UACd,CAAC;UACKhB,kBAAkB,GAAkCqB,cAAc;UAExEpC,KAAK,CAACuB,OAAO,CAACgB,iBAAiB,CAACxB,kBAAkB,CAAC;UAAC6B,SAAA,CAAAvB,IAAA;UAAA,OAC7BjB,WAAW,CAACqB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAEC,YAAI,CAACc,GAAG,EAAEZ,eAAO,CAACa,UAAU,CAAC;QAAA;UAAnFzB,QAAQ,GAAA4B,SAAA,CAAAf,IAAA;UAEdC,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;UACrCF,MAAM,CAACd,QAAQ,CAACiB,OAAO,CAAC,CAACD,IAAI,CAAC,SAAS,CAAC;QAAC;QAAA;UAAA,OAAAY,SAAA,CAAAV,IAAA;MAAA;IAAA,GAAAQ,QAAA;EAAA,CAC1C,GAAC;EAEFvC,QAAQ,CAAC,+CAA+C,EAAE,YAAM;IAC9DO,EAAE,CAAC,yCAAyC,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAgC,SAAA;MAAA,IAAA9B,kBAAA,EAAAC,QAAA,EAAA8B,eAAA;MAAA,OAAAlC,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAA8B,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA5B,IAAA,GAAA4B,SAAA,CAAA3B,IAAA;UAAA;YACtCN,kBAAkB,GAAkCO,wCAAmB;YAE7EtB,KAAK,CAACuB,OAAO,CAACC,iBAAiB,CAACT,kBAAkB,CAAC;YAACiC,SAAA,CAAA3B,IAAA;YAAA,OAC7BjB,WAAW,CAACqB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAEC,YAAI,CAACc,GAAG,EAAEZ,eAAO,CAACa,UAAU,CAAC;UAAA;YAArFzB,QAAQ,GAAAgC,SAAA,CAAAnB,IAAA;YAERiB,eAAe,GAAG;cACtBf,UAAU,EAAEkB,sCAAiB,CAACC,IAAI,CAACnB,UAAU;cAC7CoB,IAAI,EAAE;gBACJC,YAAY,EAAEH,sCAAiB,CAACC,IAAI,CAACE;cACvC,CAAC;cACDnB,OAAO,EAAE;YACX,CAAC;YAEDH,MAAM,CAACd,QAAQ,CAAC,CAACqC,OAAO,CAACP,eAAe,CAAC;UAAC;UAAA;YAAA,OAAAE,SAAA,CAAAd,IAAA;QAAA;MAAA,GAAAW,QAAA;IAAA,CAC3C,GAAC;EACJ,CAAC,CAAC;EAEF1C,QAAQ,CAAC,iCAAiC,EAAE,YAAM;IAChD,IAAMmD,MAAM,GAAGtD,KAAK,CAACuD,QAAQ,CAACC,OAAO,CAACC,EAAE;IACxC,IAAIrD,WAAyB;IAE7BsD,UAAU,CAAC,YAAM;MACftD,WAAW,GAAG,IAAAuD,oCAAuB,EAAC3D,KAAK,EAAE;QAACO,KAAK,EAAEC,aAAM,CAACC;MAAI,CAAC,CAAC;IACpE,CAAC,CAAC;IAEFC,EAAE,CAAC,uCAAuC,EAAE,UAACkD,IAAI,EAAK;MACpDxD,WAAW,CAACqD,EAAE,CACZI,yBAAiB,CAACC,8BAA8B,EAChD,UAACC,KAAuB,EAAK;QAC3BjC,MAAM,CAACiC,KAAK,CAACZ,IAAI,CAAC,CAACE,OAAO,CAACW,uCAAkB,CAACb,IAAI,CAAC;QACnDS,IAAI,CAAC,CAAC;MACR,CACF,CAAC;MAED9B,MAAM,CAACwB,MAAM,CAACW,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACb,OAAO,CAACc,yBAAiB,CAACC,4BAA4B,CAAC;MACvF,IAAMC,mBAAmB,GAAGf,MAAM,CAACW,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAEnDG,mBAAmB,CAACL,uCAAkB,CAAC;IACzC,CAAC,CAAC;IAEFtD,EAAE,CAAC,wDAAwD,EAAE,UAACkD,IAAI,EAAK;MACrExD,WAAW,CAACqD,EAAE,CACZI,yBAAiB,CAACC,8BAA8B,EAChD,UAACC,KAAuB,EAAK;QAC3BjC,MAAM,CAACiC,KAAK,CAACZ,IAAI,CAAC,CAACE,OAAO,CAACiB,8CAAyB,CAACnB,IAAI,CAAC;QAC1DS,IAAI,CAAC,CAAC;MACR,CACF,CAAC;MAED9B,MAAM,CAACwB,MAAM,CAACW,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACb,OAAO,CAACc,yBAAiB,CAACI,yBAAyB,CAAC;MACpF,IAAMF,mBAAmB,GAAGf,MAAM,CAACW,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAEnDG,mBAAmB,CAACC,8CAAyB,CAAC;IAChD,CAAC,CAAC;IAEF5D,EAAE,CAAC,8DAA8D,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAA2D,SAAA;MAAA,OAAA5D,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAwD,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAtD,IAAA,GAAAsD,SAAA,CAAArD,IAAA;UAAA;YAAAqD,SAAA,CAAArD,IAAA;YAAA,OAC3D,IAAAsD,QAAA,CAAAzG,OAAA,CAAkB,UAAC0G,OAAO,EAAK;cACnCxE,WAAW,CAACqD,EAAE,CACZI,yBAAiB,CAACgB,iCAAiC,EACnD,UAACd,KAA6B,EAAK;gBACjCjC,MAAM,CAACiC,KAAK,CAACZ,IAAI,CAAC,CAACE,OAAO,CAACyB,8CAAyB,CAAC3B,IAAI,CAAC;gBAC1DyB,OAAO,CAAC,CAAC;cACX,CACF,CAAC;cAED9C,MAAM,CAACwB,MAAM,CAACW,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACb,OAAO,CAACc,yBAAiB,CAACY,yBAAyB,CAAC;cACpF,IAAMV,mBAAmB,GAAGf,MAAM,CAACW,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;cAEnDG,mBAAmB,CAACS,8CAAyB,CAAC;YAChD,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAJ,SAAA,CAAAxC,IAAA;QAAA;MAAA,GAAAsC,QAAA;IAAA,CACH,GAAC;IAEF9D,EAAE,CAAC,8EAA8E,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAmE,SAAA;MAAA,OAAApE,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAgE,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA9D,IAAA,GAAA8D,SAAA,CAAA7D,IAAA;UAAA;YAAA6D,SAAA,CAAA7D,IAAA;YAAA,OAC3E,IAAAsD,QAAA,CAAAzG,OAAA,CAAkB,UAAC0G,OAAO,EAAK;cACnCxE,WAAW,CAACqD,EAAE,CACZI,yBAAiB,CAACsB,kCAAkC,EACpD,UAACpB,KAA8B,EAAK;gBAClCjC,MAAM,CAACiC,KAAK,CAACZ,IAAI,CAAC,CAACE,OAAO,CAAC+B,+CAA0B,CAACjC,IAAI,CAAC;gBAC3DyB,OAAO,CAAC,CAAC;cACX,CACF,CAAC;cAED9C,MAAM,CAACwB,MAAM,CAACW,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACb,OAAO,CAACc,yBAAiB,CAACkB,0BAA0B,CAAC;cACrF,IAAMhB,mBAAmB,GAAGf,MAAM,CAACW,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;cAEnDG,mBAAmB,CAACe,+CAA0B,CAAC;YACjD,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAF,SAAA,CAAAhD,IAAA;QAAA;MAAA,GAAA8C,QAAA;IAAA,CACH,GAAC;EACJ,CAAC,CAAC;EAEF7E,QAAQ,CAAC,0BAA0B,EAAE,YAAM;IACzC,IAAMmF,aAAa,GAAG;MACpBC,IAAI,EAAEC,4BAAiB;MACvBC,MAAM,EAAE;IACV,CAAC;IACDC,SAAS,CAAC,YAAM;MACdC,IAAI,CAACC,aAAa,CAAC,CAAC;IACtB,CAAC,CAAC;IACFlC,UAAU,mBAAA/C,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAC,SAAAgF,SAAA;MAAA,OAAAjF,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAA6E,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA3E,IAAA,GAAA2E,SAAA,CAAA1E,IAAA;UAAA;YACTnB,0BAA0B,GAAGyF,IAAI,CAACK,KAAK,CAACvI,KAAK,EAAE,yBAAyB,CAAC;YACzEwI,MAAM,CAACC,KAAK,GAAGP,IAAI,CAACQ,EAAE,CAAC;cAAA,OACrBxB,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAAC;gBACdwB,MAAM,EAAE,GAAG;gBACXC,EAAE,EAAE,IAAI;gBACRC,IAAI,EAAE,SAAAA,KAAA;kBAAA,OAAM3B,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAAC2B,qDAAgC,CAAC;gBAAA;cAC/D,CAAC,CAAC;YAAA,CACJ,CAAc;UAAC;UAAA;YAAA,OAAAR,SAAA,CAAA7D,IAAA;QAAA;MAAA,GAAA2D,QAAA;IAAA,CAChB,GAAC;IAEFnF,EAAE,CAAC,mCAAmC,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAA2F,SAAA;MAAA,IAAAC,iBAAA,EAAAzF,QAAA,EAAA0F,0BAAA;MAAA,OAAA9F,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAA0F,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAxF,IAAA,GAAAwF,SAAA,CAAAvF,IAAA;UAAA;YAChCoF,iBAAiB,GAAG,CAAC;cAACI,OAAO,EAAE,SAAS;cAAEC,SAAS,EAAE;YAAK,CAAC,CAAC;YAAAF,SAAA,CAAAvF,IAAA;YAAA,OAC3CjB,WAAW,CAAC2G,iBAAiB,CAACN,iBAAiB,CAAC;UAAA;YAAjEzF,QAAQ,GAAA4F,SAAA,CAAA/E,IAAA;YACR6E,0BAA0B,GAAGD,iBAAiB,CAACO,GAAG,CAAC,UAACC,OAAO;cAAA,OAAAxH,aAAA,CAAAA,aAAA,KAC5DwH,OAAO;gBACVJ,OAAO,EAAE,IAAIK,IAAI,CAACD,OAAO,CAACJ,OAAO,CAAC,CAACM,OAAO,CAAC;cAAC;YAAA,CAC5C,CAAC;YACHrF,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACsB,OAAO,CAAC,GAAG,CAAC;YACxCvB,MAAM,CAACd,QAAQ,CAAC,CAACqC,OAAO,CAACkD,qDAAgC,CAAC;YAACK,SAAA,CAAAQ,EAAA,GAC3DtF,MAAM,CAACmE,MAAM,CAACC,KAAK,CAAC;YAAAU,SAAA,CAAAS,EAAA,GAAoBC,yCAAoB;YAAAV,SAAA,CAAAW,EAAA,GAClDC,oBAAY,CAACC,IAAI;YAAAb,SAAA,CAAAc,EAAA,GAAA7H,gBAAA,CAAA3B,OAAA;YAAA0I,SAAA,CAAAe,EAAA,OAAA9H,gBAAA,CAAA3B,OAAA,MAEtB0J,uBAAY,EAAGC,2BAAgB;YAAAjB,SAAA,CAAAvF,IAAA;YAAA,OACXrB,KAAK,CAAC8H,WAAW,CAACC,YAAY,CAAC,CAAC;UAAA;YAAAnB,SAAA,CAAAoB,EAAA,GAAApB,SAAA,CAAA/E,IAAA;YAAA+E,SAAA,CAAAqB,EAAA,OAAArB,SAAA,CAAAc,EAAA,EAAAd,SAAA,CAAAe,EAAA,mBAAAf,SAAA,CAAAoB,EAAA;YAAApB,SAAA,CAAAsB,EAAA,GAEjD,IAAAC,UAAA,CAAAjK,OAAA,EAAe;cAACuI,iBAAiB,EAAEC;YAA0B,CAAC,CAAC;YAAAE,SAAA,CAAAwB,EAAA;cALrE3C,MAAM,EAAAmB,SAAA,CAAAW,EAAA;cACNc,OAAO,EAAAzB,SAAA,CAAAqB,EAAA;cAIP/E,IAAI,EAAA0D,SAAA,CAAAsB;YAAA;YAAAtB,SAAA,CAAAQ,EAAA,CANekB,kBAAkB,CAAAxJ,IAAA,CAAA8H,SAAA,CAAAQ,EAAA,EAAAR,SAAA,CAAAS,EAAA,EAAAT,SAAA,CAAAwB,EAAA;UAAA;UAAA;YAAA,OAAAxB,SAAA,CAAA1E,IAAA;QAAA;MAAA,GAAAsE,QAAA;IAAA,CAQxC,GAAC;IAEF9F,EAAE,CAAC,0CAA0C,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAA0H,SAAA;MAAA,IAAA9B,iBAAA,EAAAzF,QAAA,EAAA0F,0BAAA;MAAA,OAAA9F,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAuH,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAArH,IAAA,GAAAqH,SAAA,CAAApH,IAAA;UAAA;YACvCoF,iBAAiB,GAAG,EAAE;YAC5BR,MAAM,CAACC,KAAK,GAAGP,IAAI,CAACQ,EAAE,CAAC;cAAA,OACrBxB,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAAC;gBACdwB,MAAM,EAAE,GAAG;gBACXC,EAAE,EAAE;cACN,CAAC,CAAC;YAAA,CACJ,CAAc;YAACoC,SAAA,CAAApH,IAAA;YAAA,OACQjB,WAAW,CAAC2G,iBAAiB,CAACN,iBAAiB,CAAC;UAAA;YAAjEzF,QAAQ,GAAAyH,SAAA,CAAA5G,IAAA;YACR6E,0BAA0B,GAAGD,iBAAiB,CAACO,GAAG,CAAC,UAACC,OAAO;cAAA,OAAAxH,aAAA,CAAAA,aAAA,KAC5DwH,OAAO;gBACVJ,OAAO,EAAE,IAAIK,IAAI,CAACD,OAAO,CAACJ,OAAO,CAAC,CAACM,OAAO,CAAC;cAAC;YAAA,CAC5C,CAAC;YACHrF,MAAM,CAACd,QAAQ,CAAC,CAAC0H,aAAa,CAACC,sCAAiB,CAAC;YACjD7G,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YAACyG,SAAA,CAAArB,EAAA,GACtCtF,MAAM,CAACmE,MAAM,CAACC,KAAK,CAAC;YAAAuC,SAAA,CAAApB,EAAA,GAAoBC,yCAAoB;YAAAmB,SAAA,CAAAlB,EAAA,GAClDC,oBAAY,CAACC,IAAI;YAAAgB,SAAA,CAAAf,EAAA,GAAA7H,gBAAA,CAAA3B,OAAA;YAAAuK,SAAA,CAAAd,EAAA,OAAA9H,gBAAA,CAAA3B,OAAA,MAEtB0J,uBAAY,EAAGC,2BAAgB;YAAAY,SAAA,CAAApH,IAAA;YAAA,OACXrB,KAAK,CAAC8H,WAAW,CAACC,YAAY,CAAC,CAAC;UAAA;YAAAU,SAAA,CAAAT,EAAA,GAAAS,SAAA,CAAA5G,IAAA;YAAA4G,SAAA,CAAAR,EAAA,OAAAQ,SAAA,CAAAf,EAAA,EAAAe,SAAA,CAAAd,EAAA,mBAAAc,SAAA,CAAAT,EAAA;YAAAS,SAAA,CAAAP,EAAA,GAEjD,IAAAC,UAAA,CAAAjK,OAAA,EAAe;cAACuI,iBAAiB,EAAEC;YAA0B,CAAC,CAAC;YAAA+B,SAAA,CAAAL,EAAA;cALrE3C,MAAM,EAAAgD,SAAA,CAAAlB,EAAA;cACNc,OAAO,EAAAI,SAAA,CAAAR,EAAA;cAIP/E,IAAI,EAAAuF,SAAA,CAAAP;YAAA;YAAAO,SAAA,CAAArB,EAAA,CANekB,kBAAkB,CAAAxJ,IAAA,CAAA2J,SAAA,CAAArB,EAAA,EAAAqB,SAAA,CAAApB,EAAA,EAAAoB,SAAA,CAAAL,EAAA;YAQvCtG,MAAM,CAAC5B,0BAA0B,CAAC,CAACoI,kBAAkB,CACnD;cACEvG,UAAU,EAAE;YACd,CAAC,EACDuD,aACF,CAAC;UAAC;UAAA;YAAA,OAAAmD,SAAA,CAAAvG,IAAA;QAAA;MAAA,GAAAqG,QAAA;IAAA,CACH,GAAC;IAEF7H,EAAE,CAAC,0CAA0C,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAA+H,UAAA;MAAA,IAAAnC,iBAAA,EAAAzF,QAAA,EAAA0F,0BAAA;MAAA,OAAA9F,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAA4H,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAA1H,IAAA,GAAA0H,UAAA,CAAAzH,IAAA;UAAA;YACvCoF,iBAAiB,GAAG,EAAE;YAC5BR,MAAM,CAACC,KAAK,GAAGP,IAAI,CAACQ,EAAE,CAAC;cAAA,OACrBxB,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAAC;gBACdwB,MAAM,EAAE,GAAG;gBACXC,EAAE,EAAE;cACN,CAAC,CAAC;YAAA,CACJ,CAAc;YAACyC,UAAA,CAAAzH,IAAA;YAAA,OAEQjB,WAAW,CAAC2G,iBAAiB,CAACN,iBAAiB,CAAC;UAAA;YAAjEzF,QAAQ,GAAA8H,UAAA,CAAAjH,IAAA;YACR6E,0BAA0B,GAAGD,iBAAiB,CAACO,GAAG,CAAC,UAACC,OAAO;cAAA,OAAAxH,aAAA,CAAAA,aAAA,KAC5DwH,OAAO;gBACVJ,OAAO,EAAE,IAAIK,IAAI,CAACD,OAAO,CAACJ,OAAO,CAAC,CAACM,OAAO,CAAC;cAAC;YAAA,CAC5C,CAAC;YACHrF,MAAM,CAACd,QAAQ,CAAC,CAAC0H,aAAa,CAACK,sCAAiB,CAAC;YACjDjH,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YAAC8G,UAAA,CAAA1B,EAAA,GACtCtF,MAAM,CAACmE,MAAM,CAACC,KAAK,CAAC;YAAA4C,UAAA,CAAAzB,EAAA,GAAoBC,yCAAoB;YAAAwB,UAAA,CAAAvB,EAAA,GAClDC,oBAAY,CAACC,IAAI;YAAAqB,UAAA,CAAApB,EAAA,GAAA7H,gBAAA,CAAA3B,OAAA;YAAA4K,UAAA,CAAAnB,EAAA,OAAA9H,gBAAA,CAAA3B,OAAA,MAEtB0J,uBAAY,EAAGC,2BAAgB;YAAAiB,UAAA,CAAAzH,IAAA;YAAA,OACXrB,KAAK,CAAC8H,WAAW,CAACC,YAAY,CAAC,CAAC;UAAA;YAAAe,UAAA,CAAAd,EAAA,GAAAc,UAAA,CAAAjH,IAAA;YAAAiH,UAAA,CAAAb,EAAA,OAAAa,UAAA,CAAApB,EAAA,EAAAoB,UAAA,CAAAnB,EAAA,mBAAAmB,UAAA,CAAAd,EAAA;YAAAc,UAAA,CAAAZ,EAAA,GAEjD,IAAAC,UAAA,CAAAjK,OAAA,EAAe;cAACuI,iBAAiB,EAAEC;YAA0B,CAAC,CAAC;YAAAoC,UAAA,CAAAV,EAAA;cALrE3C,MAAM,EAAAqD,UAAA,CAAAvB,EAAA;cACNc,OAAO,EAAAS,UAAA,CAAAb,EAAA;cAIP/E,IAAI,EAAA4F,UAAA,CAAAZ;YAAA;YAAAY,UAAA,CAAA1B,EAAA,CANekB,kBAAkB,CAAAxJ,IAAA,CAAAgK,UAAA,CAAA1B,EAAA,EAAA0B,UAAA,CAAAzB,EAAA,EAAAyB,UAAA,CAAAV,EAAA;YAQvCtG,MAAM,CAAC5B,0BAA0B,CAAC,CAACoI,kBAAkB,CACnD;cACEvG,UAAU,EAAE;YACd,CAAC,EACDuD,aACF,CAAC;UAAC;UAAA;YAAA,OAAAwD,UAAA,CAAA5G,IAAA;QAAA;MAAA,GAAA0G,SAAA;IAAA,CACH,GAAC;EACJ,CAAC,CAAC;EAEFzI,QAAQ,CAAC,wBAAwB,EAAE,YAAM;IACvCO,EAAE,CAAC,sCAAsC,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAmI,UAAA;MAAA,IAAAC,kBAAA,EAAAjI,QAAA;MAAA,OAAAJ,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAiI,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAA/H,IAAA,GAAA+H,UAAA,CAAA9H,IAAA;UAAA;YACnC4H,kBAAkB,GAAkCG,iDAA4B;YAEtFpJ,KAAK,CAACuB,OAAO,CAACC,iBAAiB,CAACyH,kBAAkB,CAAC;YAACE,UAAA,CAAA9H,IAAA;YAAA,OAC7BjB,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;UAAA;YAAnDY,QAAQ,GAAAmI,UAAA,CAAAtH,IAAA;YAEdC,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YACrCF,MAAM,CAACd,QAAQ,CAACiB,OAAO,CAAC,CAACD,IAAI,CAAC,SAAS,CAAC;UAAC;UAAA;YAAA,OAAAmH,UAAA,CAAAjH,IAAA;QAAA;MAAA,GAAA8G,SAAA;IAAA,CAC1C,GAAC;IAEFtI,EAAE,CAAC,8CAA8C,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAwI,UAAA;MAAA,IAAAjH,cAAA,EAAA6G,kBAAA,EAAAjI,QAAA;MAAA,OAAAJ,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAqI,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAAnI,IAAA,GAAAmI,UAAA,CAAAlI,IAAA;UAAA;YAC3Ce,cAAc,GAAG;cACrBL,UAAU,EAAE;YACd,CAAC;YACKkH,kBAAkB,GAAkC7G,cAAc;YAExEpC,KAAK,CAACuB,OAAO,CAACgB,iBAAiB,CAAC0G,kBAAkB,CAAC;YAACM,UAAA,CAAAlI,IAAA;YAAA,OAC7BjB,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;UAAA;YAAnDY,QAAQ,GAAAuI,UAAA,CAAA1H,IAAA;YAEdC,MAAM,CAACd,QAAQ,CAAC,CAAC0H,aAAa,CAACC,sCAAiB,CAAC;YACjD7G,MAAM,CAACd,QAAQ,CAACmC,IAAI,CAACqG,KAAK,CAAC,CAACnG,OAAO,CAACsF,sCAAiB,CAACxF,IAAI,CAACqG,KAAK,CAAC;YACjE1H,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YACrCF,MAAM,CAACd,QAAQ,CAACiB,OAAO,CAAC,CAACD,IAAI,CAAC,SAAS,CAAC;YACxCF,MAAM,CAAC5B,0BAA0B,CAAC,CAACuJ,oBAAoB,CACrD;cAAC1H,UAAU,EAAE;YAAG,CAAC,EACjB;cAACwD,IAAI,EAAE,aAAa;cAAEE,MAAM,EAAE;YAAgB,CAChD,CAAC;UAAC;UAAA;YAAA,OAAA8D,UAAA,CAAArH,IAAA;QAAA;MAAA,GAAAmH,SAAA;IAAA,CACH,GAAC;IAEF3I,EAAE,CAAC,iGAAiG,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAA6I,UAAA;MAAA,IAAAC,oBAAA,EAAAC,sBAAA,EAAA5I,QAAA;MAAA,OAAAJ,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAA4I,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAA1I,IAAA,GAAA0I,UAAA,CAAAzI,IAAA;UAAA;YACpGsE,IAAI,CAACK,KAAK,CAACvI,KAAK,EAAE,mBAAmB,CAAC,CAACsM,eAAe,CAACC,uBAAe,CAACC,GAAG,CAAC;YAC3E;YACA;YACMN,oBAAoB,GAAGhE,IAAI,CAC9BK,KAAK,CAAC5F,WAAW,EAAS,mBAAmB,CAAC,CAC9CoB,iBAAiB,CAAC4H,iDAA4B,CAAC;YAE5CQ,sBAAsB,GAChBM,2DAAsC;YAElDlK,KAAK,CAACuB,OAAO,CAACC,iBAAiB,CAACoI,sBAAsB,CAAC;YAACE,UAAA,CAAAzI,IAAA;YAAA,OAEjCjB,WAAW,CAACqB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAEC,YAAI,CAACC,OAAO,EAAEC,eAAO,CAACD,OAAO,CAAC;UAAA;YAArFX,QAAQ,GAAA8I,UAAA,CAAAjI,IAAA;YAEdC,MAAM,CAAC6H,oBAAoB,CAAC,CAACQ,qBAAqB,CAAC,CAAC,CAAC;YAErDrI,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YACrCF,MAAM,CACJd,QAAQ,CAACmC,IAAI,CAACC,YAAY,IAAIpC,QAAQ,CAACmC,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,CAACgH,IAAI,CAACC,aACnE,CAAC,CAAChH,OAAO,CAAC,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAyG,UAAA,CAAA5H,IAAA;QAAA;MAAA,GAAAwH,SAAA;IAAA,CACd,GAAC;IAEFhJ,EAAE,CAAC,yFAAyF,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAyJ,UAAA;MAAA,IAAAX,oBAAA,EAAAC,sBAAA,EAAA5I,QAAA;MAAA,OAAAJ,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAsJ,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAApJ,IAAA,GAAAoJ,UAAA,CAAAnJ,IAAA;UAAA;YAC5FsE,IAAI,CAACK,KAAK,CAACvI,KAAK,EAAE,mBAAmB,CAAC,CAACsM,eAAe,CAACC,uBAAe,CAACC,GAAG,CAAC;;YAE3E;YACA;YACMN,oBAAoB,GAAGhE,IAAI,CAC9BK,KAAK,CAAC5F,WAAW,EAAS,mBAAmB,CAAC,CAC9CoB,iBAAiB,CAACiJ,kEAA6C,CAAC;YAE7Db,sBAAsB,GAChBc,8DAAyC;YAErD1K,KAAK,CAACuB,OAAO,CAACC,iBAAiB,CAACoI,sBAAsB,CAAC;YAACY,UAAA,CAAAnJ,IAAA;YAAA,OAEjCjB,WAAW,CAACqB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAEC,YAAI,CAACC,OAAO,EAAEC,eAAO,CAACD,OAAO,CAAC;UAAA;YAArFX,QAAQ,GAAAwJ,UAAA,CAAA3I,IAAA;YAEdC,MAAM,CAAC6H,oBAAoB,CAAC,CAACQ,qBAAqB,CAAC,CAAC,CAAC;YAErDrI,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YACrCF,MAAM,CAACd,QAAQ,CAACmC,IAAI,CAACC,YAAY,IAAIpC,QAAQ,CAACmC,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,CAACgH,IAAI,CAACO,MAAM,CAAC,CAACC,WAAW,CAAC,CAAC;YAC7F9I,MAAM,CACJd,QAAQ,CAACmC,IAAI,CAACC,YAAY,IAAIpC,QAAQ,CAACmC,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,CAACgH,IAAI,CAACC,aACnE,CAAC,CAAChH,OAAO,CAACwH,SAAS,CAAC;UAAC;UAAA;YAAA,OAAAL,UAAA,CAAAtI,IAAA;QAAA;MAAA,GAAAoI,SAAA;IAAA,CACtB,GAAC;IAEF5J,EAAE,CAAC,8FAA8F,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAiK,UAAA;MAAA,IAAAnB,oBAAA,EAAA5I,kBAAA;MAAA,OAAAH,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAA8J,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAA5J,IAAA,GAAA4J,UAAA,CAAA3J,IAAA;UAAA;YACjGsE,IAAI,CAACK,KAAK,CAACvI,KAAK,EAAE,mBAAmB,CAAC,CAACsM,eAAe,CAACC,uBAAe,CAACC,GAAG,CAAC;YAC3E;YACA;YACMN,oBAAoB,GAAGhE,IAAI,CAC9BK,KAAK,CAAC5F,WAAW,EAAS,mBAAmB,CAAC,CAC9CoB,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAElBT,kBAAkB,GAAkCO,wCAAmB;YAC7EtB,KAAK,CAACuB,OAAO,CAACC,iBAAiB,CAACT,kBAAkB,CAAC;YAACiK,UAAA,CAAA3J,IAAA;YAAA,OAE9CjB,WAAW,CAACqB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAEC,YAAI,CAACC,OAAO,EAAEC,eAAO,CAACD,OAAO,CAAC;UAAA;YAE1EG,MAAM,CAAC6H,oBAAoB,CAAC,CAACsB,GAAG,CAACC,gBAAgB,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAF,UAAA,CAAA9I,IAAA;QAAA;MAAA,GAAA4I,SAAA;IAAA,CACrD,GAAC;IAEFpK,EAAE,CAAC,mEAAmE,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAsK,UAAA;MAAA,IAAAxB,oBAAA,EAAA5I,kBAAA;MAAA,OAAAH,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAmK,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAAjK,IAAA,GAAAiK,UAAA,CAAAhK,IAAA;UAAA;YACtEsE,IAAI,CAACK,KAAK,CAACvI,KAAK,EAAE,mBAAmB,CAAC,CAACsM,eAAe,CAACC,uBAAe,CAACsB,GAAG,CAAC;YAC3E;YACA;YACM3B,oBAAoB,GAAGhE,IAAI,CAC9BK,KAAK,CAAC5F,WAAW,EAAS,mBAAmB,CAAC,CAC9CoB,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAElBT,kBAAkB,GAAkCO,wCAAmB;YAC7EtB,KAAK,CAACuB,OAAO,CAACC,iBAAiB,CAACT,kBAAkB,CAAC;YAACsK,UAAA,CAAAhK,IAAA;YAAA,OAC9CjB,WAAW,CAACqB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAEC,YAAI,CAACC,OAAO,EAAEC,eAAO,CAACD,OAAO,CAAC;UAAA;YAC1EG,MAAM,CAAC6H,oBAAoB,CAAC,CAACsB,GAAG,CAACC,gBAAgB,CAAC,CAAC,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAG,UAAA,CAAAnJ,IAAA;QAAA;MAAA,GAAAiJ,SAAA;IAAA,CACtD,GAAC;EACJ,CAAC,CAAC;EAEFhL,QAAQ,CAAC,kCAAkC,EAAE,YAAM;IACjD,IAAMmF,aAAa,GAAG;MACpBC,IAAI,EAAEC,4BAAiB;MACvBC,MAAM,EAAE;IACV,CAAC;IAEDC,SAAS,CAAC,YAAM;MACdC,IAAI,CAACC,aAAa,CAAC,CAAC;IACtB,CAAC,CAAC;IAEFlC,UAAU,mBAAA/C,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAC,SAAA0K,UAAA;MAAA,OAAA3K,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAuK,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAArK,IAAA,GAAAqK,UAAA,CAAApK,IAAA;UAAA;YACTnB,0BAA0B,GAAGyF,IAAI,CAACK,KAAK,CAACvI,KAAK,EAAE,yBAAyB,CAAC;YACzEwI,MAAM,CAACC,KAAK,GAAGP,IAAI,CAACQ,EAAE,CAAC;cAAA,OACrBxB,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAAC;gBACdwB,MAAM,EAAE,GAAG;gBACXC,EAAE,EAAE,IAAI;gBACRC,IAAI,EAAE,SAAAA,KAAA;kBAAA,OAAM3B,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAAC8G,8DAAyC,CAAC;gBAAA;cACxE,CAAC,CAAC;YAAA,CACJ,CAAc;UAAC;UAAA;YAAA,OAAAD,UAAA,CAAAvJ,IAAA;QAAA;MAAA,GAAAqJ,SAAA;IAAA,CAChB,GAAC;IAEF7K,EAAE,CAAC,+CAA+C,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAA8K,UAAA;MAAA,IAAAC,gBAAA,EAAA5K,QAAA,EAAA0F,0BAAA;MAAA,OAAA9F,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAA4K,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAA1K,IAAA,GAAA0K,UAAA,CAAAzK,IAAA;UAAA;YAC5CuK,gBAAgB,GAAG,CAAC;cAAC/E,OAAO,EAAE,0BAA0B;cAAEC,SAAS,EAAE;YAAK,CAAC,CAAC;YAAAgF,UAAA,CAAAzK,IAAA;YAAA,OAC3DjB,WAAW,CAAC2L,wBAAwB,CAACH,gBAAgB,CAAC;UAAA;YAAvE5K,QAAQ,GAAA8K,UAAA,CAAAjK,IAAA;YACR6E,0BAA0B,GAAGkF,gBAAgB,CAAC5E,GAAG,CAAC,UAACC,OAAO;cAAA,OAAAxH,aAAA,CAAAA,aAAA,KAC3DwH,OAAO;gBACVJ,OAAO,EAAE,IAAIK,IAAI,CAACD,OAAO,CAACJ,OAAO,CAAC,CAACM,OAAO,CAAC;cAAC;YAAA,CAC5C,CAAC;YACHrF,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACsB,OAAO,CAAC,GAAG,CAAC;YACxCvB,MAAM,CAACd,QAAQ,CAAC,CAACqC,OAAO,CAACqI,8DAAyC,CAAC;YAACI,UAAA,CAAA1E,EAAA,GACpEtF,MAAM,CAACmE,MAAM,CAACC,KAAK,CAAC;YAAA4F,UAAA,CAAAzE,EAAA,GAAoB2E,0CAAqB;YAAAF,UAAA,CAAAvE,EAAA,GACnDC,oBAAY,CAACC,IAAI;YAAAqE,UAAA,CAAApE,EAAA,GAAA7H,gBAAA,CAAA3B,OAAA;YAAA4N,UAAA,CAAAnE,EAAA,OAAA9H,gBAAA,CAAA3B,OAAA,MAEtB0J,uBAAY,EAAGC,2BAAgB;YAAAiE,UAAA,CAAAzK,IAAA;YAAA,OACXrB,KAAK,CAAC8H,WAAW,CAACC,YAAY,CAAC,CAAC;UAAA;YAAA+D,UAAA,CAAA9D,EAAA,GAAA8D,UAAA,CAAAjK,IAAA;YAAAiK,UAAA,CAAA7D,EAAA,OAAA6D,UAAA,CAAApE,EAAA,EAAAoE,UAAA,CAAAnE,EAAA,mBAAAmE,UAAA,CAAA9D,EAAA;YAAA8D,UAAA,CAAA5D,EAAA,GAEjD,IAAAC,UAAA,CAAAjK,OAAA,EAAe;cAAC0N,gBAAgB,EAAElF;YAA0B,CAAC,CAAC;YAAAoF,UAAA,CAAA1D,EAAA;cALpE3C,MAAM,EAAAqG,UAAA,CAAAvE,EAAA;cACNc,OAAO,EAAAyD,UAAA,CAAA7D,EAAA;cAIP/E,IAAI,EAAA4I,UAAA,CAAA5D;YAAA;YAAA4D,UAAA,CAAA1E,EAAA,CANekB,kBAAkB,CAAAxJ,IAAA,CAAAgN,UAAA,CAAA1E,EAAA,EAAA0E,UAAA,CAAAzE,EAAA,EAAAyE,UAAA,CAAA1D,EAAA;UAAA;UAAA;YAAA,OAAA0D,UAAA,CAAA5J,IAAA;QAAA;MAAA,GAAAyJ,SAAA;IAAA,CAQxC,GAAC;IAEFjL,EAAE,CAAC,iDAAiD,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAoL,UAAA;MAAA,IAAAL,gBAAA,EAAA5K,QAAA,EAAA0F,0BAAA;MAAA,OAAA9F,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAiL,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAA/K,IAAA,GAAA+K,UAAA,CAAA9K,IAAA;UAAA;YAC9CuK,gBAAgB,GAAG,EAAE;YAC3B3F,MAAM,CAACC,KAAK,GAAGP,IAAI,CAACQ,EAAE,CAAC;cAAA,OACrBxB,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAAC;gBACdwB,MAAM,EAAE,GAAG;gBACXC,EAAE,EAAE;cACN,CAAC,CAAC;YAAA,CACJ,CAAc;YAAC8F,UAAA,CAAA9K,IAAA;YAAA,OACQjB,WAAW,CAAC2L,wBAAwB,CAACH,gBAAgB,CAAC;UAAA;YAAvE5K,QAAQ,GAAAmL,UAAA,CAAAtK,IAAA;YACR6E,0BAA0B,GAAGkF,gBAAgB,CAAC5E,GAAG,CAAC,UAACC,OAAO;cAAA,OAAAxH,aAAA,CAAAA,aAAA,KAC3DwH,OAAO;gBACVJ,OAAO,EAAE,IAAIK,IAAI,CAACD,OAAO,CAACJ,OAAO,CAAC,CAACM,OAAO,CAAC;cAAC;YAAA,CAC5C,CAAC;YACHrF,MAAM,CAACd,QAAQ,CAAC,CAAC0H,aAAa,CAACC,sCAAiB,CAAC;YACjD7G,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YAACmK,UAAA,CAAA/E,EAAA,GACtCtF,MAAM,CAACmE,MAAM,CAACC,KAAK,CAAC;YAAAiG,UAAA,CAAA9E,EAAA,GAAoB2E,0CAAqB;YAAAG,UAAA,CAAA5E,EAAA,GACnDC,oBAAY,CAACC,IAAI;YAAA0E,UAAA,CAAAzE,EAAA,GAAA7H,gBAAA,CAAA3B,OAAA;YAAAiO,UAAA,CAAAxE,EAAA,OAAA9H,gBAAA,CAAA3B,OAAA,MAEtB0J,uBAAY,EAAGC,2BAAgB;YAAAsE,UAAA,CAAA9K,IAAA;YAAA,OACXrB,KAAK,CAAC8H,WAAW,CAACC,YAAY,CAAC,CAAC;UAAA;YAAAoE,UAAA,CAAAnE,EAAA,GAAAmE,UAAA,CAAAtK,IAAA;YAAAsK,UAAA,CAAAlE,EAAA,OAAAkE,UAAA,CAAAzE,EAAA,EAAAyE,UAAA,CAAAxE,EAAA,mBAAAwE,UAAA,CAAAnE,EAAA;YAAAmE,UAAA,CAAAjE,EAAA,GAEjD,IAAAC,UAAA,CAAAjK,OAAA,EAAe;cAAC0N,gBAAgB,EAAElF;YAA0B,CAAC,CAAC;YAAAyF,UAAA,CAAA/D,EAAA;cALpE3C,MAAM,EAAA0G,UAAA,CAAA5E,EAAA;cACNc,OAAO,EAAA8D,UAAA,CAAAlE,EAAA;cAIP/E,IAAI,EAAAiJ,UAAA,CAAAjE;YAAA;YAAAiE,UAAA,CAAA/E,EAAA,CANekB,kBAAkB,CAAAxJ,IAAA,CAAAqN,UAAA,CAAA/E,EAAA,EAAA+E,UAAA,CAAA9E,EAAA,EAAA8E,UAAA,CAAA/D,EAAA;YAQvCtG,MAAM,CAAC5B,0BAA0B,CAAC,CAACoI,kBAAkB,CACnD;cACEvG,UAAU,EAAE;YACd,CAAC,EACDuD,aACF,CAAC;UAAC;UAAA;YAAA,OAAA6G,UAAA,CAAAjK,IAAA;QAAA;MAAA,GAAA+J,SAAA;IAAA,CACH,GAAC;IAEFvL,EAAE,CAAC,iDAAiD,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAAuL,UAAA;MAAA,IAAAR,gBAAA,EAAA5K,QAAA,EAAA0F,0BAAA;MAAA,OAAA9F,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAoL,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAAlL,IAAA,GAAAkL,UAAA,CAAAjL,IAAA;UAAA;YAC9CuK,gBAAgB,GAAG,EAAE;YAC3B3F,MAAM,CAACC,KAAK,GAAGP,IAAI,CAACQ,EAAE,CAAC;cAAA,OACrBxB,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAAC;gBACdwB,MAAM,EAAE,GAAG;gBACXC,EAAE,EAAE;cACN,CAAC,CAAC;YAAA,CACJ,CAAc;YAACiG,UAAA,CAAAjL,IAAA;YAAA,OAEQjB,WAAW,CAAC2L,wBAAwB,CAACH,gBAAgB,CAAC;UAAA;YAAvE5K,QAAQ,GAAAsL,UAAA,CAAAzK,IAAA;YACR6E,0BAA0B,GAAGkF,gBAAgB,CAAC5E,GAAG,CAAC,UAACC,OAAO;cAAA,OAAAxH,aAAA,CAAAA,aAAA,KAC3DwH,OAAO;gBACVJ,OAAO,EAAE,IAAIK,IAAI,CAACD,OAAO,CAACJ,OAAO,CAAC,CAACM,OAAO,CAAC;cAAC;YAAA,CAC5C,CAAC;YACHrF,MAAM,CAACd,QAAQ,CAAC,CAAC0H,aAAa,CAACK,sCAAiB,CAAC;YACjDjH,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YAACsK,UAAA,CAAAlF,EAAA,GACtCtF,MAAM,CAACmE,MAAM,CAACC,KAAK,CAAC;YAAAoG,UAAA,CAAAjF,EAAA,GAAoB2E,0CAAqB;YAAAM,UAAA,CAAA/E,EAAA,GACnDC,oBAAY,CAACC,IAAI;YAAA6E,UAAA,CAAA5E,EAAA,GAAA7H,gBAAA,CAAA3B,OAAA;YAAAoO,UAAA,CAAA3E,EAAA,OAAA9H,gBAAA,CAAA3B,OAAA,MAEtB0J,uBAAY,EAAGC,2BAAgB;YAAAyE,UAAA,CAAAjL,IAAA;YAAA,OACXrB,KAAK,CAAC8H,WAAW,CAACC,YAAY,CAAC,CAAC;UAAA;YAAAuE,UAAA,CAAAtE,EAAA,GAAAsE,UAAA,CAAAzK,IAAA;YAAAyK,UAAA,CAAArE,EAAA,OAAAqE,UAAA,CAAA5E,EAAA,EAAA4E,UAAA,CAAA3E,EAAA,mBAAA2E,UAAA,CAAAtE,EAAA;YAAAsE,UAAA,CAAApE,EAAA,GAEjD,IAAAC,UAAA,CAAAjK,OAAA,EAAe;cAAC0N,gBAAgB,EAAElF;YAA0B,CAAC,CAAC;YAAA4F,UAAA,CAAAlE,EAAA;cALpE3C,MAAM,EAAA6G,UAAA,CAAA/E,EAAA;cACNc,OAAO,EAAAiE,UAAA,CAAArE,EAAA;cAIP/E,IAAI,EAAAoJ,UAAA,CAAApE;YAAA;YAAAoE,UAAA,CAAAlF,EAAA,CANekB,kBAAkB,CAAAxJ,IAAA,CAAAwN,UAAA,CAAAlF,EAAA,EAAAkF,UAAA,CAAAjF,EAAA,EAAAiF,UAAA,CAAAlE,EAAA;YAQvCtG,MAAM,CAAC5B,0BAA0B,CAAC,CAACoI,kBAAkB,CACnD;cACEvG,UAAU,EAAE;YACd,CAAC,EACDuD,aACF,CAAC;UAAC;UAAA;YAAA,OAAAgH,UAAA,CAAApK,IAAA;QAAA;MAAA,GAAAkK,SAAA;IAAA,CACH,GAAC;IAEF1L,EAAE,CAAC,yCAAyC,mBAAAC,kBAAA,CAAAzC,OAAA,gBAAA0C,YAAA,CAAA1C,OAAA,CAAA2C,IAAA,CAAE,SAAA0L,UAAA;MAAA,IAAAX,gBAAA,EAAA5K,QAAA;MAAA,OAAAJ,YAAA,CAAA1C,OAAA,CAAA+C,IAAA,UAAAuL,WAAAC,UAAA;QAAA,kBAAAA,UAAA,CAAArL,IAAA,GAAAqL,UAAA,CAAApL,IAAA;UAAA;YACtCuK,gBAAgB,GAAG,CAAC;cAAC/E,OAAO,EAAE,cAAc;cAAEC,SAAS,EAAE;YAAK,CAAC,CAAC,EAEtE;YACAb,MAAM,CAACC,KAAK,GAAGP,IAAI,CAACQ,EAAE,CAAC;cAAA,OACrBxB,QAAA,CAAAzG,OAAA,CAAQ0G,OAAO,CAAC;gBACdwB,MAAM,EAAE,GAAG;gBACXC,EAAE,EAAE;cACN,CAAC,CAAC;YAAA,CACJ,CAAc;YAACoG,UAAA,CAAApL,IAAA;YAAA,OAEQjB,WAAW,CAAC2L,wBAAwB,CAACH,gBAAgB,CAAC;UAAA;YAAvE5K,QAAQ,GAAAyL,UAAA,CAAA5K,IAAA;YAEdC,MAAM,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YACrCF,MAAM,CAACd,QAAQ,CAAC,CAACqC,OAAO,CAACqJ,mEAA8C,CAAC;UAAC;UAAA;YAAA,OAAAD,UAAA,CAAAvK,IAAA;QAAA;MAAA,GAAAqK,SAAA;IAAA,CAC1E,GAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
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"}
|