@webex/calling 3.11.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/CallHistory/CallHistory.js +596 -0
  2. package/dist/CallHistory/CallHistory.js.map +1 -0
  3. package/dist/CallHistory/CallHistory.test.js +916 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -0
  5. package/dist/CallHistory/callHistoryFixtures.js +650 -0
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
  7. package/dist/CallHistory/constants.js +38 -0
  8. package/dist/CallHistory/constants.js.map +1 -0
  9. package/dist/CallHistory/types.js +7 -0
  10. package/dist/CallHistory/types.js.map +1 -0
  11. package/dist/CallSettings/CallSettings.js +311 -0
  12. package/dist/CallSettings/CallSettings.js.map +1 -0
  13. package/dist/CallSettings/CallSettings.test.js +122 -0
  14. package/dist/CallSettings/CallSettings.test.js.map +1 -0
  15. package/dist/CallSettings/UcmBackendConnector.js +308 -0
  16. package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
  17. package/dist/CallSettings/UcmBackendConnector.test.js +411 -0
  18. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
  19. package/dist/CallSettings/WxCallBackendConnector.js +597 -0
  20. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
  21. package/dist/CallSettings/WxCallBackendConnector.test.js +904 -0
  22. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
  23. package/dist/CallSettings/constants.js +31 -0
  24. package/dist/CallSettings/constants.js.map +1 -0
  25. package/dist/CallSettings/testFixtures.js +68 -0
  26. package/dist/CallSettings/testFixtures.js.map +1 -0
  27. package/dist/CallSettings/types.js +7 -0
  28. package/dist/CallSettings/types.js.map +1 -0
  29. package/dist/CallingClient/CallingClient.js +1119 -0
  30. package/dist/CallingClient/CallingClient.js.map +1 -0
  31. package/dist/CallingClient/CallingClient.test.js +1266 -0
  32. package/dist/CallingClient/CallingClient.test.js.map +1 -0
  33. package/dist/CallingClient/callRecordFixtures.js +101 -0
  34. package/dist/CallingClient/callRecordFixtures.js.map +1 -0
  35. package/dist/CallingClient/calling/CallerId/index.js +275 -0
  36. package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
  37. package/dist/CallingClient/calling/CallerId/index.test.js +275 -0
  38. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -0
  39. package/dist/CallingClient/calling/CallerId/types.js +7 -0
  40. package/dist/CallingClient/calling/CallerId/types.js.map +1 -0
  41. package/dist/CallingClient/calling/call.js +3486 -0
  42. package/dist/CallingClient/calling/call.js.map +1 -0
  43. package/dist/CallingClient/calling/call.test.js +3612 -0
  44. package/dist/CallingClient/calling/call.test.js.map +1 -0
  45. package/dist/CallingClient/calling/callManager.js +460 -0
  46. package/dist/CallingClient/calling/callManager.js.map +1 -0
  47. package/dist/CallingClient/calling/callManager.test.js +741 -0
  48. package/dist/CallingClient/calling/callManager.test.js.map +1 -0
  49. package/dist/CallingClient/calling/index.js +30 -0
  50. package/dist/CallingClient/calling/index.js.map +1 -0
  51. package/dist/CallingClient/calling/types.js +74 -0
  52. package/dist/CallingClient/calling/types.js.map +1 -0
  53. package/dist/CallingClient/callingClientFixtures.js +143 -0
  54. package/dist/CallingClient/callingClientFixtures.js.map +1 -0
  55. package/dist/CallingClient/constants.js +243 -0
  56. package/dist/CallingClient/constants.js.map +1 -0
  57. package/dist/CallingClient/line/index.js +332 -0
  58. package/dist/CallingClient/line/index.js.map +1 -0
  59. package/dist/CallingClient/line/line.test.js +327 -0
  60. package/dist/CallingClient/line/line.test.js.map +1 -0
  61. package/dist/CallingClient/line/types.js +21 -0
  62. package/dist/CallingClient/line/types.js.map +1 -0
  63. package/dist/CallingClient/registration/index.js +19 -0
  64. package/dist/CallingClient/registration/index.js.map +1 -0
  65. package/dist/CallingClient/registration/register.js +1686 -0
  66. package/dist/CallingClient/registration/register.js.map +1 -0
  67. package/dist/CallingClient/registration/register.test.js +1885 -0
  68. package/dist/CallingClient/registration/register.test.js.map +1 -0
  69. package/dist/CallingClient/registration/registerFixtures.js +36 -0
  70. package/dist/CallingClient/registration/registerFixtures.js.map +1 -0
  71. package/dist/CallingClient/registration/types.js +7 -0
  72. package/dist/CallingClient/registration/types.js.map +1 -0
  73. package/dist/CallingClient/registration/webWorker.js +130 -0
  74. package/dist/CallingClient/registration/webWorker.js.map +1 -0
  75. package/dist/CallingClient/registration/webWorker.test.js +303 -0
  76. package/dist/CallingClient/registration/webWorker.test.js.map +1 -0
  77. package/dist/CallingClient/registration/webWorkerStr.js +15 -0
  78. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -0
  79. package/dist/CallingClient/types.js +7 -0
  80. package/dist/CallingClient/types.js.map +1 -0
  81. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
  82. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
  83. package/dist/Contacts/ContactsClient.js +1206 -0
  84. package/dist/Contacts/ContactsClient.js.map +1 -0
  85. package/dist/Contacts/ContactsClient.test.js +1004 -0
  86. package/dist/Contacts/ContactsClient.test.js.map +1 -0
  87. package/dist/Contacts/constants.js +40 -0
  88. package/dist/Contacts/constants.js.map +1 -0
  89. package/dist/Contacts/contactFixtures.js +430 -0
  90. package/dist/Contacts/contactFixtures.js.map +1 -0
  91. package/dist/Contacts/types.js +43 -0
  92. package/dist/Contacts/types.js.map +1 -0
  93. package/dist/Errors/catalog/CallError.js +89 -0
  94. package/dist/Errors/catalog/CallError.js.map +1 -0
  95. package/dist/Errors/catalog/CallingDeviceError.js +83 -0
  96. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
  97. package/dist/Errors/catalog/ExtendedError.js +42 -0
  98. package/dist/Errors/catalog/ExtendedError.js.map +1 -0
  99. package/dist/Errors/catalog/LineError.js +85 -0
  100. package/dist/Errors/catalog/LineError.js.map +1 -0
  101. package/dist/Errors/index.js +28 -0
  102. package/dist/Errors/index.js.map +1 -0
  103. package/dist/Errors/types.js +59 -0
  104. package/dist/Errors/types.js.map +1 -0
  105. package/dist/Events/impl/index.js +79 -0
  106. package/dist/Events/impl/index.js.map +1 -0
  107. package/dist/Events/types.js +107 -0
  108. package/dist/Events/types.js.map +1 -0
  109. package/dist/Logger/index.js +228 -0
  110. package/dist/Logger/index.js.map +1 -0
  111. package/dist/Logger/index.test.js +87 -0
  112. package/dist/Logger/index.test.js.map +1 -0
  113. package/dist/Logger/types.js +34 -0
  114. package/dist/Logger/types.js.map +1 -0
  115. package/dist/Metrics/index.js +534 -0
  116. package/dist/Metrics/index.js.map +1 -0
  117. package/dist/Metrics/index.test.js +463 -0
  118. package/dist/Metrics/index.test.js.map +1 -0
  119. package/dist/Metrics/types.js +64 -0
  120. package/dist/Metrics/types.js.map +1 -0
  121. package/dist/SDKConnector/index.js +102 -0
  122. package/dist/SDKConnector/index.js.map +1 -0
  123. package/dist/SDKConnector/index.test.js +9 -0
  124. package/dist/SDKConnector/index.test.js.map +1 -0
  125. package/dist/SDKConnector/types.js +7 -0
  126. package/dist/SDKConnector/types.js.map +1 -0
  127. package/dist/SDKConnector/utils.js +39 -0
  128. package/dist/SDKConnector/utils.js.map +1 -0
  129. package/dist/SDKConnector/utils.test.js +9 -0
  130. package/dist/SDKConnector/utils.test.js.map +1 -0
  131. package/dist/Voicemail/BroadworksBackendConnector.js +699 -0
  132. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
  133. package/dist/Voicemail/BroadworksBackendConnector.test.js +820 -0
  134. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
  135. package/dist/Voicemail/UcmBackendConnector.js +628 -0
  136. package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
  137. package/dist/Voicemail/UcmBackendConnector.test.js +738 -0
  138. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
  139. package/dist/Voicemail/Voicemail.js +472 -0
  140. package/dist/Voicemail/Voicemail.js.map +1 -0
  141. package/dist/Voicemail/Voicemail.test.js +391 -0
  142. package/dist/Voicemail/Voicemail.test.js.map +1 -0
  143. package/dist/Voicemail/WxCallBackendConnector.js +657 -0
  144. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
  145. package/dist/Voicemail/WxCallBackendConnector.test.js +1225 -0
  146. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
  147. package/dist/Voicemail/constants.js +61 -0
  148. package/dist/Voicemail/constants.js.map +1 -0
  149. package/dist/Voicemail/types.js +7 -0
  150. package/dist/Voicemail/types.js.map +1 -0
  151. package/dist/Voicemail/voicemailFixture.js +524 -0
  152. package/dist/Voicemail/voicemailFixture.js.map +1 -0
  153. package/dist/api.js +157 -0
  154. package/dist/api.js.map +1 -0
  155. package/dist/common/Utils.js +1483 -0
  156. package/dist/common/Utils.js.map +1 -0
  157. package/dist/common/Utils.test.js +1989 -0
  158. package/dist/common/Utils.test.js.map +1 -0
  159. package/dist/common/constants.js +62 -0
  160. package/dist/common/constants.js.map +1 -0
  161. package/dist/common/index.js +19 -0
  162. package/dist/common/index.js.map +1 -0
  163. package/dist/common/testUtil.js +983 -0
  164. package/dist/common/testUtil.js.map +1 -0
  165. package/dist/common/types.js +75 -0
  166. package/dist/common/types.js.map +1 -0
  167. package/dist/index.js +321 -0
  168. package/dist/index.js.map +1 -0
  169. package/dist/module/CallHistory/CallHistory.js +28 -17
  170. package/dist/module/CallingClient/CallingClient.js +43 -1
  171. package/dist/module/CallingClient/calling/call.js +3 -2
  172. package/dist/module/CallingClient/constants.js +2 -0
  173. package/dist/module/CallingClient/registration/register.js +8 -0
  174. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  175. package/dist/types/CallingClient/CallingClient.d.ts +2 -1
  176. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  177. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  178. package/dist/types/CallingClient/constants.d.ts +2 -0
  179. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  180. package/dist/types/CallingClient/registration/register.d.ts +2 -1
  181. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  182. package/dist/types/CallingClient/registration/types.d.ts +2 -1
  183. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  184. package/dist/types/CallingClient/types.d.ts +2 -1
  185. package/dist/types/CallingClient/types.d.ts.map +1 -1
  186. package/dist/types/common/types.d.ts +4 -0
  187. package/dist/types/common/types.d.ts.map +1 -1
  188. package/package.json +4 -4
@@ -0,0 +1,904 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
5
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
7
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
11
+ var _testUtil = require("../common/testUtil");
12
+ var _types = require("../Logger/types");
13
+ var _types2 = require("../common/types");
14
+ var _constants = require("../common/constants");
15
+ var _constants2 = require("./constants");
16
+ var utils = _interopRequireWildcard(require("../common/Utils"));
17
+ var _WxCallBackendConnector = require("./WxCallBackendConnector");
18
+ var _Logger = _interopRequireDefault(require("../Logger"));
19
+ var _testFixtures = require("./testFixtures");
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t19 in e) "default" !== _t19 && {}.hasOwnProperty.call(e, _t19) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t19)) && (i.get || i.set) ? o(f, _t19, i) : f[_t19] = e[_t19]); return f; })(e, t); }
21
+ /* eslint-disable dot-notation */
22
+
23
+ jest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);
24
+ describe('Call Settings Client Tests for WxCallBackendConnector', function () {
25
+ var warnSpy = jest.spyOn(_Logger.default, 'warn');
26
+ var logSpy = jest.spyOn(_Logger.default, 'log');
27
+ var infoSpy = jest.spyOn(_Logger.default, 'info');
28
+ var errorSpy = jest.spyOn(_Logger.default, 'error');
29
+ var webex = (0, _testUtil.getTestUtilsWebex)();
30
+ var serviceErrorCodeHandlerSpy;
31
+ var hydraEndpoint = 'https://hydra-a.wbx2.com/v1/';
32
+ var personId = 'Y2lzY29zcGFyazovL3VzL1BFT1BMRS84YTY3ODA2Zi1mYzRkLTQ0NmItYTEzMS0zMWU3MWVhNWIwZTk=';
33
+ var orgId = 'Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xNzA0ZDMwZC1hMTMxLTRiYzctOTQ0OS05NDg0ODc2NDM3OTM=';
34
+ var responsePayload403 = {
35
+ statusCode: 403
36
+ };
37
+ var responsePayload400 = {
38
+ statusCode: 400
39
+ };
40
+ var responsePayload204 = {
41
+ statusCode: 204
42
+ };
43
+ beforeEach(function () {
44
+ serviceErrorCodeHandlerSpy = jest.spyOn(utils, 'serviceErrorCodeHandler');
45
+ warnSpy.mockClear();
46
+ logSpy.mockClear();
47
+ infoSpy.mockClear();
48
+ errorSpy.mockClear();
49
+ });
50
+ describe('Call Waiting Test', function () {
51
+ var callSettingsClient;
52
+ var webexUri = "".concat(hydraEndpoint, "/").concat(_constants.XSI_ACTION_ENDPOINT_ORG_URL_PARAM);
53
+ var xsiEndpoint = 'https://api-proxy-si.broadcloudpbx.net/com.broadsoft.xsi-actions';
54
+ var userId = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';
55
+ var callWaitingUrl = "".concat(xsiEndpoint, "/").concat(_constants2.XSI_VERSION, "/").concat(_constants2.USER_ENDPOINT, "/").concat(userId, "/").concat(_constants.SERVICES_ENDPOINT, "/").concat(_constants2.CALL_WAITING_ENDPOINT);
56
+ beforeAll(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
57
+ var urlResponsePayload;
58
+ return _regenerator.default.wrap(function (_context) {
59
+ while (1) switch (_context.prev = _context.next) {
60
+ case 0:
61
+ callSettingsClient = new _WxCallBackendConnector.WxCallBackendConnector(webex, {
62
+ level: _types.LOGGER.INFO
63
+ });
64
+ urlResponsePayload = {
65
+ statusCode: 200,
66
+ body: _testFixtures.xsiEndpointUrlResponse
67
+ };
68
+ webex.request.mockResolvedValue(urlResponsePayload);
69
+ _context.next = 1;
70
+ return callSettingsClient.getCallWaitingSetting();
71
+ case 1:
72
+ expect(webex.request).toBeCalledOnceWith({
73
+ method: _types2.HTTP_METHODS.GET,
74
+ uri: webexUri
75
+ });
76
+ expect(callSettingsClient['xsiEndpoint']).toEqual(xsiEndpoint);
77
+ webex.request.mockClear();
78
+ case 2:
79
+ case "end":
80
+ return _context.stop();
81
+ }
82
+ }, _callee);
83
+ })));
84
+ it('Success: Get Call Waiting setting enabled', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
85
+ var callWaitingMockedResponse, response, toggleSetting, _t, _t2, _t3, _t4, _t5;
86
+ return _regenerator.default.wrap(function (_context2) {
87
+ while (1) switch (_context2.prev = _context2.next) {
88
+ case 0:
89
+ callWaitingMockedResponse = '<CallWaiting><active>true</active></CallWaiting>';
90
+ global.fetch = jest.fn(function () {
91
+ return _promise.default.resolve({
92
+ status: 200,
93
+ ok: true,
94
+ text: function text() {
95
+ return _promise.default.resolve(callWaitingMockedResponse);
96
+ }
97
+ });
98
+ });
99
+ _context2.next = 1;
100
+ return callSettingsClient.getCallWaitingSetting();
101
+ case 1:
102
+ response = _context2.sent;
103
+ toggleSetting = response.data.callSetting;
104
+ expect(webex.request).not.toBeCalled();
105
+ expect(response.statusCode).toBe(200);
106
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
107
+ expect(toggleSetting.enabled).toStrictEqual(true);
108
+ _t = expect(global.fetch);
109
+ _t2 = callWaitingUrl;
110
+ _t3 = _types2.HTTP_METHODS.GET;
111
+ _context2.next = 2;
112
+ return webex.credentials.getUserToken();
113
+ case 2:
114
+ _t4 = _context2.sent;
115
+ _t5 = {
116
+ Authorization: _t4
117
+ };
118
+ _t.toBeCalledOnceWith.call(_t, _t2, {
119
+ method: _t3,
120
+ headers: _t5
121
+ });
122
+ expect(infoSpy).toHaveBeenCalledWith(_constants.METHOD_START_MESSAGE, {
123
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
124
+ method: 'getCallWaitingSetting'
125
+ });
126
+ expect(logSpy).toHaveBeenCalledWith("Successfully got Call Waiting settings, personId: ".concat(personId), {
127
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
128
+ method: 'getCallWaitingSetting'
129
+ });
130
+ expect(errorSpy).not.toHaveBeenCalled();
131
+ case 3:
132
+ case "end":
133
+ return _context2.stop();
134
+ }
135
+ }, _callee2);
136
+ })));
137
+ it('Success: Get Call Waiting setting disabled', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
138
+ var callWaitingMockedResponse, response, toggleSetting, _t6, _t7, _t8, _t9, _t0;
139
+ return _regenerator.default.wrap(function (_context3) {
140
+ while (1) switch (_context3.prev = _context3.next) {
141
+ case 0:
142
+ callWaitingMockedResponse = '<CallWaiting><active>false</active></CallWaiting>';
143
+ global.fetch = jest.fn(function () {
144
+ return _promise.default.resolve({
145
+ status: 200,
146
+ ok: true,
147
+ text: function text() {
148
+ return _promise.default.resolve(callWaitingMockedResponse);
149
+ }
150
+ });
151
+ });
152
+ _context3.next = 1;
153
+ return callSettingsClient.getCallWaitingSetting();
154
+ case 1:
155
+ response = _context3.sent;
156
+ toggleSetting = response.data.callSetting;
157
+ expect(webex.request).not.toBeCalled();
158
+ expect(response.statusCode).toBe(200);
159
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
160
+ expect(toggleSetting.enabled).toStrictEqual(false);
161
+ _t6 = expect(global.fetch);
162
+ _t7 = callWaitingUrl;
163
+ _t8 = _types2.HTTP_METHODS.GET;
164
+ _context3.next = 2;
165
+ return webex.credentials.getUserToken();
166
+ case 2:
167
+ _t9 = _context3.sent;
168
+ _t0 = {
169
+ Authorization: _t9
170
+ };
171
+ _t6.toBeCalledOnceWith.call(_t6, _t7, {
172
+ method: _t8,
173
+ headers: _t0
174
+ });
175
+ case 3:
176
+ case "end":
177
+ return _context3.stop();
178
+ }
179
+ }, _callee3);
180
+ })));
181
+ it('Error: Get Call Waiting setting throw 403 error', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
182
+ var response, _t1, _t10, _t11, _t12, _t13;
183
+ return _regenerator.default.wrap(function (_context4) {
184
+ while (1) switch (_context4.prev = _context4.next) {
185
+ case 0:
186
+ global.fetch = jest.fn(function () {
187
+ return _promise.default.resolve({
188
+ status: 403,
189
+ ok: false
190
+ });
191
+ });
192
+ _context4.next = 1;
193
+ return callSettingsClient.getCallWaitingSetting();
194
+ case 1:
195
+ response = _context4.sent;
196
+ expect(response.statusCode).toBe(403);
197
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
198
+ _t1 = expect(global.fetch);
199
+ _t10 = callWaitingUrl;
200
+ _t11 = _types2.HTTP_METHODS.GET;
201
+ _context4.next = 2;
202
+ return webex.credentials.getUserToken();
203
+ case 2:
204
+ _t12 = _context4.sent;
205
+ _t13 = {
206
+ Authorization: _t12
207
+ };
208
+ _t1.toBeCalledOnceWith.call(_t1, _t10, {
209
+ method: _t11,
210
+ headers: _t13
211
+ });
212
+ expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
213
+ statusCode: 403
214
+ }, {
215
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
216
+ method: 'getCallWaitingSetting'
217
+ });
218
+ expect(infoSpy).toHaveBeenCalledWith(_constants.METHOD_START_MESSAGE, {
219
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
220
+ method: 'getCallWaitingSetting'
221
+ });
222
+ expect(errorSpy).toHaveBeenCalledWith("Failed to get call waiting setting: {}", {
223
+ file: 'WxCallBackendConnector',
224
+ method: 'getCallWaitingSetting'
225
+ });
226
+ expect(logSpy).not.toHaveBeenCalled();
227
+ case 3:
228
+ case "end":
229
+ return _context4.stop();
230
+ }
231
+ }, _callee4);
232
+ })));
233
+ it('Error: Get Call Waiting settings throw URI error', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
234
+ var response, _t14, _t15, _t16, _t17, _t18;
235
+ return _regenerator.default.wrap(function (_context5) {
236
+ while (1) switch (_context5.prev = _context5.next) {
237
+ case 0:
238
+ global.fetch = jest.fn().mockImplementation(function () {
239
+ throw new URIError('422');
240
+ });
241
+ _context5.next = 1;
242
+ return callSettingsClient.getCallWaitingSetting();
243
+ case 1:
244
+ response = _context5.sent;
245
+ expect(response.statusCode).toBe(422);
246
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
247
+ _t14 = expect(global.fetch);
248
+ _t15 = callWaitingUrl;
249
+ _t16 = _types2.HTTP_METHODS.GET;
250
+ _context5.next = 2;
251
+ return webex.credentials.getUserToken();
252
+ case 2:
253
+ _t17 = _context5.sent;
254
+ _t18 = {
255
+ Authorization: _t17
256
+ };
257
+ _t14.toBeCalledOnceWith.call(_t14, _t15, {
258
+ method: _t16,
259
+ headers: _t18
260
+ });
261
+ expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
262
+ statusCode: 422
263
+ }, {
264
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
265
+ method: 'getCallWaitingSetting'
266
+ });
267
+ case 3:
268
+ case "end":
269
+ return _context5.stop();
270
+ }
271
+ }, _callee5);
272
+ })));
273
+ });
274
+ describe('DND Test', function () {
275
+ var callSettingsClient;
276
+ var uri = "".concat(hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(personId, "/").concat(_constants2.DND_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(orgId);
277
+ beforeAll(function () {
278
+ callSettingsClient = new _WxCallBackendConnector.WxCallBackendConnector(webex, {
279
+ level: _types.LOGGER.INFO
280
+ });
281
+ });
282
+ it('Success: Set DND settings', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
283
+ var dndRequestBody, response;
284
+ return _regenerator.default.wrap(function (_context6) {
285
+ while (1) switch (_context6.prev = _context6.next) {
286
+ case 0:
287
+ dndRequestBody = {
288
+ enabled: false,
289
+ ringSplashEnabled: false
290
+ };
291
+ webex.request.mockResolvedValueOnce(responsePayload204);
292
+ _context6.next = 1;
293
+ return callSettingsClient.setDoNotDisturbSetting(false);
294
+ case 1:
295
+ response = _context6.sent;
296
+ expect(response.statusCode).toBe(204);
297
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
298
+ expect(webex.request).toBeCalledOnceWith({
299
+ method: _types2.HTTP_METHODS.PUT,
300
+ uri: uri,
301
+ body: dndRequestBody
302
+ });
303
+ case 2:
304
+ case "end":
305
+ return _context6.stop();
306
+ }
307
+ }, _callee6);
308
+ })));
309
+ it('Success: Get DND setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
310
+ var dndResponsePayload, response, toggleSetting;
311
+ return _regenerator.default.wrap(function (_context7) {
312
+ while (1) switch (_context7.prev = _context7.next) {
313
+ case 0:
314
+ dndResponsePayload = {
315
+ statusCode: 200,
316
+ body: {
317
+ enabled: true
318
+ }
319
+ };
320
+ webex.request.mockResolvedValueOnce(dndResponsePayload);
321
+ _context7.next = 1;
322
+ return callSettingsClient.getDoNotDisturbSetting();
323
+ case 1:
324
+ response = _context7.sent;
325
+ toggleSetting = response.data.callSetting;
326
+ expect(response.statusCode).toBe(200);
327
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
328
+ expect(toggleSetting.enabled).toBe(true);
329
+ expect(webex.request).toBeCalledOnceWith({
330
+ method: _types2.HTTP_METHODS.GET,
331
+ uri: uri
332
+ });
333
+ expect(infoSpy).toHaveBeenCalledWith(_constants.METHOD_START_MESSAGE, {
334
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
335
+ method: 'getDoNotDisturbSetting'
336
+ });
337
+ expect(logSpy).toHaveBeenCalledWith("Successfully got Do Not Disturb settings, personId: ".concat(personId), {
338
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
339
+ method: 'getDoNotDisturbSetting'
340
+ });
341
+ expect(errorSpy).not.toHaveBeenCalled();
342
+ case 2:
343
+ case "end":
344
+ return _context7.stop();
345
+ }
346
+ }, _callee7);
347
+ })));
348
+ it('Error: Set DND setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
349
+ var dndRequestBody, response;
350
+ return _regenerator.default.wrap(function (_context8) {
351
+ while (1) switch (_context8.prev = _context8.next) {
352
+ case 0:
353
+ dndRequestBody = {
354
+ enabled: false,
355
+ ringSplashEnabled: false
356
+ };
357
+ webex.request.mockRejectedValueOnce(responsePayload400);
358
+ _context8.next = 1;
359
+ return callSettingsClient.setDoNotDisturbSetting(false);
360
+ case 1:
361
+ response = _context8.sent;
362
+ expect(response.statusCode).toBe(400);
363
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
364
+ expect(webex.request).toBeCalledOnceWith({
365
+ method: _types2.HTTP_METHODS.PUT,
366
+ uri: uri,
367
+ body: dndRequestBody
368
+ });
369
+ expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
370
+ statusCode: 400
371
+ }, {
372
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
373
+ method: 'setDoNotDisturbSetting'
374
+ });
375
+ case 2:
376
+ case "end":
377
+ return _context8.stop();
378
+ }
379
+ }, _callee8);
380
+ })));
381
+ it('Error: Get DND setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
382
+ var response;
383
+ return _regenerator.default.wrap(function (_context9) {
384
+ while (1) switch (_context9.prev = _context9.next) {
385
+ case 0:
386
+ webex.request.mockRejectedValueOnce(responsePayload403);
387
+ _context9.next = 1;
388
+ return callSettingsClient.getDoNotDisturbSetting();
389
+ case 1:
390
+ response = _context9.sent;
391
+ expect(response.statusCode).toBe(403);
392
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
393
+ expect(webex.request).toBeCalledOnceWith({
394
+ method: _types2.HTTP_METHODS.GET,
395
+ uri: uri
396
+ });
397
+ expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
398
+ statusCode: 403
399
+ }, {
400
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
401
+ method: 'getDoNotDisturbSetting'
402
+ });
403
+ expect(infoSpy).toHaveBeenCalledWith(_constants.METHOD_START_MESSAGE, {
404
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
405
+ method: 'getDoNotDisturbSetting'
406
+ });
407
+ expect(errorSpy).toHaveBeenCalled();
408
+ expect(logSpy).not.toHaveBeenCalled();
409
+ case 2:
410
+ case "end":
411
+ return _context9.stop();
412
+ }
413
+ }, _callee9);
414
+ })));
415
+ });
416
+ describe('Call Forward Test', function () {
417
+ var callSettingsClient;
418
+ var uri = "".concat(hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(personId, "/").concat(_constants2.CF_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(orgId);
419
+ beforeAll(function () {
420
+ callSettingsClient = new _WxCallBackendConnector.WxCallBackendConnector(webex, {
421
+ level: _types.LOGGER.INFO
422
+ });
423
+ });
424
+ it('Success: Set Call Forward setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
425
+ var response;
426
+ return _regenerator.default.wrap(function (_context0) {
427
+ while (1) switch (_context0.prev = _context0.next) {
428
+ case 0:
429
+ webex.request.mockResolvedValueOnce(responsePayload204);
430
+ _context0.next = 1;
431
+ return callSettingsClient.setCallForwardSetting(_testFixtures.callForwardPayload);
432
+ case 1:
433
+ response = _context0.sent;
434
+ expect(response.statusCode).toBe(204);
435
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
436
+ expect(webex.request).toBeCalledOnceWith({
437
+ method: _types2.HTTP_METHODS.PUT,
438
+ uri: uri,
439
+ body: _testFixtures.callForwardPayload
440
+ });
441
+ case 2:
442
+ case "end":
443
+ return _context0.stop();
444
+ }
445
+ }, _callee0);
446
+ })));
447
+ it('Success: Get Call Forward setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
448
+ var responsePayload, response, callForwardSetting;
449
+ return _regenerator.default.wrap(function (_context1) {
450
+ while (1) switch (_context1.prev = _context1.next) {
451
+ case 0:
452
+ responsePayload = {
453
+ statusCode: 200,
454
+ body: _testFixtures.callForwardPayload
455
+ };
456
+ webex.request.mockResolvedValueOnce(responsePayload);
457
+ _context1.next = 1;
458
+ return callSettingsClient.getCallForwardSetting();
459
+ case 1:
460
+ response = _context1.sent;
461
+ callForwardSetting = response.data.callSetting;
462
+ expect(response.statusCode).toBe(200);
463
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
464
+ expect(callForwardSetting).toEqual(_testFixtures.callForwardPayload);
465
+ expect(webex.request).toBeCalledOnceWith({
466
+ method: _types2.HTTP_METHODS.GET,
467
+ uri: uri
468
+ });
469
+ case 2:
470
+ case "end":
471
+ return _context1.stop();
472
+ }
473
+ }, _callee1);
474
+ })));
475
+ it('Error: Set Call Forwarding setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
476
+ var response;
477
+ return _regenerator.default.wrap(function (_context10) {
478
+ while (1) switch (_context10.prev = _context10.next) {
479
+ case 0:
480
+ webex.request.mockRejectedValueOnce(responsePayload400);
481
+ _context10.next = 1;
482
+ return callSettingsClient.setCallForwardSetting(_testFixtures.callForwardPayload);
483
+ case 1:
484
+ response = _context10.sent;
485
+ expect(response.statusCode).toBe(400);
486
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
487
+ expect(webex.request).toBeCalledOnceWith({
488
+ method: _types2.HTTP_METHODS.PUT,
489
+ uri: uri,
490
+ body: _testFixtures.callForwardPayload
491
+ });
492
+ expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
493
+ statusCode: 400
494
+ }, {
495
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
496
+ method: 'setCallForwardSetting'
497
+ });
498
+ case 2:
499
+ case "end":
500
+ return _context10.stop();
501
+ }
502
+ }, _callee10);
503
+ })));
504
+ it('Error: Get Call Forwarding setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11() {
505
+ var response;
506
+ return _regenerator.default.wrap(function (_context11) {
507
+ while (1) switch (_context11.prev = _context11.next) {
508
+ case 0:
509
+ webex.request.mockRejectedValueOnce(responsePayload403);
510
+ _context11.next = 1;
511
+ return callSettingsClient.getCallForwardSetting();
512
+ case 1:
513
+ response = _context11.sent;
514
+ expect(response.statusCode).toBe(403);
515
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
516
+ expect(webex.request).toBeCalledOnceWith({
517
+ method: _types2.HTTP_METHODS.GET,
518
+ uri: uri
519
+ });
520
+ expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
521
+ statusCode: 403
522
+ }, {
523
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
524
+ method: 'getCallForwardSetting'
525
+ });
526
+ case 2:
527
+ case "end":
528
+ return _context11.stop();
529
+ }
530
+ }, _callee11);
531
+ })));
532
+ });
533
+ describe('Voicemail Test', function () {
534
+ var callSettingsClient;
535
+ var uri = "".concat(hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(personId, "/").concat(_constants2.VM_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(orgId);
536
+ beforeAll(function () {
537
+ callSettingsClient = new _WxCallBackendConnector.WxCallBackendConnector(webex, {
538
+ level: _types.LOGGER.INFO
539
+ });
540
+ });
541
+ it('Success: Set Voicemail setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
542
+ var response;
543
+ return _regenerator.default.wrap(function (_context12) {
544
+ while (1) switch (_context12.prev = _context12.next) {
545
+ case 0:
546
+ webex.request.mockResolvedValueOnce(responsePayload204);
547
+ _context12.next = 1;
548
+ return callSettingsClient.setVoicemailSetting(_testFixtures.voicemailPayload);
549
+ case 1:
550
+ response = _context12.sent;
551
+ expect(response.statusCode).toBe(204);
552
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
553
+ expect(webex.request).toBeCalledOnceWith({
554
+ method: _types2.HTTP_METHODS.PUT,
555
+ uri: uri,
556
+ body: _testFixtures.voicemailPayload
557
+ });
558
+ case 2:
559
+ case "end":
560
+ return _context12.stop();
561
+ }
562
+ }, _callee12);
563
+ })));
564
+ it('Success: Get Voicemail setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13() {
565
+ var responsePayload, response, voicemailSetting;
566
+ return _regenerator.default.wrap(function (_context13) {
567
+ while (1) switch (_context13.prev = _context13.next) {
568
+ case 0:
569
+ responsePayload = {
570
+ statusCode: 200,
571
+ body: _testFixtures.voicemailPayload
572
+ };
573
+ webex.request.mockResolvedValueOnce(responsePayload);
574
+ _context13.next = 1;
575
+ return callSettingsClient.getVoicemailSetting();
576
+ case 1:
577
+ response = _context13.sent;
578
+ voicemailSetting = response.data.callSetting;
579
+ expect(response.statusCode).toBe(200);
580
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
581
+ expect(voicemailSetting).toBe(_testFixtures.voicemailPayload);
582
+ expect(webex.request).toBeCalledOnceWith({
583
+ method: _types2.HTTP_METHODS.GET,
584
+ uri: uri
585
+ });
586
+ case 2:
587
+ case "end":
588
+ return _context13.stop();
589
+ }
590
+ }, _callee13);
591
+ })));
592
+ it('Error: Set Voicemail setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
593
+ var response;
594
+ return _regenerator.default.wrap(function (_context14) {
595
+ while (1) switch (_context14.prev = _context14.next) {
596
+ case 0:
597
+ webex.request.mockRejectedValueOnce(responsePayload400);
598
+ _context14.next = 1;
599
+ return callSettingsClient.setVoicemailSetting(_testFixtures.voicemailPayload);
600
+ case 1:
601
+ response = _context14.sent;
602
+ expect(response.statusCode).toBe(400);
603
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
604
+ expect(webex.request).toBeCalledOnceWith({
605
+ method: _types2.HTTP_METHODS.PUT,
606
+ uri: uri,
607
+ body: _testFixtures.voicemailPayload
608
+ });
609
+ expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
610
+ statusCode: 400
611
+ }, {
612
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
613
+ method: 'setVoicemailSetting'
614
+ });
615
+ case 2:
616
+ case "end":
617
+ return _context14.stop();
618
+ }
619
+ }, _callee14);
620
+ })));
621
+ it('Error: Get Voicemail setting', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
622
+ var response;
623
+ return _regenerator.default.wrap(function (_context15) {
624
+ while (1) switch (_context15.prev = _context15.next) {
625
+ case 0:
626
+ webex.request.mockRejectedValueOnce(responsePayload403);
627
+ _context15.next = 1;
628
+ return callSettingsClient.getVoicemailSetting();
629
+ case 1:
630
+ response = _context15.sent;
631
+ expect(response.statusCode).toBe(403);
632
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
633
+ expect(webex.request).toBeCalledOnceWith({
634
+ method: _types2.HTTP_METHODS.GET,
635
+ uri: uri
636
+ });
637
+ expect(serviceErrorCodeHandlerSpy).toBeCalledOnceWith({
638
+ statusCode: 403
639
+ }, {
640
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
641
+ method: 'getVoicemailSetting'
642
+ });
643
+ case 2:
644
+ case "end":
645
+ return _context15.stop();
646
+ }
647
+ }, _callee15);
648
+ })));
649
+ });
650
+ describe('Call Forward Always test', function () {
651
+ var callSettingsClient;
652
+ var callForwardingUri = "".concat(hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(personId, "/").concat(_constants2.CF_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(orgId);
653
+ var voicemailUri = "".concat(hydraEndpoint, "/").concat(_constants2.PEOPLE_ENDPOINT, "/").concat(personId, "/").concat(_constants2.VM_ENDPOINT, "?").concat(_constants2.ORG_ENDPOINT, "=").concat(orgId);
654
+ beforeAll(function () {
655
+ callSettingsClient = new _WxCallBackendConnector.WxCallBackendConnector(webex, {
656
+ level: _types.LOGGER.INFO
657
+ });
658
+ });
659
+ it('Success: Get Call Forward Always setting when set to destination', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
660
+ var responsePayload, response, callForwardSetting;
661
+ return _regenerator.default.wrap(function (_context16) {
662
+ while (1) switch (_context16.prev = _context16.next) {
663
+ case 0:
664
+ responsePayload = {
665
+ statusCode: 200,
666
+ body: _testFixtures.callForwardPayload
667
+ };
668
+ webex.request.mockResolvedValueOnce(responsePayload);
669
+ _context16.next = 1;
670
+ return callSettingsClient.getCallForwardAlwaysSetting();
671
+ case 1:
672
+ response = _context16.sent;
673
+ callForwardSetting = response.data.callSetting;
674
+ expect(response.statusCode).toBe(200);
675
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
676
+ expect(callForwardSetting.enabled).toBe(true);
677
+ expect(callForwardSetting.destination).toBe('123456789');
678
+ expect(webex.request).toBeCalledOnceWith({
679
+ method: _types2.HTTP_METHODS.GET,
680
+ uri: callForwardingUri
681
+ });
682
+ case 2:
683
+ case "end":
684
+ return _context16.stop();
685
+ }
686
+ }, _callee16);
687
+ })));
688
+ it('Success: Get Call Forward Always setting in Fedramp with limited options in payload', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17() {
689
+ var responsePayload, voicemailResponsePayload, response, callSetting;
690
+ return _regenerator.default.wrap(function (_context17) {
691
+ while (1) switch (_context17.prev = _context17.next) {
692
+ case 0:
693
+ responsePayload = {
694
+ statusCode: 200,
695
+ body: {
696
+ callForwarding: {
697
+ always: {
698
+ enabled: false,
699
+ destination: '+13015554270',
700
+ ringReminderEnabled: false,
701
+ destinationVoicemailEnabled: true
702
+ },
703
+ busy: {
704
+ enabled: false,
705
+ destinationVoicemailEnabled: false
706
+ },
707
+ noAnswer: {
708
+ enabled: false,
709
+ numberOfRings: 3,
710
+ systemMaxNumberOfRings: 20,
711
+ destinationVoicemailEnabled: false
712
+ }
713
+ },
714
+ businessContinuity: {
715
+ enabled: false,
716
+ destination: '+13015554270',
717
+ destinationVoicemailEnabled: true
718
+ }
719
+ }
720
+ };
721
+ voicemailResponsePayload = {
722
+ statusCode: 200,
723
+ body: {
724
+ enabled: true,
725
+ voiceMessageForwardingEnabled: true
726
+ }
727
+ };
728
+ webex.request.mockResolvedValueOnce(responsePayload).mockResolvedValueOnce(voicemailResponsePayload);
729
+ _context17.next = 1;
730
+ return callSettingsClient.getCallForwardAlwaysSetting();
731
+ case 1:
732
+ response = _context17.sent;
733
+ callSetting = response.data.callSetting;
734
+ expect(response.statusCode).toBe(200);
735
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
736
+ expect(callSetting.destination).toBe(undefined);
737
+ expect(callSetting.enabled).toBe(false);
738
+ expect(callSetting.destinationVoicemailEnabled).toBe(true);
739
+ expect(callSetting.ringReminderEnabled).toBe(false);
740
+ expect(webex.request).toBeCalledTimes(2);
741
+ expect(webex.request).toBeCalledWith({
742
+ method: _types2.HTTP_METHODS.GET,
743
+ uri: callForwardingUri
744
+ });
745
+ expect(webex.request).toBeCalledWith({
746
+ method: _types2.HTTP_METHODS.GET,
747
+ uri: voicemailUri
748
+ });
749
+ case 2:
750
+ case "end":
751
+ return _context17.stop();
752
+ }
753
+ }, _callee17);
754
+ })));
755
+ it('Success: Get Call Forward Always setting when set to disabled and voicemail request fails', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
756
+ var responsePayload, response;
757
+ return _regenerator.default.wrap(function (_context18) {
758
+ while (1) switch (_context18.prev = _context18.next) {
759
+ case 0:
760
+ _testFixtures.callForwardPayload.callForwarding.always.enabled = false;
761
+ responsePayload = {
762
+ statusCode: 200,
763
+ body: _testFixtures.callForwardPayload
764
+ };
765
+ webex.request.mockResolvedValueOnce(responsePayload).mockRejectedValueOnce({
766
+ statusCode: 503
767
+ });
768
+ _context18.next = 1;
769
+ return callSettingsClient.getCallForwardAlwaysSetting();
770
+ case 1:
771
+ response = _context18.sent;
772
+ expect(response.statusCode).toBe(503);
773
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
774
+ expect(response.data.error).toBe('Unable to retrieve voicemail settings.');
775
+ expect(webex.request).toBeCalledTimes(2);
776
+ expect(webex.request).toBeCalledWith({
777
+ method: _types2.HTTP_METHODS.GET,
778
+ uri: callForwardingUri
779
+ });
780
+ expect(webex.request).toBeCalledWith({
781
+ method: _types2.HTTP_METHODS.GET,
782
+ uri: voicemailUri
783
+ });
784
+ expect(warnSpy).toBeCalledTimes(2);
785
+ expect(warnSpy).toBeCalledWith('503 Unable to establish a connection with the server', {
786
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
787
+ method: callSettingsClient.getVoicemailSetting.name
788
+ });
789
+ expect(warnSpy).toBeCalledWith('Unable to retrieve voicemail settings.', {
790
+ file: _constants.WEBEX_CALLING_CONNECTOR_FILE,
791
+ method: callSettingsClient.getCallForwardAlwaysSetting.name
792
+ });
793
+ case 2:
794
+ case "end":
795
+ return _context18.stop();
796
+ }
797
+ }, _callee18);
798
+ })));
799
+ it('Success: Get Call Forward Always setting when set to voicemail', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
800
+ var responsePayload, response, callForwardSetting;
801
+ return _regenerator.default.wrap(function (_context19) {
802
+ while (1) switch (_context19.prev = _context19.next) {
803
+ case 0:
804
+ _testFixtures.callForwardPayload.callForwarding.always.enabled = false;
805
+ responsePayload = {
806
+ statusCode: 200,
807
+ body: _testFixtures.callForwardPayload
808
+ };
809
+ webex.request.mockResolvedValueOnce(responsePayload).mockResolvedValueOnce({
810
+ statusCode: 200,
811
+ body: _testFixtures.voicemailPayload
812
+ });
813
+ _context19.next = 1;
814
+ return callSettingsClient.getCallForwardAlwaysSetting();
815
+ case 1:
816
+ response = _context19.sent;
817
+ callForwardSetting = response.data.callSetting;
818
+ expect(response.statusCode).toBe(200);
819
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
820
+ expect(callForwardSetting.enabled).toBe(true);
821
+ expect(callForwardSetting.destination).toBe('VOICEMAIL');
822
+ expect(webex.request).toBeCalledTimes(2);
823
+ expect(webex.request).toBeCalledWith({
824
+ method: _types2.HTTP_METHODS.GET,
825
+ uri: callForwardingUri
826
+ });
827
+ expect(webex.request).toBeCalledWith({
828
+ method: _types2.HTTP_METHODS.GET,
829
+ uri: voicemailUri
830
+ });
831
+ case 2:
832
+ case "end":
833
+ return _context19.stop();
834
+ }
835
+ }, _callee19);
836
+ })));
837
+ it('Success: Get Call Forward Always setting when not set', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20() {
838
+ var responsePayload, response, callForwardSetting;
839
+ return _regenerator.default.wrap(function (_context20) {
840
+ while (1) switch (_context20.prev = _context20.next) {
841
+ case 0:
842
+ _testFixtures.callForwardPayload.callForwarding.always.enabled = false;
843
+ _testFixtures.callForwardPayload.callForwarding.always.destination = '';
844
+ responsePayload = {
845
+ statusCode: 200,
846
+ body: _testFixtures.callForwardPayload
847
+ };
848
+ _testFixtures.voicemailPayload.sendAllCalls.enabled = false;
849
+ webex.request.mockResolvedValueOnce(responsePayload).mockResolvedValueOnce({
850
+ statusCode: 200,
851
+ body: _testFixtures.voicemailPayload
852
+ });
853
+ _context20.next = 1;
854
+ return callSettingsClient.getCallForwardAlwaysSetting();
855
+ case 1:
856
+ response = _context20.sent;
857
+ callForwardSetting = response.data.callSetting;
858
+ expect(response.statusCode).toBe(200);
859
+ expect(response.message).toBe(_constants.SUCCESS_MESSAGE);
860
+ expect(callForwardSetting.enabled).toBe(false);
861
+ expect(callForwardSetting.destination).toBeFalsy();
862
+ expect(webex.request).toBeCalledTimes(2);
863
+ expect(webex.request).toBeCalledWith({
864
+ method: _types2.HTTP_METHODS.GET,
865
+ uri: callForwardingUri
866
+ });
867
+ expect(webex.request).toBeCalledWith({
868
+ method: _types2.HTTP_METHODS.GET,
869
+ uri: voicemailUri
870
+ });
871
+ case 2:
872
+ case "end":
873
+ return _context20.stop();
874
+ }
875
+ }, _callee20);
876
+ })));
877
+ it('Failure: Get Call Forward Always setting fails', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
878
+ var responsePayload, response;
879
+ return _regenerator.default.wrap(function (_context21) {
880
+ while (1) switch (_context21.prev = _context21.next) {
881
+ case 0:
882
+ responsePayload = {
883
+ statusCode: 503
884
+ };
885
+ webex.request.mockRejectedValueOnce(responsePayload);
886
+ _context21.next = 1;
887
+ return callSettingsClient.getCallForwardAlwaysSetting();
888
+ case 1:
889
+ response = _context21.sent;
890
+ expect(response.statusCode).toBe(503);
891
+ expect(response.message).toBe(_constants.FAILURE_MESSAGE);
892
+ expect(webex.request).toBeCalledOnceWith({
893
+ method: _types2.HTTP_METHODS.GET,
894
+ uri: callForwardingUri
895
+ });
896
+ case 2:
897
+ case "end":
898
+ return _context21.stop();
899
+ }
900
+ }, _callee21);
901
+ })));
902
+ });
903
+ });
904
+ //# sourceMappingURL=WxCallBackendConnector.test.js.map