@webex/calling 0.0.1-next.9 → 3.0.0-next.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 (281) hide show
  1. package/dist/CallHistory/CallHistory.js +203 -0
  2. package/dist/CallHistory/CallHistory.js.map +1 -0
  3. package/dist/CallHistory/CallHistory.test.js +133 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -0
  5. package/dist/CallHistory/callHistoryFixtures.js +310 -0
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
  7. package/dist/CallHistory/constants.js +26 -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 +276 -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 +217 -0
  16. package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
  17. package/dist/CallSettings/UcmBackendConnector.test.js +227 -0
  18. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
  19. package/dist/CallSettings/WxCallBackendConnector.js +541 -0
  20. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
  21. package/dist/CallSettings/WxCallBackendConnector.test.js +802 -0
  22. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
  23. package/dist/CallSettings/constants.js +30 -0
  24. package/dist/CallSettings/constants.js.map +1 -0
  25. package/dist/CallSettings/testFixtures.js +72 -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 +572 -0
  30. package/dist/CallingClient/CallingClient.js.map +1 -0
  31. package/dist/CallingClient/CallingClient.test.js +931 -0
  32. package/dist/CallingClient/CallingClient.test.js.map +1 -0
  33. package/dist/CallingClient/callRecordFixtures.js +103 -0
  34. package/dist/CallingClient/callRecordFixtures.js.map +1 -0
  35. package/dist/CallingClient/calling/CallerId/index.js +287 -0
  36. package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
  37. package/dist/CallingClient/calling/CallerId/index.test.js +274 -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 +2995 -0
  42. package/dist/CallingClient/calling/call.js.map +1 -0
  43. package/dist/CallingClient/calling/call.test.js +2614 -0
  44. package/dist/CallingClient/calling/call.test.js.map +1 -0
  45. package/dist/CallingClient/calling/callManager.js +443 -0
  46. package/dist/CallingClient/calling/callManager.js.map +1 -0
  47. package/dist/CallingClient/calling/callManager.test.js +683 -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 +71 -0
  52. package/dist/CallingClient/calling/types.js.map +1 -0
  53. package/dist/CallingClient/callingClientFixtures.js +53 -0
  54. package/dist/CallingClient/callingClientFixtures.js.map +1 -0
  55. package/dist/CallingClient/constants.js +226 -0
  56. package/dist/CallingClient/constants.js.map +1 -0
  57. package/dist/CallingClient/line/index.js +312 -0
  58. package/dist/CallingClient/line/index.js.map +1 -0
  59. package/dist/CallingClient/line/line.test.js +270 -0
  60. package/dist/CallingClient/line/line.test.js.map +1 -0
  61. package/dist/CallingClient/line/types.js +25 -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 +1295 -0
  66. package/dist/CallingClient/registration/register.js.map +1 -0
  67. package/dist/CallingClient/registration/register.test.js +838 -0
  68. package/dist/CallingClient/registration/register.test.js.map +1 -0
  69. package/dist/CallingClient/registration/registerFixtures.js +41 -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/types.js +7 -0
  74. package/dist/CallingClient/types.js.map +1 -0
  75. package/dist/Contacts/ContactsClient.js +1139 -0
  76. package/dist/Contacts/ContactsClient.js.map +1 -0
  77. package/dist/Contacts/ContactsClient.test.js +725 -0
  78. package/dist/Contacts/ContactsClient.test.js.map +1 -0
  79. package/dist/Contacts/constants.js +36 -0
  80. package/dist/Contacts/constants.js.map +1 -0
  81. package/dist/Contacts/contactFixtures.js +340 -0
  82. package/dist/Contacts/contactFixtures.js.map +1 -0
  83. package/dist/Contacts/types.js +20 -0
  84. package/dist/Contacts/types.js.map +1 -0
  85. package/dist/Errors/catalog/CallError.js +94 -0
  86. package/dist/Errors/catalog/CallError.js.map +1 -0
  87. package/dist/Errors/catalog/CallingDeviceError.js +88 -0
  88. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
  89. package/dist/Errors/catalog/ExtendedError.js +45 -0
  90. package/dist/Errors/catalog/ExtendedError.js.map +1 -0
  91. package/dist/Errors/catalog/LineError.js +90 -0
  92. package/dist/Errors/catalog/LineError.js.map +1 -0
  93. package/dist/Errors/index.js +21 -0
  94. package/dist/Errors/index.js.map +1 -0
  95. package/dist/Errors/types.js +62 -0
  96. package/dist/Errors/types.js.map +1 -0
  97. package/dist/Events/impl/index.js +82 -0
  98. package/dist/Events/impl/index.js.map +1 -0
  99. package/dist/Events/types.js +111 -0
  100. package/dist/Events/types.js.map +1 -0
  101. package/dist/Logger/index.js +221 -0
  102. package/dist/Logger/index.js.map +1 -0
  103. package/dist/Logger/index.test.js +62 -0
  104. package/dist/Logger/index.test.js.map +1 -0
  105. package/dist/Logger/types.js +37 -0
  106. package/dist/Logger/types.js.map +1 -0
  107. package/dist/Metrics/index.js +329 -0
  108. package/dist/Metrics/index.js.map +1 -0
  109. package/dist/Metrics/index.test.js +291 -0
  110. package/dist/Metrics/index.test.js.map +1 -0
  111. package/dist/Metrics/types.js +50 -0
  112. package/dist/Metrics/types.js.map +1 -0
  113. package/dist/SDKConnector/index.js +105 -0
  114. package/dist/SDKConnector/index.js.map +1 -0
  115. package/dist/SDKConnector/index.test.js +9 -0
  116. package/dist/SDKConnector/index.test.js.map +1 -0
  117. package/dist/SDKConnector/types.js +7 -0
  118. package/dist/SDKConnector/types.js.map +1 -0
  119. package/dist/SDKConnector/utils.js +40 -0
  120. package/dist/SDKConnector/utils.js.map +1 -0
  121. package/dist/SDKConnector/utils.test.js +9 -0
  122. package/dist/SDKConnector/utils.test.js.map +1 -0
  123. package/dist/Voicemail/BroadworksBackendConnector.js +632 -0
  124. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
  125. package/dist/Voicemail/BroadworksBackendConnector.test.js +733 -0
  126. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
  127. package/dist/Voicemail/UcmBackendConnector.js +566 -0
  128. package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
  129. package/dist/Voicemail/UcmBackendConnector.test.js +628 -0
  130. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
  131. package/dist/Voicemail/Voicemail.js +378 -0
  132. package/dist/Voicemail/Voicemail.js.map +1 -0
  133. package/dist/Voicemail/Voicemail.test.js +226 -0
  134. package/dist/Voicemail/Voicemail.test.js.map +1 -0
  135. package/dist/Voicemail/WxCallBackendConnector.js +540 -0
  136. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
  137. package/dist/Voicemail/WxCallBackendConnector.test.js +942 -0
  138. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
  139. package/dist/Voicemail/constants.js +66 -0
  140. package/dist/Voicemail/constants.js.map +1 -0
  141. package/dist/Voicemail/types.js +7 -0
  142. package/dist/Voicemail/types.js.map +1 -0
  143. package/dist/Voicemail/voicemailFixture.js +559 -0
  144. package/dist/Voicemail/voicemailFixture.js.map +1 -0
  145. package/dist/api.js +134 -0
  146. package/dist/api.js.map +1 -0
  147. package/dist/common/Utils.js +1264 -0
  148. package/dist/common/Utils.js.map +1 -0
  149. package/dist/common/Utils.test.js +1227 -0
  150. package/dist/common/Utils.test.js.map +1 -0
  151. package/dist/common/constants.js +90 -0
  152. package/dist/common/constants.js.map +1 -0
  153. package/dist/common/index.js +19 -0
  154. package/dist/common/index.js.map +1 -0
  155. package/dist/common/testUtil.js +968 -0
  156. package/dist/common/testUtil.js.map +1 -0
  157. package/dist/common/types.js +75 -0
  158. package/dist/common/types.js.map +1 -0
  159. package/dist/index.js +63 -0
  160. package/dist/index.js.map +1 -0
  161. package/dist/types/CallHistory/CallHistory.d.ts +18 -0
  162. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -0
  163. package/dist/types/CallHistory/callHistoryFixtures.d.ts +95 -0
  164. package/dist/types/CallHistory/callHistoryFixtures.d.ts.map +1 -0
  165. package/dist/types/CallHistory/constants.d.ts +10 -0
  166. package/dist/types/CallHistory/constants.d.ts.map +1 -0
  167. package/dist/types/CallHistory/types.d.ts +19 -0
  168. package/dist/types/CallHistory/types.d.ts.map +1 -0
  169. package/dist/types/CallSettings/CallSettings.d.ts +20 -0
  170. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -0
  171. package/dist/types/CallSettings/UcmBackendConnector.d.ts +20 -0
  172. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -0
  173. package/dist/types/CallSettings/WxCallBackendConnector.d.ts +22 -0
  174. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -0
  175. package/dist/types/CallSettings/constants.d.ts +12 -0
  176. package/dist/types/CallSettings/constants.d.ts.map +1 -0
  177. package/dist/types/CallSettings/testFixtures.d.ts +16 -0
  178. package/dist/types/CallSettings/testFixtures.d.ts.map +1 -0
  179. package/dist/types/CallSettings/types.d.ts +108 -0
  180. package/dist/types/CallSettings/types.d.ts.map +1 -0
  181. package/dist/types/CallingClient/CallingClient.d.ts +36 -0
  182. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -0
  183. package/dist/types/CallingClient/callRecordFixtures.d.ts +4 -0
  184. package/dist/types/CallingClient/callRecordFixtures.d.ts.map +1 -0
  185. package/dist/types/CallingClient/calling/CallerId/index.d.ts +18 -0
  186. package/dist/types/CallingClient/calling/CallerId/index.d.ts.map +1 -0
  187. package/dist/types/CallingClient/calling/CallerId/types.d.ts +42 -0
  188. package/dist/types/CallingClient/calling/CallerId/types.d.ts.map +1 -0
  189. package/dist/types/CallingClient/calling/call.d.ts +97 -0
  190. package/dist/types/CallingClient/calling/call.d.ts.map +1 -0
  191. package/dist/types/CallingClient/calling/callManager.d.ts +26 -0
  192. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -0
  193. package/dist/types/CallingClient/calling/index.d.ts +3 -0
  194. package/dist/types/CallingClient/calling/index.d.ts.map +1 -0
  195. package/dist/types/CallingClient/calling/types.d.ts +207 -0
  196. package/dist/types/CallingClient/calling/types.d.ts.map +1 -0
  197. package/dist/types/CallingClient/callingClientFixtures.d.ts +19 -0
  198. package/dist/types/CallingClient/callingClientFixtures.d.ts.map +1 -0
  199. package/dist/types/CallingClient/constants.d.ts +123 -0
  200. package/dist/types/CallingClient/constants.d.ts.map +1 -0
  201. package/dist/types/CallingClient/line/index.d.ts +44 -0
  202. package/dist/types/CallingClient/line/index.d.ts.map +1 -0
  203. package/dist/types/CallingClient/line/types.d.ts +56 -0
  204. package/dist/types/CallingClient/line/types.d.ts.map +1 -0
  205. package/dist/types/CallingClient/registration/index.d.ts +2 -0
  206. package/dist/types/CallingClient/registration/index.d.ts.map +1 -0
  207. package/dist/types/CallingClient/registration/register.d.ts +65 -0
  208. package/dist/types/CallingClient/registration/register.d.ts.map +1 -0
  209. package/dist/types/CallingClient/registration/registerFixtures.d.ts +29 -0
  210. package/dist/types/CallingClient/registration/registerFixtures.d.ts.map +1 -0
  211. package/dist/types/CallingClient/registration/types.d.ts +21 -0
  212. package/dist/types/CallingClient/registration/types.d.ts.map +1 -0
  213. package/dist/types/CallingClient/types.d.ts +30 -0
  214. package/dist/types/CallingClient/types.d.ts.map +1 -0
  215. package/dist/types/Contacts/ContactsClient.d.ts +27 -0
  216. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -0
  217. package/dist/types/Contacts/constants.d.ts +20 -0
  218. package/dist/types/Contacts/constants.d.ts.map +1 -0
  219. package/dist/types/Contacts/contactFixtures.d.ts +281 -0
  220. package/dist/types/Contacts/contactFixtures.d.ts.map +1 -0
  221. package/dist/types/Contacts/types.d.ts +73 -0
  222. package/dist/types/Contacts/types.d.ts.map +1 -0
  223. package/dist/types/Errors/catalog/CallError.d.ts +12 -0
  224. package/dist/types/Errors/catalog/CallError.d.ts.map +1 -0
  225. package/dist/types/Errors/catalog/CallingDeviceError.d.ts +11 -0
  226. package/dist/types/Errors/catalog/CallingDeviceError.d.ts.map +1 -0
  227. package/dist/types/Errors/catalog/ExtendedError.d.ts +7 -0
  228. package/dist/types/Errors/catalog/ExtendedError.d.ts.map +1 -0
  229. package/dist/types/Errors/catalog/LineError.d.ts +11 -0
  230. package/dist/types/Errors/catalog/LineError.d.ts.map +1 -0
  231. package/dist/types/Errors/index.d.ts +3 -0
  232. package/dist/types/Errors/index.d.ts.map +1 -0
  233. package/dist/types/Errors/types.d.ts +61 -0
  234. package/dist/types/Errors/types.d.ts.map +1 -0
  235. package/dist/types/Events/impl/index.d.ts +9 -0
  236. package/dist/types/Events/impl/index.d.ts.map +1 -0
  237. package/dist/types/Events/types.d.ts +289 -0
  238. package/dist/types/Events/types.d.ts.map +1 -0
  239. package/dist/types/Logger/index.d.ts +13 -0
  240. package/dist/types/Logger/index.d.ts.map +1 -0
  241. package/dist/types/Logger/types.d.ts +26 -0
  242. package/dist/types/Logger/types.d.ts.map +1 -0
  243. package/dist/types/Metrics/index.d.ts +6 -0
  244. package/dist/types/Metrics/index.d.ts.map +1 -0
  245. package/dist/types/Metrics/types.d.ts +43 -0
  246. package/dist/types/Metrics/types.d.ts.map +1 -0
  247. package/dist/types/SDKConnector/index.d.ts +13 -0
  248. package/dist/types/SDKConnector/index.d.ts.map +1 -0
  249. package/dist/types/SDKConnector/types.d.ts +129 -0
  250. package/dist/types/SDKConnector/types.d.ts.map +1 -0
  251. package/dist/types/SDKConnector/utils.d.ts +6 -0
  252. package/dist/types/SDKConnector/utils.d.ts.map +1 -0
  253. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts +28 -0
  254. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -0
  255. package/dist/types/Voicemail/UcmBackendConnector.d.ts +35 -0
  256. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -0
  257. package/dist/types/Voicemail/Voicemail.d.ts +28 -0
  258. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -0
  259. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +24 -0
  260. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -0
  261. package/dist/types/Voicemail/constants.d.ts +30 -0
  262. package/dist/types/Voicemail/constants.d.ts.map +1 -0
  263. package/dist/types/Voicemail/types.d.ts +134 -0
  264. package/dist/types/Voicemail/types.d.ts.map +1 -0
  265. package/dist/types/Voicemail/voicemailFixture.d.ts +418 -0
  266. package/dist/types/Voicemail/voicemailFixture.d.ts.map +1 -0
  267. package/dist/types/api.d.ts +17 -0
  268. package/dist/types/api.d.ts.map +1 -0
  269. package/dist/types/common/Utils.d.ts +35 -0
  270. package/dist/types/common/Utils.d.ts.map +1 -0
  271. package/dist/types/common/constants.d.ts +42 -0
  272. package/dist/types/common/constants.d.ts.map +1 -0
  273. package/dist/types/common/index.d.ts +2 -0
  274. package/dist/types/common/index.d.ts.map +1 -0
  275. package/dist/types/common/testUtil.d.ts +3612 -0
  276. package/dist/types/common/testUtil.d.ts.map +1 -0
  277. package/dist/types/common/types.d.ts +192 -0
  278. package/dist/types/common/types.d.ts.map +1 -0
  279. package/dist/types/index.d.ts +9 -0
  280. package/dist/types/index.d.ts.map +1 -0
  281. package/package.json +1 -1
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
6
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
7
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
8
+ var _testUtil = require("../common/testUtil");
9
+ var _Voicemail = require("./Voicemail");
10
+ var _types = require("../Logger/types");
11
+ var _constants = require("../common/constants");
12
+ var _types2 = require("../common/types");
13
+ var _UcmBackendConnector = require("./UcmBackendConnector");
14
+ var _BroadworksBackendConnector = require("./BroadworksBackendConnector");
15
+ var _WxCallBackendConnector = require("./WxCallBackendConnector");
16
+ var _types3 = require("../Metrics/types");
17
+ var _voicemailFixture = require("./voicemailFixture");
18
+ describe('Voicemail Client tests', function () {
19
+ var webex = (0, _testUtil.getTestUtilsWebex)();
20
+ describe('createVoicemailClient tests', function () {
21
+ /**
22
+ * TestCase inputs
23
+ * name: TestCase name
24
+ * callingBehavior: Calling profile
25
+ * entitlement: Entitlement
26
+ * valid: expected result for vm client creation with given inputs.
27
+ */
28
+ var testData = [{
29
+ name: 'verify valid ucm voicemail client',
30
+ callingBehavior: _constants.NATIVE_SIP_CALL_TO_UCM,
31
+ entitlement: 'none',
32
+ valid: true
33
+ }, {
34
+ name: 'verify valid wxc voicemail client with basic entitlement',
35
+ callingBehavior: _constants.NATIVE_WEBEX_TEAMS_CALLING,
36
+ entitlement: _constants.ENTITLEMENT_BASIC,
37
+ valid: true
38
+ }, {
39
+ name: 'verify valid wxc voicemail client with standard entitlement',
40
+ callingBehavior: _constants.NATIVE_WEBEX_TEAMS_CALLING,
41
+ entitlement: _constants.ENTITLEMENT_STANDARD,
42
+ valid: true
43
+ }, {
44
+ name: 'verify valid wxc voicemail client with broadworks entitlement',
45
+ callingBehavior: _constants.NATIVE_WEBEX_TEAMS_CALLING,
46
+ entitlement: _constants.ENTITLEMENT_BROADWORKS_CONN,
47
+ valid: true
48
+ }, {
49
+ name: 'verify invalid callingBehavior',
50
+ callingBehavior: 'INVALID',
51
+ entitlement: _constants.ENTITLEMENT_BASIC,
52
+ valid: false
53
+ }, {
54
+ name: 'verify invalid entitlement for wxc voicemail client',
55
+ callingBehavior: _constants.NATIVE_WEBEX_TEAMS_CALLING,
56
+ entitlement: 'invalid',
57
+ valid: false
58
+ }].map(function (stat) {
59
+ return (0, _assign.default)(stat, {
60
+ toString: function toString() {
61
+ /* eslint-disable dot-notation */
62
+ return this['name'];
63
+ }
64
+ });
65
+ });
66
+ it.each(testData)('%s', /*#__PURE__*/function () {
67
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
68
+ var voicemailClient, connectorResponse, contactResponse;
69
+ return _regenerator.default.wrap(function _callee$(_context) {
70
+ while (1) switch (_context.prev = _context.next) {
71
+ case 0:
72
+ webex.internal.device.callingBehavior = data.callingBehavior;
73
+ webex.internal.device.features.entitlement.models = [{
74
+ _values: {
75
+ key: data.entitlement
76
+ }
77
+ }];
78
+ if (!data.valid) {
79
+ _context.next = 23;
80
+ break;
81
+ }
82
+ voicemailClient = (0, _Voicemail.createVoicemailClient)(webex, {
83
+ level: _types.LOGGER.INFO
84
+ });
85
+ voicemailClient['backendConnector'].init = jest.fn(function () {
86
+ return _promise.default.resolve({});
87
+ });
88
+ voicemailClient['backendConnector'].resolveContact = jest.fn(function () {
89
+ return _promise.default.resolve({});
90
+ });
91
+ connectorResponse = voicemailClient.init();
92
+ contactResponse = voicemailClient.resolveContact(_voicemailFixture.resolveContactArgs);
93
+ expect(voicemailClient).toBeTruthy();
94
+ expect(voicemailClient.getSDKConnector().getWebex()).toBeTruthy();
95
+ expect(connectorResponse).toBeTruthy();
96
+ expect(contactResponse).toBeTruthy();
97
+ _context.t0 = data.callingBehavior;
98
+ _context.next = _context.t0 === _constants.NATIVE_SIP_CALL_TO_UCM ? 15 : _context.t0 === _constants.NATIVE_WEBEX_TEAMS_CALLING ? 18 : 20;
99
+ break;
100
+ case 15:
101
+ expect(voicemailClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.UCM);
102
+ expect(voicemailClient['backendConnector']).toBeInstanceOf(_UcmBackendConnector.UcmBackendConnector);
103
+ return _context.abrupt("break", 21);
104
+ case 18:
105
+ if (data.entitlement === _constants.ENTITLEMENT_BROADWORKS_CONN) {
106
+ expect(voicemailClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.BWRKS);
107
+ expect(voicemailClient['backendConnector']).toBeInstanceOf(_BroadworksBackendConnector.BroadworksBackendConnector);
108
+ } else {
109
+ /* entitlement basic and standard */
110
+ expect(voicemailClient['callingBackend']).toStrictEqual(_types2.CALLING_BACKEND.WXC);
111
+ expect(voicemailClient['backendConnector']).toBeInstanceOf(_WxCallBackendConnector.WxCallBackendConnector);
112
+ }
113
+ return _context.abrupt("break", 21);
114
+ case 20:
115
+ fail('Unknown calling backend type.');
116
+ case 21:
117
+ _context.next = 24;
118
+ break;
119
+ case 23:
120
+ expect(function () {
121
+ (0, _Voicemail.createVoicemailClient)(webex, {
122
+ level: _types.LOGGER.INFO
123
+ });
124
+ }).toThrowError('Calling backend is not identified, exiting....');
125
+ case 24:
126
+ case "end":
127
+ return _context.stop();
128
+ }
129
+ }, _callee);
130
+ }));
131
+ return function (_x) {
132
+ return _ref.apply(this, arguments);
133
+ };
134
+ }());
135
+ });
136
+ describe('voicemail metrics test', function () {
137
+ webex.internal.device.callingBehavior = _constants.NATIVE_WEBEX_TEAMS_CALLING;
138
+ webex.internal.device.features.entitlement.models = [{
139
+ _values: {
140
+ key: _constants.ENTITLEMENT_STANDARD
141
+ }
142
+ }];
143
+ var voicemailClient = (0, _Voicemail.createVoicemailClient)(webex, {
144
+ level: _types.LOGGER.INFO
145
+ });
146
+ var messageId = '/v2.0/user/08cedee9-296f-4aaf-bd4b-e14f2399abdf/VoiceMessagingMessages/ec8c3baf-afe4-4cef-b02f-19026b9e039c';
147
+ var metricSpy = jest.spyOn(voicemailClient['metricManager'], 'submitVoicemailMetric');
148
+ voicemailClient['backendConnector'] = {
149
+ getVoicemailList: jest.fn(),
150
+ getVoicemailContent: jest.fn(),
151
+ getVoicemailSummary: jest.fn(),
152
+ voicemailMarkAsRead: jest.fn(),
153
+ voicemailMarkAsUnread: jest.fn(),
154
+ deleteVoicemail: jest.fn(),
155
+ getVMTranscript: jest.fn(),
156
+ resolveContact: jest.fn()
157
+ };
158
+ var testData = [{
159
+ metricAction: _types3.VOICEMAIL_ACTION.GET_VOICEMAILS,
160
+ method: voicemailClient.getVoicemailList.name
161
+ }, {
162
+ metricAction: _types3.VOICEMAIL_ACTION.GET_VOICEMAIL_CONTENT,
163
+ method: voicemailClient.getVoicemailContent.name
164
+ }, {
165
+ metricAction: _types3.VOICEMAIL_ACTION.MARK_READ,
166
+ method: voicemailClient.voicemailMarkAsRead.name
167
+ }, {
168
+ metricAction: _types3.VOICEMAIL_ACTION.MARK_UNREAD,
169
+ method: voicemailClient.voicemailMarkAsUnread.name
170
+ }, {
171
+ metricAction: _types3.VOICEMAIL_ACTION.DELETE,
172
+ method: voicemailClient.deleteVoicemail.name
173
+ }, {
174
+ metricAction: _types3.VOICEMAIL_ACTION.TRANSCRIPT,
175
+ method: voicemailClient.getVMTranscript.name
176
+ }, {
177
+ metricAction: _types3.VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY,
178
+ method: voicemailClient.getVoicemailSummary.name
179
+ }].map(function (stat) {
180
+ return (0, _assign.default)(stat, {
181
+ toString: function toString() {
182
+ return "test ".concat(this['method'], " with metrics");
183
+ }
184
+ });
185
+ });
186
+ it.each(testData)('%s', /*#__PURE__*/function () {
187
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(data) {
188
+ var response, args, errorMessage, errorCode;
189
+ return _regenerator.default.wrap(function _callee2$(_context2) {
190
+ while (1) switch (_context2.prev = _context2.next) {
191
+ case 0:
192
+ response = {
193
+ statusCode: 204,
194
+ message: 'SUCCESS',
195
+ data: {}
196
+ };
197
+ args = data.metricAction === _types3.VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY && [] || data.metricAction === _types3.VOICEMAIL_ACTION.GET_VOICEMAILS ? [0, 0, _types2.SORT.ASC] : [messageId];
198
+ voicemailClient['backendConnector'][data.method].mockResolvedValue(response);
199
+ _context2.next = 5;
200
+ return voicemailClient[data.method].apply(voicemailClient, args);
201
+ case 5:
202
+ expect(metricSpy).toBeCalledOnceWith(_types3.METRIC_EVENT.VOICEMAIL, data.metricAction, _types3.METRIC_TYPE.BEHAVIORAL, [_types3.VOICEMAIL_ACTION.GET_VOICEMAILS, _types3.VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY].includes(data.metricAction) ? undefined : messageId);
203
+ metricSpy.mockClear();
204
+ errorMessage = 'User is unauthorised';
205
+ errorCode = 401;
206
+ response.statusCode = errorCode;
207
+ response.data = {
208
+ error: errorMessage
209
+ };
210
+ _context2.next = 13;
211
+ return voicemailClient[data.method].apply(voicemailClient, args);
212
+ case 13:
213
+ expect(metricSpy).toBeCalledOnceWith(_types3.METRIC_EVENT.VOICEMAIL_ERROR, data.metricAction, _types3.METRIC_TYPE.BEHAVIORAL, [_types3.VOICEMAIL_ACTION.GET_VOICEMAILS, _types3.VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY].includes(data.metricAction) ? undefined : messageId, errorMessage, errorCode);
214
+ case 14:
215
+ case "end":
216
+ return _context2.stop();
217
+ }
218
+ }, _callee2);
219
+ }));
220
+ return function (_x2) {
221
+ return _ref2.apply(this, arguments);
222
+ };
223
+ }());
224
+ });
225
+ });
226
+ //# sourceMappingURL=Voicemail.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_testUtil","require","_Voicemail","_types","_constants","_types2","_UcmBackendConnector","_BroadworksBackendConnector","_WxCallBackendConnector","_types3","_voicemailFixture","describe","webex","getTestUtilsWebex","testData","name","callingBehavior","NATIVE_SIP_CALL_TO_UCM","entitlement","valid","NATIVE_WEBEX_TEAMS_CALLING","ENTITLEMENT_BASIC","ENTITLEMENT_STANDARD","ENTITLEMENT_BROADWORKS_CONN","map","stat","_assign","default","toString","it","each","_ref","_asyncToGenerator2","_regenerator","mark","_callee","data","voicemailClient","connectorResponse","contactResponse","wrap","_callee$","_context","prev","next","internal","device","features","models","_values","key","createVoicemailClient","level","LOGGER","INFO","init","jest","fn","_promise","resolve","resolveContact","resolveContactArgs","expect","toBeTruthy","getSDKConnector","getWebex","t0","toStrictEqual","CALLING_BACKEND","UCM","toBeInstanceOf","UcmBackendConnector","abrupt","BWRKS","BroadworksBackendConnector","WXC","WxCallBackendConnector","fail","toThrowError","stop","_x","apply","arguments","messageId","metricSpy","spyOn","getVoicemailList","getVoicemailContent","getVoicemailSummary","voicemailMarkAsRead","voicemailMarkAsUnread","deleteVoicemail","getVMTranscript","metricAction","VOICEMAIL_ACTION","GET_VOICEMAILS","method","GET_VOICEMAIL_CONTENT","MARK_READ","MARK_UNREAD","DELETE","TRANSCRIPT","GET_VOICEMAIL_SUMMARY","concat","_ref2","_callee2","response","args","errorMessage","errorCode","_callee2$","_context2","statusCode","message","SORT","ASC","mockResolvedValue","toBeCalledOnceWith","METRIC_EVENT","VOICEMAIL","METRIC_TYPE","BEHAVIORAL","includes","undefined","mockClear","error","VOICEMAIL_ERROR","_x2"],"sources":["Voicemail.test.ts"],"sourcesContent":["import {getTestUtilsWebex} from '../common/testUtil';\nimport {createVoicemailClient} from './Voicemail';\nimport {LOGGER} from '../Logger/types';\nimport {\n ENTITLEMENT_BASIC,\n ENTITLEMENT_BROADWORKS_CONN,\n ENTITLEMENT_STANDARD,\n NATIVE_SIP_CALL_TO_UCM,\n NATIVE_WEBEX_TEAMS_CALLING,\n} from '../common/constants';\nimport {VoicemailResponseEvent} from './types';\nimport {CALLING_BACKEND, SORT} from '../common/types';\nimport {UcmBackendConnector} from './UcmBackendConnector';\nimport {BroadworksBackendConnector} from './BroadworksBackendConnector';\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {VOICEMAIL_ACTION, METRIC_EVENT, METRIC_TYPE} from '../Metrics/types';\nimport {resolveContactArgs} from './voicemailFixture';\n\ndescribe('Voicemail Client tests', () => {\n const webex = getTestUtilsWebex();\n\n describe('createVoicemailClient tests', () => {\n /**\n * TestCase inputs\n * name: TestCase name\n * callingBehavior: Calling profile\n * entitlement: Entitlement\n * valid: expected result for vm client creation with given inputs.\n */\n const testData: {\n name: string;\n callingBehavior: string;\n entitlement: string;\n valid: boolean;\n }[] = [\n {\n name: 'verify valid ucm voicemail client',\n callingBehavior: NATIVE_SIP_CALL_TO_UCM,\n entitlement: 'none',\n valid: true,\n },\n {\n name: 'verify valid wxc voicemail client with basic entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BASIC,\n valid: true,\n },\n {\n name: 'verify valid wxc voicemail client with standard entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_STANDARD,\n valid: true,\n },\n {\n name: 'verify valid wxc voicemail client with broadworks entitlement',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: ENTITLEMENT_BROADWORKS_CONN,\n valid: true,\n },\n {\n name: 'verify invalid callingBehavior',\n callingBehavior: 'INVALID',\n entitlement: ENTITLEMENT_BASIC,\n valid: false,\n },\n {\n name: 'verify invalid entitlement for wxc voicemail client',\n callingBehavior: NATIVE_WEBEX_TEAMS_CALLING,\n entitlement: 'invalid',\n valid: false,\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n /* eslint-disable dot-notation */\n return this['name'];\n },\n })\n );\n\n it.each(testData)('%s', async (data) => {\n webex.internal.device.callingBehavior = data.callingBehavior;\n webex.internal.device.features.entitlement.models = [{_values: {key: data.entitlement}}];\n if (data.valid) {\n const voicemailClient = createVoicemailClient(webex, {level: LOGGER.INFO});\n\n voicemailClient['backendConnector'].init = jest.fn(() => Promise.resolve({}));\n voicemailClient['backendConnector'].resolveContact = jest.fn(() => Promise.resolve({}));\n\n const connectorResponse = voicemailClient.init();\n const contactResponse = voicemailClient.resolveContact(resolveContactArgs);\n\n expect(voicemailClient).toBeTruthy();\n expect(voicemailClient.getSDKConnector().getWebex()).toBeTruthy();\n expect(connectorResponse).toBeTruthy();\n expect(contactResponse).toBeTruthy();\n\n switch (data.callingBehavior) {\n case NATIVE_SIP_CALL_TO_UCM:\n expect(voicemailClient['callingBackend']).toStrictEqual(CALLING_BACKEND.UCM);\n expect(voicemailClient['backendConnector']).toBeInstanceOf(UcmBackendConnector);\n break;\n case NATIVE_WEBEX_TEAMS_CALLING:\n if (data.entitlement === ENTITLEMENT_BROADWORKS_CONN) {\n expect(voicemailClient['callingBackend']).toStrictEqual(CALLING_BACKEND.BWRKS);\n expect(voicemailClient['backendConnector']).toBeInstanceOf(\n BroadworksBackendConnector\n );\n } else {\n /* entitlement basic and standard */\n expect(voicemailClient['callingBackend']).toStrictEqual(CALLING_BACKEND.WXC);\n expect(voicemailClient['backendConnector']).toBeInstanceOf(WxCallBackendConnector);\n }\n break;\n default:\n fail('Unknown calling backend type.');\n }\n } else {\n expect(() => {\n createVoicemailClient(webex, {level: LOGGER.INFO});\n }).toThrowError('Calling backend is not identified, exiting....');\n }\n });\n });\n\n describe('voicemail metrics test', () => {\n webex.internal.device.callingBehavior = NATIVE_WEBEX_TEAMS_CALLING;\n webex.internal.device.features.entitlement.models = [{_values: {key: ENTITLEMENT_STANDARD}}];\n const voicemailClient = createVoicemailClient(webex, {level: LOGGER.INFO});\n const messageId =\n '/v2.0/user/08cedee9-296f-4aaf-bd4b-e14f2399abdf/VoiceMessagingMessages/ec8c3baf-afe4-4cef-b02f-19026b9e039c';\n const metricSpy = jest.spyOn(voicemailClient['metricManager'], 'submitVoicemailMetric');\n\n voicemailClient['backendConnector'] = {\n getVoicemailList: jest.fn(),\n getVoicemailContent: jest.fn(),\n getVoicemailSummary: jest.fn(),\n voicemailMarkAsRead: jest.fn(),\n voicemailMarkAsUnread: jest.fn(),\n deleteVoicemail: jest.fn(),\n getVMTranscript: jest.fn(),\n resolveContact: jest.fn(),\n };\n\n const testData: {\n metricAction: VOICEMAIL_ACTION;\n method: string;\n }[] = [\n {\n metricAction: VOICEMAIL_ACTION.GET_VOICEMAILS,\n method: voicemailClient.getVoicemailList.name,\n },\n {\n metricAction: VOICEMAIL_ACTION.GET_VOICEMAIL_CONTENT,\n method: voicemailClient.getVoicemailContent.name,\n },\n {\n metricAction: VOICEMAIL_ACTION.MARK_READ,\n method: voicemailClient.voicemailMarkAsRead.name,\n },\n {\n metricAction: VOICEMAIL_ACTION.MARK_UNREAD,\n method: voicemailClient.voicemailMarkAsUnread.name,\n },\n {\n metricAction: VOICEMAIL_ACTION.DELETE,\n method: voicemailClient.deleteVoicemail.name,\n },\n {\n metricAction: VOICEMAIL_ACTION.TRANSCRIPT,\n method: voicemailClient.getVMTranscript.name,\n },\n {\n metricAction: VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY,\n method: voicemailClient.getVoicemailSummary.name,\n },\n ].map((stat) =>\n Object.assign(stat, {\n toString() {\n return `test ${this['method']} with metrics`;\n },\n })\n );\n\n it.each(testData)('%s', async (data) => {\n const response = {\n statusCode: 204,\n message: 'SUCCESS',\n data: {},\n } as VoicemailResponseEvent;\n\n const args =\n (data.metricAction === VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY && []) ||\n data.metricAction === VOICEMAIL_ACTION.GET_VOICEMAILS\n ? [0, 0, SORT.ASC]\n : [messageId];\n\n voicemailClient['backendConnector'][data.method].mockResolvedValue(response);\n await voicemailClient[data.method](...args);\n\n expect(metricSpy).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL,\n data.metricAction,\n METRIC_TYPE.BEHAVIORAL,\n [VOICEMAIL_ACTION.GET_VOICEMAILS, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY].includes(\n data.metricAction\n )\n ? undefined\n : messageId\n );\n\n metricSpy.mockClear();\n\n const errorMessage = 'User is unauthorised';\n const errorCode = 401;\n\n response.statusCode = errorCode;\n response.data = {error: errorMessage};\n\n await voicemailClient[data.method](...args);\n\n expect(metricSpy).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n data.metricAction,\n METRIC_TYPE.BEHAVIORAL,\n [VOICEMAIL_ACTION.GET_VOICEMAILS, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY].includes(\n data.metricAction\n )\n ? undefined\n : messageId,\n errorMessage,\n errorCode\n );\n });\n });\n});\n"],"mappings":"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"}