softphone-vendor-headsets 1.0.1 → 2.0.0-develop.8

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 (250) hide show
  1. package/dist/1.softhphone-vendor-headsets.js +1 -1
  2. package/dist/1.softhphone-vendor-headsets.js.map +1 -1
  3. package/dist/2.softhphone-vendor-headsets.js +1 -1
  4. package/dist/2.softhphone-vendor-headsets.js.map +1 -1
  5. package/dist/3.softhphone-vendor-headsets.js +1 -1
  6. package/dist/3.softhphone-vendor-headsets.js.map +1 -1
  7. package/dist/deploy-info.json +3 -723
  8. package/dist/softhphone-vendor-headsets.js +4 -19
  9. package/dist/softhphone-vendor-headsets.js.map +1 -1
  10. package/package.json +82 -88
  11. package/dist/cjs/src/config/i18n.d.ts +0 -2
  12. package/dist/cjs/src/config/i18n.js +0 -27
  13. package/dist/cjs/src/config/i18n.js.map +0 -1
  14. package/dist/cjs/src/library/index.d.ts +0 -9
  15. package/dist/cjs/src/library/index.js +0 -26
  16. package/dist/cjs/src/library/index.js.map +0 -1
  17. package/dist/cjs/src/library/services/headset.d.ts +0 -41
  18. package/dist/cjs/src/library/services/headset.js +0 -181
  19. package/dist/cjs/src/library/services/headset.js.map +0 -1
  20. package/dist/cjs/src/library/services/headset.test.d.ts +0 -1
  21. package/dist/cjs/src/library/services/headset.test.js +0 -487
  22. package/dist/cjs/src/library/services/headset.test.js.map +0 -1
  23. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.d.ts +0 -13
  24. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js +0 -18
  25. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js.map +0 -1
  26. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.d.ts +0 -12
  27. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js +0 -16
  28. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js.map +0 -1
  29. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.d.ts +0 -5
  30. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js +0 -10
  31. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js.map +0 -1
  32. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.d.ts +0 -38
  33. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js +0 -251
  34. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js.map +0 -1
  35. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.d.ts +0 -1
  36. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js +0 -573
  37. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js.map +0 -1
  38. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-commands.d.ts +0 -13
  39. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-commands.js +0 -18
  40. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-commands.js.map +0 -1
  41. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.d.ts +0 -6
  42. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js +0 -11
  43. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js.map +0 -1
  44. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.d.ts +0 -4
  45. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js +0 -3
  46. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js.map +0 -1
  47. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.d.ts +0 -23
  48. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js +0 -13
  49. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js.map +0 -1
  50. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +0 -45
  51. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +0 -236
  52. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +0 -1
  53. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.d.ts +0 -1
  54. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +0 -567
  55. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +0 -1
  56. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.d.ts +0 -48
  57. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js +0 -341
  58. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js.map +0 -1
  59. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.d.ts +0 -1
  60. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js +0 -844
  61. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js.map +0 -1
  62. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +0 -37
  63. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +0 -51
  64. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +0 -1
  65. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.d.ts +0 -1
  66. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +0 -111
  67. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +0 -1
  68. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +0 -260
  69. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +0 -273
  70. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +0 -1
  71. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +0 -58
  72. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js +0 -374
  73. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js.map +0 -1
  74. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.d.ts +0 -2
  75. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js +0 -796
  76. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +0 -1
  77. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.d.ts +0 -5
  78. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js +0 -10
  79. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js.map +0 -1
  80. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-events.d.ts +0 -21
  81. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js +0 -26
  82. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js.map +0 -1
  83. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.d.ts +0 -16
  84. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js +0 -3
  85. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js.map +0 -1
  86. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +0 -44
  87. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js +0 -303
  88. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +0 -1
  89. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.d.ts +0 -1
  90. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +0 -801
  91. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +0 -1
  92. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.d.ts +0 -69
  93. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js +0 -99
  94. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js.map +0 -1
  95. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.d.ts +0 -1
  96. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js +0 -106
  97. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +0 -1
  98. package/dist/cjs/src/library/test-utils.test.d.ts +0 -16
  99. package/dist/cjs/src/library/test-utils.test.js +0 -40
  100. package/dist/cjs/src/library/test-utils.test.js.map +0 -1
  101. package/dist/cjs/src/library/types/call-info.d.ts +0 -4
  102. package/dist/cjs/src/library/types/call-info.js +0 -3
  103. package/dist/cjs/src/library/types/call-info.js.map +0 -1
  104. package/dist/cjs/src/library/types/consumed-headset-events.d.ts +0 -45
  105. package/dist/cjs/src/library/types/consumed-headset-events.js +0 -18
  106. package/dist/cjs/src/library/types/consumed-headset-events.js.map +0 -1
  107. package/dist/cjs/src/library/types/device-info.d.ts +0 -8
  108. package/dist/cjs/src/library/types/device-info.js +0 -3
  109. package/dist/cjs/src/library/types/device-info.js.map +0 -1
  110. package/dist/cjs/src/library/types/emitted-headset-events.d.ts +0 -31
  111. package/dist/cjs/src/library/types/emitted-headset-events.js +0 -3
  112. package/dist/cjs/src/library/types/emitted-headset-events.js.map +0 -1
  113. package/dist/cjs/src/library/types/jabra-request.d.ts +0 -3
  114. package/dist/cjs/src/library/types/jabra-request.js +0 -3
  115. package/dist/cjs/src/library/types/jabra-request.js.map +0 -1
  116. package/dist/cjs/src/library/utils.d.ts +0 -14
  117. package/dist/cjs/src/library/utils.js +0 -80
  118. package/dist/cjs/src/library/utils.js.map +0 -1
  119. package/dist/cjs/src/library/utils.test.d.ts +0 -1
  120. package/dist/cjs/src/library/utils.test.js +0 -46
  121. package/dist/cjs/src/library/utils.test.js.map +0 -1
  122. package/dist/cjs/src/mocks/call.d.ts +0 -11
  123. package/dist/cjs/src/mocks/call.js +0 -54
  124. package/dist/cjs/src/mocks/call.js.map +0 -1
  125. package/dist/cjs/src/mocks/device-service.d.ts +0 -8
  126. package/dist/cjs/src/mocks/device-service.js +0 -43
  127. package/dist/cjs/src/mocks/device-service.js.map +0 -1
  128. package/dist/cjs/src/setupTests.d.ts +0 -1
  129. package/dist/cjs/src/setupTests.js +0 -8
  130. package/dist/cjs/src/setupTests.js.map +0 -1
  131. package/dist/es/src/config/i18n.d.ts +0 -2
  132. package/dist/es/src/config/i18n.js +0 -22
  133. package/dist/es/src/config/i18n.js.map +0 -1
  134. package/dist/es/src/library/index.d.ts +0 -9
  135. package/dist/es/src/library/index.js +0 -10
  136. package/dist/es/src/library/index.js.map +0 -1
  137. package/dist/es/src/library/services/headset.d.ts +0 -41
  138. package/dist/es/src/library/services/headset.js +0 -175
  139. package/dist/es/src/library/services/headset.js.map +0 -1
  140. package/dist/es/src/library/services/headset.test.d.ts +0 -1
  141. package/dist/es/src/library/services/headset.test.js +0 -482
  142. package/dist/es/src/library/services/headset.test.js.map +0 -1
  143. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.d.ts +0 -13
  144. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js +0 -15
  145. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-commands.js.map +0 -1
  146. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.d.ts +0 -12
  147. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js +0 -13
  148. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-event-translation.js.map +0 -1
  149. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.d.ts +0 -5
  150. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js +0 -7
  151. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome-requested-events.js.map +0 -1
  152. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.d.ts +0 -38
  153. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js +0 -248
  154. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.js.map +0 -1
  155. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.d.ts +0 -1
  156. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js +0 -568
  157. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-chrome/jabra-chrome.test.js.map +0 -1
  158. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-commands.d.ts +0 -13
  159. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-commands.js +0 -15
  160. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-commands.js.map +0 -1
  161. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.d.ts +0 -6
  162. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js +0 -8
  163. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.js.map +0 -1
  164. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.d.ts +0 -4
  165. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js +0 -2
  166. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-heaset-state.js.map +0 -1
  167. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.d.ts +0 -23
  168. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js +0 -10
  169. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-types.js.map +0 -1
  170. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +0 -45
  171. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +0 -233
  172. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +0 -1
  173. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.d.ts +0 -1
  174. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +0 -543
  175. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +0 -1
  176. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.d.ts +0 -48
  177. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js +0 -338
  178. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js.map +0 -1
  179. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.d.ts +0 -1
  180. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js +0 -839
  181. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js.map +0 -1
  182. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +0 -37
  183. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +0 -48
  184. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +0 -1
  185. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.d.ts +0 -1
  186. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +0 -109
  187. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +0 -1
  188. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +0 -260
  189. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +0 -271
  190. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +0 -1
  191. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +0 -58
  192. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js +0 -368
  193. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js.map +0 -1
  194. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.d.ts +0 -2
  195. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js +0 -791
  196. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +0 -1
  197. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.d.ts +0 -5
  198. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js +0 -7
  199. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.js.map +0 -1
  200. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-events.d.ts +0 -21
  201. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js +0 -23
  202. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-events.js.map +0 -1
  203. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.d.ts +0 -16
  204. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js +0 -2
  205. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser-payload.js.map +0 -1
  206. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +0 -44
  207. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js +0 -281
  208. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +0 -1
  209. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.d.ts +0 -1
  210. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +0 -777
  211. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +0 -1
  212. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.d.ts +0 -69
  213. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js +0 -95
  214. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js.map +0 -1
  215. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.d.ts +0 -1
  216. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js +0 -104
  217. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +0 -1
  218. package/dist/es/src/library/test-utils.test.d.ts +0 -16
  219. package/dist/es/src/library/test-utils.test.js +0 -36
  220. package/dist/es/src/library/test-utils.test.js.map +0 -1
  221. package/dist/es/src/library/types/call-info.d.ts +0 -4
  222. package/dist/es/src/library/types/call-info.js +0 -2
  223. package/dist/es/src/library/types/call-info.js.map +0 -1
  224. package/dist/es/src/library/types/consumed-headset-events.d.ts +0 -45
  225. package/dist/es/src/library/types/consumed-headset-events.js +0 -15
  226. package/dist/es/src/library/types/consumed-headset-events.js.map +0 -1
  227. package/dist/es/src/library/types/device-info.d.ts +0 -8
  228. package/dist/es/src/library/types/device-info.js +0 -2
  229. package/dist/es/src/library/types/device-info.js.map +0 -1
  230. package/dist/es/src/library/types/emitted-headset-events.d.ts +0 -31
  231. package/dist/es/src/library/types/emitted-headset-events.js +0 -2
  232. package/dist/es/src/library/types/emitted-headset-events.js.map +0 -1
  233. package/dist/es/src/library/types/jabra-request.d.ts +0 -3
  234. package/dist/es/src/library/types/jabra-request.js +0 -2
  235. package/dist/es/src/library/types/jabra-request.js.map +0 -1
  236. package/dist/es/src/library/utils.d.ts +0 -14
  237. package/dist/es/src/library/utils.js +0 -69
  238. package/dist/es/src/library/utils.js.map +0 -1
  239. package/dist/es/src/library/utils.test.d.ts +0 -1
  240. package/dist/es/src/library/utils.test.js +0 -44
  241. package/dist/es/src/library/utils.test.js.map +0 -1
  242. package/dist/es/src/mocks/call.d.ts +0 -11
  243. package/dist/es/src/mocks/call.js +0 -51
  244. package/dist/es/src/mocks/call.js.map +0 -1
  245. package/dist/es/src/mocks/device-service.d.ts +0 -8
  246. package/dist/es/src/mocks/device-service.js +0 -40
  247. package/dist/es/src/mocks/device-service.js.map +0 -1
  248. package/dist/es/src/setupTests.d.ts +0 -1
  249. package/dist/es/src/setupTests.js +0 -6
  250. package/dist/es/src/setupTests.js.map +0 -1
@@ -1,796 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- // import fetchJsonp from 'fetch-jsonp';
16
- require("whatwg-fetch");
17
- const plantronics_test_responses_1 = __importDefault(require("./plantronics-test-responses"));
18
- require("regenerator-runtime");
19
- const broadcast_channel_1 = require("broadcast-channel");
20
- const browserama_1 = __importDefault(require("browserama"));
21
- const test_utils_test_1 = require("../../../test-utils.test");
22
- const plantronics_1 = __importDefault(require("./plantronics"));
23
- const plantronics_call_events_1 = require("./plantronics-call-events");
24
- const fetch_jsonp_1 = __importDefault(require("fetch-jsonp"));
25
- jest.mock('broadcast-channel');
26
- jest.mock('fetch-jsonp', () => jest.fn());
27
- const mockPlantronicsHost = 'http://localhost:3000/plantronics';
28
- const testDevice = {
29
- ProductName: 'testDevice1',
30
- };
31
- const originalFetchFunction = plantronics_1.default.getInstance({ logger: console })._fetch;
32
- function resetService(plantronicsService) {
33
- plantronicsService.apiHost = mockPlantronicsHost;
34
- plantronicsService.vendorName = 'Plantronics';
35
- plantronicsService.pluginName = 'genesys-cloud-headset-library';
36
- plantronicsService._deviceInfo = null;
37
- plantronicsService.activePollingInterval = 2000;
38
- plantronicsService.connectedDeviceInterval = 6000;
39
- plantronicsService.disconnectedDeviceInterval = 2000;
40
- plantronicsService.deviceIdRetryInterval = 2000;
41
- plantronicsService.isActive = false;
42
- plantronicsService.isConnected = false;
43
- plantronicsService.isConnecting = false;
44
- plantronicsService.disableEventPolling = false;
45
- plantronicsService.deviceStatusTimer = null;
46
- }
47
- const sendScenario = function (scenario) {
48
- return fetch(`${mockPlantronicsHost}/scenario`, {
49
- method: 'post',
50
- headers: {
51
- "Content-Type": "application/json"
52
- },
53
- body: JSON.stringify(scenario),
54
- mode: 'cors'
55
- });
56
- };
57
- const queueCallEvents = function (scenario) {
58
- return fetch(`${mockPlantronicsHost}/callEvents`, {
59
- method: 'PUT',
60
- headers: {
61
- "Content-Type": "application/json"
62
- },
63
- body: JSON.stringify(scenario),
64
- mode: 'cors'
65
- });
66
- };
67
- let callbackCount = 1;
68
- describe('PlantronicsService', () => {
69
- let plantronicsService;
70
- beforeEach(() => {
71
- plantronicsService = plantronics_1.default.getInstance({ logger: console });
72
- plantronicsService._fetch = (url) => {
73
- const fullUrl = `${url}&callback=${callbackCount++}`;
74
- return fetch(fullUrl, {
75
- method: 'get',
76
- headers: {
77
- "Content-Type": "application/json"
78
- }
79
- });
80
- };
81
- resetService(plantronicsService);
82
- });
83
- afterAll(() => {
84
- resetService(plantronicsService);
85
- });
86
- describe('instantiation', () => {
87
- afterEach(() => {
88
- plantronicsService = null;
89
- });
90
- it('should be a singleton', () => {
91
- const plantronicsService2 = plantronics_1.default.getInstance({ logger: console });
92
- expect(plantronicsService).not.toBeFalsy();
93
- expect(plantronicsService2).not.toBeFalsy();
94
- expect(plantronicsService).toBe(plantronicsService2);
95
- });
96
- });
97
- describe('deviceName', () => {
98
- it('should return the value of deviceInfo.ProductName', () => {
99
- plantronicsService._deviceInfo = testDevice;
100
- const result = plantronicsService.deviceName;
101
- expect(result).toEqual(testDevice.ProductName);
102
- });
103
- it('should return undefined if _deviceInfo is undefined', () => {
104
- plantronicsService._deviceInfo = undefined;
105
- const result = plantronicsService.deviceName;
106
- expect(result).toBeUndefined();
107
- });
108
- });
109
- describe('apiHost', () => {
110
- it('should return the expected value', () => {
111
- expect(plantronicsService.apiHost).toEqual(mockPlantronicsHost);
112
- });
113
- });
114
- describe('vendorName', () => {
115
- it('should return the expected name', () => {
116
- const expected = 'Plantronics';
117
- expect(plantronicsService.vendorName).toEqual(expected);
118
- });
119
- });
120
- describe('deviceLabelMatchesVendor', () => {
121
- beforeEach(() => {
122
- plantronicsService = plantronics_1.default.getInstance({ logger: console });
123
- plantronicsService.logger = test_utils_test_1.mockLogger;
124
- });
125
- it('should return true when the device label contains the string "plantronics"', () => {
126
- let testLabel = 'plantronics headset';
127
- let result = plantronicsService.deviceLabelMatchesVendor(testLabel);
128
- expect(result).toBe(true);
129
- testLabel = 'A headset PlanTroniCs made';
130
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
131
- expect(result).toBe(true);
132
- testLabel = 'A headset of Plantronics';
133
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
134
- expect(result).toBe(true);
135
- });
136
- it('should return false when the device label does not contain the string "plantronics"', () => {
137
- let testLabel = 'standard headset';
138
- let result = plantronicsService.deviceLabelMatchesVendor(testLabel);
139
- expect(result).toBe(false);
140
- testLabel = 'A headset sennheiser made';
141
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
142
- expect(result).toBe(false);
143
- testLabel = 'A headset of awesome';
144
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
145
- expect(result).toBe(false);
146
- });
147
- it('should return true when device label contains the string "plt"', () => {
148
- let testLabel = 'plt: a sandwich';
149
- let result = plantronicsService.deviceLabelMatchesVendor(testLabel);
150
- expect(result).toBe(true);
151
- testLabel = 'test test PlT';
152
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
153
- expect(result).toBe(true);
154
- testLabel = 'test pLt test';
155
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
156
- expect(result).toBe(true);
157
- });
158
- it('should return false when device label does not contain the string "plt"', () => {
159
- const testLabel = 'standard headset';
160
- const result = plantronicsService.deviceLabelMatchesVendor(testLabel);
161
- expect(result).toBe(false);
162
- });
163
- it('should return true when the device label contains the string "(047f:"', () => {
164
- let testLabel = '(047f: headset';
165
- let result = plantronicsService.deviceLabelMatchesVendor(testLabel);
166
- expect(result).toBe(true);
167
- testLabel = 'A headset (047f: made';
168
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
169
- expect(result).toBe(true);
170
- testLabel = 'A headset of (047f:';
171
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
172
- expect(result).toBe(true);
173
- });
174
- it('should return false when the device label does not contain the string "(047f:"', () => {
175
- let testLabel = 'standard headset';
176
- let result = plantronicsService.deviceLabelMatchesVendor(testLabel);
177
- expect(result).toBe(false);
178
- testLabel = 'A headset sennheiser made';
179
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
180
- expect(result).toBe(false);
181
- testLabel = 'A headset of awesome';
182
- result = plantronicsService.deviceLabelMatchesVendor(testLabel);
183
- expect(result).toBe(false);
184
- });
185
- });
186
- describe('pollForCallEvents', () => {
187
- beforeEach(() => {
188
- jest.useFakeTimers();
189
- });
190
- it('will not call getCallEventsSpy if proper flags are not met', () => {
191
- const getCallEventsSpy = jest.spyOn(plantronicsService, 'getCallEvents');
192
- const pollForCallEventsSpy = jest.spyOn(plantronicsService, 'pollForCallEvents');
193
- jest.useFakeTimers();
194
- plantronicsService.pollForCallEvents();
195
- expect(getCallEventsSpy).not.toHaveBeenCalled();
196
- jest.advanceTimersByTime(plantronicsService.activePollingInterval);
197
- expect(pollForCallEventsSpy).toHaveBeenCalled();
198
- });
199
- it('will call getCallEventsSpy if proper flags are met', () => {
200
- const getCallEventsSpy = jest.spyOn(plantronicsService, 'getCallEvents');
201
- const pollForCallEventsSpy = jest.spyOn(plantronicsService, 'pollForCallEvents');
202
- plantronicsService.isConnected = true;
203
- plantronicsService.isActive = true;
204
- plantronicsService.disableEventPolling = false;
205
- jest.useFakeTimers();
206
- plantronicsService.pollForCallEvents();
207
- expect(getCallEventsSpy).toHaveBeenCalled();
208
- jest.advanceTimersByTime(plantronicsService.activePollingInterval);
209
- expect(pollForCallEventsSpy).toHaveBeenCalled();
210
- });
211
- });
212
- describe('pollForDeviceStatus', () => {
213
- afterEach(() => {
214
- jest.useRealTimers();
215
- });
216
- it('will not call getDeviceStatusSpy if proper flags are not met', () => {
217
- plantronicsService.isConnecting = true;
218
- const getDeviceStatusSpy = jest.spyOn(plantronicsService, 'getDeviceStatus');
219
- const pollForDeviceStatusSpy = jest.spyOn(plantronicsService, 'pollForDeviceStatus');
220
- jest.useFakeTimers();
221
- plantronicsService.pollForDeviceStatus();
222
- expect(getDeviceStatusSpy).not.toHaveBeenCalled();
223
- jest.advanceTimersByTime(plantronicsService.disconnectedDeviceInterval);
224
- expect(pollForDeviceStatusSpy).toHaveBeenCalled();
225
- });
226
- it('will call getDeviceStatusSpy if proper flags are met', () => __awaiter(void 0, void 0, void 0, function* () {
227
- plantronicsService.isConnected = true;
228
- plantronicsService.isConnecting = false;
229
- const getDeviceStatusSpy = jest.spyOn(plantronicsService, 'getDeviceStatus');
230
- const pollForDeviceStatusSpy = jest.spyOn(plantronicsService, 'pollForDeviceStatus');
231
- jest.useFakeTimers();
232
- plantronicsService.pollForDeviceStatus();
233
- expect(getDeviceStatusSpy).toHaveBeenCalled();
234
- jest.advanceTimersByTime(plantronicsService.disconnectedDeviceInterval);
235
- expect(pollForDeviceStatusSpy).toHaveBeenCalled();
236
- }));
237
- });
238
- describe('callCorrespondingFunction', () => {
239
- it('will call deviceAnsweredCall', () => {
240
- const deviceAnsweredCallSpy = jest.spyOn(plantronicsService, 'deviceAnsweredCall');
241
- plantronicsService.callCorrespondingFunction({
242
- name: 'AcceptCall',
243
- code: '1',
244
- event: {}
245
- });
246
- expect(deviceAnsweredCallSpy).toHaveBeenCalled();
247
- });
248
- it('will call deviceRejectedCall', () => {
249
- plantronicsService.incomingConversationId = 'convoId1234';
250
- const deviceRejectedCallSpy = jest.spyOn(plantronicsService, 'deviceRejectedCall');
251
- plantronicsService.callCorrespondingFunction({
252
- name: 'RejectCall',
253
- code: '23',
254
- event: {}
255
- });
256
- expect(deviceRejectedCallSpy).toHaveBeenCalledWith('convoId1234');
257
- });
258
- it('will call deviceEndedCall', () => {
259
- const deviceEndedCallSpy = jest.spyOn(plantronicsService, 'deviceEndedCall');
260
- plantronicsService.callCorrespondingFunction({
261
- name: 'TerminateCall'
262
- });
263
- expect(deviceEndedCallSpy).toHaveBeenCalled();
264
- });
265
- it('will call _checkIsActiveTask', () => {
266
- const _checkIsActiveTaskSpy = jest.spyOn(plantronicsService, '_checkIsActiveTask');
267
- plantronicsService.callCorrespondingFunction({
268
- name: 'CallEnded'
269
- });
270
- expect(_checkIsActiveTaskSpy).toHaveBeenCalled();
271
- });
272
- it('will call deviceMuteChanged with the proper flag', () => {
273
- const deviceMuteChangedSpy = jest.spyOn(plantronicsService, 'deviceMuteChanged');
274
- plantronicsService.callCorrespondingFunction({
275
- name: 'Mute'
276
- });
277
- expect(deviceMuteChangedSpy).toHaveBeenCalledWith(true, { name: 'Mute' });
278
- plantronicsService.callCorrespondingFunction({
279
- name: 'Unmute'
280
- });
281
- expect(deviceMuteChangedSpy).toHaveBeenCalledWith(false, { name: 'Unmute' });
282
- });
283
- it('will call deviceHoldStatusChanged with the proper flag', () => {
284
- const deviceHoldStatusChangedSpy = jest.spyOn(plantronicsService, 'deviceHoldStatusChanged');
285
- plantronicsService.callCorrespondingFunction({
286
- name: 'HoldCall'
287
- });
288
- expect(deviceHoldStatusChangedSpy).toHaveBeenCalledWith(true, { name: 'HoldCall' });
289
- plantronicsService.callCorrespondingFunction({
290
- name: 'ResumeCall'
291
- });
292
- expect(deviceHoldStatusChangedSpy).toHaveBeenCalledWith(false, { name: 'ResumeCall' });
293
- });
294
- it('calls deviceEventLogs when no valid event was passed in', () => {
295
- const deviceEventLogsSpy = jest.spyOn(plantronicsService, 'deviceEventLogs');
296
- plantronicsService.callCorrespondingFunction({
297
- name: 'Test'
298
- });
299
- expect(deviceEventLogsSpy).toHaveBeenCalled();
300
- });
301
- });
302
- describe('check various endpoint calls', () => {
303
- Object.defineProperty(window.navigator, 'hid', { get: () => ({
304
- getDevices: () => { return []; }
305
- }) });
306
- Object.defineProperty(window.navigator, 'locks', { get: () => ({}) });
307
- window.BroadcastChannel = broadcast_channel_1.BroadcastChannel;
308
- it('connects properly with a clean state', () => __awaiter(void 0, void 0, void 0, function* () {
309
- yield sendScenario({
310
- '/SessionManager/Register*': {
311
- responses: [plantronics_test_responses_1.default.SessionManager.Register.default]
312
- },
313
- '/SessionManager/IsActive*': {
314
- responses: [plantronics_test_responses_1.default.SessionManager.IsActive.default]
315
- },
316
- '/UserPreference/SetDefaultSoftPhone*': {
317
- responses: [plantronics_test_responses_1.default.UserPreference.SetDefaultSoftPhone.default]
318
- },
319
- '/DeviceServices/Info*': {
320
- responses: [plantronics_test_responses_1.default.DeviceServices.Info.default]
321
- },
322
- '/CallServices/CallManagerState*': {
323
- responses: [plantronics_test_responses_1.default.CallServices.CallManagerState.default]
324
- }
325
- });
326
- yield plantronicsService.connect();
327
- expect(plantronicsService.isConnected).toBeTruthy();
328
- expect(plantronicsService.isActive).toBeFalsy();
329
- expect(plantronicsService.isConnecting).toBeFalsy();
330
- }), 30000);
331
- it('builds an endpoint for incoming calls', () => __awaiter(void 0, void 0, void 0, function* () {
332
- const _makeRequestTaskSpy = jest.spyOn(plantronicsService, '_makeRequestTask');
333
- yield sendScenario({
334
- '/CallServices/IncomingCall*': {
335
- responses: [plantronics_test_responses_1.default.CallServices.IncomingCall.default]
336
- },
337
- '/DeviceServices/Info*': {
338
- repeatResponse: plantronics_test_responses_1.default.DeviceServices.Info.default
339
- }
340
- });
341
- let callInfo = { conversationId: 'convoId123', contactName: 'Dio Brando' };
342
- const conversationIdString = `"Id":"${callInfo.conversationId}"`;
343
- const contactNameString = `"Name":"${callInfo.contactName}"`;
344
- const endpointParams = `?name=${plantronicsService.pluginName}&tones=Unknown&route=ToHeadset`;
345
- let completeEndpoint = endpointParams;
346
- completeEndpoint += encodeURI(`&callID={${encodeURI(conversationIdString)}}`);
347
- completeEndpoint += encodeURI(`&contact={${encodeURI(contactNameString)}}`);
348
- yield plantronicsService.incomingCall(callInfo);
349
- expect(plantronicsService.isActive).toBe(true);
350
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/IncomingCall${completeEndpoint}`);
351
- resetService(plantronicsService);
352
- completeEndpoint = endpointParams;
353
- completeEndpoint += encodeURI(`&callID={${encodeURI(conversationIdString)}}`);
354
- callInfo = { conversationId: 'convoId123' };
355
- yield plantronicsService.incomingCall(callInfo);
356
- expect(plantronicsService.isActive).toBe(true);
357
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/IncomingCall${completeEndpoint}`);
358
- resetService(plantronicsService);
359
- try {
360
- callInfo = { contactName: 'Dio Brando' };
361
- yield plantronicsService.incomingCall(callInfo);
362
- }
363
- catch (err) {
364
- expect(plantronicsService.isActive).toBe(false);
365
- expect(err).toBeDefined();
366
- }
367
- }));
368
- it('builds an endpoint for outgoing calls', () => __awaiter(void 0, void 0, void 0, function* () {
369
- const _makeRequestTaskSpy = jest.spyOn(plantronicsService, '_makeRequestTask');
370
- yield sendScenario({
371
- '/CallServices/OutgoingCall*': {
372
- responses: [plantronics_test_responses_1.default.CallServices.OutgoingCall.default]
373
- },
374
- '/DeviceServices/Info*': {
375
- repeatResponse: plantronics_test_responses_1.default.DeviceServices.Info.default
376
- }
377
- });
378
- let callInfo = { conversationId: 'convoId123', contactName: 'Dio Brando' };
379
- const conversationIdString = `"Id":"${callInfo.conversationId}"`;
380
- const contactNameString = `"Name":"${callInfo.contactName}"`;
381
- const endpointParams = `?name=${plantronicsService.pluginName}&tones=Unknown&route=ToHeadset`;
382
- let completeEndpoint = endpointParams;
383
- completeEndpoint += encodeURI(`&callID={${encodeURI(conversationIdString)}}`);
384
- completeEndpoint += encodeURI(`&contact={${encodeURI(contactNameString)}}`);
385
- yield plantronicsService.outgoingCall(Object.assign({}, callInfo));
386
- expect(plantronicsService.isActive).toBe(true);
387
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/OutgoingCall${completeEndpoint}`);
388
- resetService(plantronicsService);
389
- completeEndpoint = endpointParams;
390
- completeEndpoint += encodeURI(`&callID={${encodeURI(conversationIdString)}}`);
391
- callInfo = { conversationId: 'convoId123' };
392
- yield plantronicsService.outgoingCall(Object.assign({}, callInfo));
393
- expect(plantronicsService.isActive).toBe(true);
394
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/OutgoingCall${completeEndpoint}`);
395
- resetService(plantronicsService);
396
- try {
397
- callInfo = { contactName: 'Dio Brando' };
398
- yield plantronicsService.outgoingCall(Object.assign({}, callInfo));
399
- }
400
- catch (err) {
401
- expect(plantronicsService.isActive).toBe(false);
402
- expect(err).toBeDefined();
403
- }
404
- }));
405
- it('builds an endpoint for answering a call', () => __awaiter(void 0, void 0, void 0, function* () {
406
- const _makeRequestTaskSpy = jest.spyOn(plantronicsService, '_makeRequestTask');
407
- yield sendScenario({
408
- '/CallServices/AnswerCall*': {
409
- responses: [plantronics_test_responses_1.default.CallServices.AnswerCall.default]
410
- },
411
- '/DeviceServices/Info*': {
412
- repeatResponse: plantronics_test_responses_1.default.DeviceServices.Info.default
413
- }
414
- });
415
- const conversationIdString = encodeURI(`"Id":"convoId123"`);
416
- let completeEndpoint = `?name=${plantronicsService.pluginName}`;
417
- completeEndpoint += encodeURI(`&callID={${conversationIdString}}`);
418
- yield plantronicsService.answerCall('convoId123');
419
- expect(plantronicsService.isActive).toBe(true);
420
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/AnswerCall${completeEndpoint}`);
421
- }));
422
- it('builds an endpoint for terminating a call', () => __awaiter(void 0, void 0, void 0, function* () {
423
- const _makeRequestTaskSpy = jest.spyOn(plantronicsService, '_makeRequestTask');
424
- const getCallEventsSpy = jest.spyOn(plantronicsService, 'getCallEvents');
425
- const _checkIsActiveTaskSpy = jest.spyOn(plantronicsService, '_checkIsActiveTask');
426
- yield sendScenario({
427
- '/CallServices/TerminateCall*': {
428
- responses: [plantronics_test_responses_1.default.CallServices.TerminateCall.default]
429
- },
430
- '/DeviceServices/Info*': {
431
- repeatResponse: plantronics_test_responses_1.default.DeviceServices.Info.default
432
- }
433
- });
434
- const conversationIdString = encodeURI(`"Id":"convoId123"`);
435
- let completeEndpoint = `?name=${plantronicsService.pluginName}`;
436
- completeEndpoint += encodeURI(`&callID={${conversationIdString}}`);
437
- yield plantronicsService.endCall('convoId123');
438
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/TerminateCall${completeEndpoint}`);
439
- expect(getCallEventsSpy).toHaveBeenCalled();
440
- expect(_checkIsActiveTaskSpy).toHaveBeenCalled();
441
- }));
442
- it('calls endCall an appropriate number of times for endAllCalls', () => __awaiter(void 0, void 0, void 0, function* () {
443
- const endCallSpy = jest.spyOn(plantronicsService, 'endCall');
444
- yield sendScenario({
445
- '/CallServices/CallManagerState*': {
446
- responses: [plantronics_test_responses_1.default.CallServices.CallManagerState.callsInProgress]
447
- }
448
- });
449
- yield plantronicsService.endAllCalls();
450
- expect(endCallSpy).toHaveBeenCalledTimes(2);
451
- }));
452
- it('properly calls endCall in the case of call rejection', () => {
453
- plantronicsService.incomingConversationId = 'convoId1234';
454
- const plantronicsEndCallSpy = jest.spyOn(plantronicsService, 'endCall');
455
- plantronicsService.rejectCall('convoId1234');
456
- expect(plantronicsService.incomingConversationId).toBe('');
457
- expect(plantronicsEndCallSpy).toHaveBeenCalledWith('convoId1234');
458
- });
459
- it('calls _makeRequestTask wth proper endpoint for mute', () => __awaiter(void 0, void 0, void 0, function* () {
460
- const _makeRequestTaskSpy = jest.spyOn(plantronicsService, '_makeRequestTask');
461
- yield sendScenario({
462
- '/CallServices/MuteCall*': {
463
- responses: [plantronics_test_responses_1.default.CallServices.MuteCall.mute, plantronics_test_responses_1.default.CallServices.MuteCall.unmute]
464
- }
465
- });
466
- yield plantronicsService.setMute(true);
467
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/MuteCall?name=${plantronicsService.pluginName}&muted=${true}`);
468
- yield plantronicsService.setMute(false);
469
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/MuteCall?name=${plantronicsService.pluginName}&muted=${false}`);
470
- }));
471
- it('calls _makeRequestTask with proper endpoint for hold', () => __awaiter(void 0, void 0, void 0, function* () {
472
- const _makeRequestTaskSpy = jest.spyOn(plantronicsService, '_makeRequestTask');
473
- yield sendScenario({
474
- '/CallServices/HoldCall*': {
475
- responses: [plantronics_test_responses_1.default.CallServices.HoldCall.default]
476
- },
477
- '/CallServices/ResumeCall*': {
478
- responses: [plantronics_test_responses_1.default.CallServices.ResumeCall.default]
479
- }
480
- });
481
- const conversationIdString = encodeURI(`"Id":"convoId123"`);
482
- let completeEndpoint = `?name=${plantronicsService.pluginName}`;
483
- completeEndpoint += encodeURI(`&callID={${conversationIdString}}`);
484
- yield plantronicsService.setHold('convoId123', true);
485
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/HoldCall${completeEndpoint}`);
486
- yield plantronicsService.setHold('convoId123', false);
487
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/CallServices/ResumeCall${completeEndpoint}`);
488
- }));
489
- it('checkIsActiveTask', () => __awaiter(void 0, void 0, void 0, function* () {
490
- yield sendScenario({
491
- '/CallServices/CallManagerState*': {
492
- responses: [plantronics_test_responses_1.default.CallServices.CallManagerState.callsInProgress]
493
- }
494
- });
495
- yield plantronicsService._checkIsActiveTask();
496
- expect(plantronicsService.isActive).toBe(true);
497
- }));
498
- it('catches the error during _getActiveCalls', () => __awaiter(void 0, void 0, void 0, function* () {
499
- yield sendScenario({
500
- '/CallServices/CallManagerState*': {
501
- responses: [plantronics_test_responses_1.default.CallServices.CallManagerState.errorState]
502
- }
503
- });
504
- plantronicsService.logger.info = jest.fn();
505
- const result = yield plantronicsService._getActiveCalls();
506
- expect(plantronicsService.logger.info).toHaveBeenCalledWith('Error making request for active calls', plantronics_test_responses_1.default.CallServices.CallManagerState.errorState);
507
- expect(result).toStrictEqual([]);
508
- }));
509
- it('catches the error during getDeviceStatus', () => __awaiter(void 0, void 0, void 0, function* () {
510
- yield sendScenario({
511
- '/DeviceServices/Info*': {
512
- responses: [plantronics_test_responses_1.default.DeviceServices.Info.errorState]
513
- }
514
- });
515
- plantronicsService.logger.info = jest.fn();
516
- yield plantronicsService.getDeviceStatus();
517
- expect(plantronicsService.logger.info).toHaveBeenCalledWith('Error making request for device status', plantronics_test_responses_1.default.DeviceServices.Info.errorState);
518
- }));
519
- it('handles scenarios for getCallEvents function', () => __awaiter(void 0, void 0, void 0, function* () {
520
- yield sendScenario({
521
- '/CallServices/IncomingCall*': {
522
- responses: [plantronics_test_responses_1.default.CallServices.IncomingCall.default]
523
- },
524
- '/DeviceServices/Info*': {
525
- repeatResponse: plantronics_test_responses_1.default.DeviceServices.Info.default
526
- }
527
- });
528
- plantronicsService.isActive = true;
529
- plantronicsService.isConnected = true;
530
- yield queueCallEvents([plantronics_call_events_1.PlantronicsCallEvents.AcceptCall, plantronics_call_events_1.PlantronicsCallEvents.CallInProgress]);
531
- }));
532
- });
533
- describe('getCallEvents', () => {
534
- it('should answer from headset', () => __awaiter(void 0, void 0, void 0, function* () {
535
- yield sendScenario({
536
- '/CallServices/IncomingCall*': {
537
- responses: [plantronics_test_responses_1.default.CallServices.IncomingCall.default]
538
- },
539
- '/DeviceServices/Info*': {
540
- repeatResponse: plantronics_test_responses_1.default.DeviceServices.Info.default
541
- }
542
- });
543
- plantronicsService.isActive = true;
544
- plantronicsService.isConnected = true;
545
- const deviceAnswered = test_utils_test_1.eventValidation(plantronicsService, 'deviceAnsweredCall');
546
- yield queueCallEvents([plantronics_call_events_1.PlantronicsCallEvents.AcceptCall, plantronics_call_events_1.PlantronicsCallEvents.CallInProgress]);
547
- yield deviceAnswered;
548
- }));
549
- it('should mute and unmute from headset', () => __awaiter(void 0, void 0, void 0, function* () {
550
- yield sendScenario({
551
- '/CallServices/IncomingCall*': {
552
- responses: [plantronics_test_responses_1.default.CallServices.IncomingCall.default]
553
- },
554
- '/DeviceServices/Info*': {
555
- repeatResponse: plantronics_test_responses_1.default.DeviceServices.Info.default
556
- }
557
- });
558
- plantronicsService.isActive = true;
559
- plantronicsService.isConnected = true;
560
- const deviceMuted = test_utils_test_1.eventValidation(plantronicsService, 'deviceMuteChanged');
561
- yield queueCallEvents([plantronics_call_events_1.PlantronicsCallEvents.Mute]);
562
- yield deviceMuted;
563
- const deviceUnmuted = test_utils_test_1.eventValidation(plantronicsService, 'deviceMuteChanged');
564
- yield queueCallEvents([plantronics_call_events_1.PlantronicsCallEvents.Unmute]);
565
- yield deviceUnmuted;
566
- }));
567
- it('should hold and resume from the headset', () => __awaiter(void 0, void 0, void 0, function* () {
568
- yield sendScenario({
569
- '/CallServices/IncomingCall*': {
570
- responses: [plantronics_test_responses_1.default.CallServices.IncomingCall.default]
571
- },
572
- '/DeviceServices/Info*': {
573
- repeatResponse: plantronics_test_responses_1.default.DeviceServices.Info.default
574
- }
575
- });
576
- plantronicsService.isActive = true;
577
- plantronicsService.isConnected = true;
578
- const deviceHeld = test_utils_test_1.eventValidation(plantronicsService, 'deviceHoldStatusChanged');
579
- yield queueCallEvents([plantronics_call_events_1.PlantronicsCallEvents.HoldCall]);
580
- yield deviceHeld;
581
- const deviceResumed = test_utils_test_1.eventValidation(plantronicsService, 'deviceHoldStatusChanged');
582
- yield queueCallEvents([plantronics_call_events_1.PlantronicsCallEvents.ResumeCall]);
583
- yield deviceResumed;
584
- }));
585
- it('should terminate the call from the headset', () => __awaiter(void 0, void 0, void 0, function* () {
586
- yield sendScenario({
587
- '/CallServices/IncomingCall*': {
588
- responses: [plantronics_test_responses_1.default.CallServices.IncomingCall.default]
589
- },
590
- '/DeviceServices/Info*': {
591
- repeatResponse: plantronics_test_responses_1.default.DeviceServices.Info.default
592
- }
593
- });
594
- plantronicsService.isActive = true;
595
- plantronicsService.isConnected = true;
596
- const deviceTerminated = test_utils_test_1.eventValidation(plantronicsService, 'deviceEndedCall');
597
- yield queueCallEvents([plantronics_call_events_1.PlantronicsCallEvents.TerminateCall]);
598
- yield deviceTerminated;
599
- }));
600
- it('should log an error if something goes wrong during _makeRequestTask', () => __awaiter(void 0, void 0, void 0, function* () {
601
- plantronicsService.isConnected = true;
602
- plantronicsService.isActive = true;
603
- plantronics_1.default['instance'] = null;
604
- const loggerInfoSpy = jest.spyOn(plantronicsService.logger, 'info');
605
- try {
606
- plantronicsService.getCallEvents();
607
- }
608
- catch (err) {
609
- expect(loggerInfoSpy).toHaveBeenCalledWith('Error making request for all events', err);
610
- }
611
- }));
612
- it('should log a message if an unexpected event is received', () => __awaiter(void 0, void 0, void 0, function* () {
613
- plantronicsService.isActive = true;
614
- plantronicsService.isConnected = true;
615
- const loggerInfoSpy = jest.spyOn(plantronicsService.logger, 'info');
616
- jest.spyOn(plantronicsService, '_makeRequestTask').mockResolvedValueOnce(plantronics_test_responses_1.default.CallServices.CallManagerState.unknownEvent);
617
- yield plantronicsService.getCallEvents();
618
- expect(loggerInfoSpy).toHaveBeenCalledWith('Unknown call event from headset', { event: plantronics_test_responses_1.default.CallServices.CallManagerState.unknownEvent.Result[0] });
619
- }));
620
- });
621
- describe('connect function', () => {
622
- it('handles all scenarios appropriately for Register endpoint', () => __awaiter(void 0, void 0, void 0, function* () {
623
- yield sendScenario({
624
- '/SessionManager/Register*': {
625
- responses: [plantronics_test_responses_1.default.SessionManager.Register.errorState]
626
- }
627
- });
628
- return expect(plantronicsService.connect()).rejects.toEqual(plantronics_test_responses_1.default.SessionManager.Register.errorState);
629
- }));
630
- it('handles all scenarios appropriately for isActive endpoint', () => __awaiter(void 0, void 0, void 0, function* () {
631
- plantronicsService.logger.debug = jest.fn();
632
- yield sendScenario({
633
- '/SessionManager/Register*': {
634
- responses: [plantronics_test_responses_1.default.SessionManager.Register.default]
635
- },
636
- '/SessionManager/IsActive*': {
637
- responses: [plantronics_test_responses_1.default.SessionManager.IsActive.errorState]
638
- }
639
- });
640
- try {
641
- yield plantronicsService.connect();
642
- }
643
- catch (err) {
644
- expect(plantronicsService.logger.debug).toHaveBeenCalledWith('Is Active', plantronics_test_responses_1.default.SessionManager.IsActive.errorState);
645
- }
646
- }));
647
- it('handles all scenarios appropriately for getActiveCalls endpoint', () => __awaiter(void 0, void 0, void 0, function* () {
648
- plantronicsService.logger.info = jest.fn();
649
- yield sendScenario({
650
- '/SessionManager/Register*': {
651
- responses: [plantronics_test_responses_1.default.SessionManager.Register.default]
652
- },
653
- '/SessionManager/IsActive*': {
654
- responses: [plantronics_test_responses_1.default.SessionManager.IsActive.default]
655
- },
656
- '/UserPreference/SetDefaultSoftPhone*': {
657
- responses: [plantronics_test_responses_1.default.UserPreference.SetDefaultSoftPhone.default]
658
- },
659
- '/DeviceServices/Info*': {
660
- responses: [plantronics_test_responses_1.default.DeviceServices.Info.default]
661
- },
662
- '/CallServices/CallManagerState*': {
663
- responses: [plantronics_test_responses_1.default.CallServices.CallManagerState.callsInProgress]
664
- }
665
- });
666
- yield plantronicsService.connect();
667
- expect(plantronicsService.isActive).toBe(true);
668
- expect(plantronicsService.logger.info).toHaveBeenCalledWith('Currently active calls in the session');
669
- }));
670
- it('logs an error message if we are unable to connect the headset', () => __awaiter(void 0, void 0, void 0, function* () {
671
- const errorLoggerSpy = jest.spyOn(plantronicsService.logger, 'error');
672
- const testIsActiveEvent = {
673
- Description: 'Is Active',
674
- Result: true,
675
- Type: 2,
676
- Type_Name: 'Bool',
677
- isError: false
678
- };
679
- jest.spyOn(plantronicsService, '_makeRequestTask')
680
- .mockResolvedValueOnce(plantronics_test_responses_1.default.SessionManager.Register.default)
681
- .mockResolvedValueOnce(testIsActiveEvent)
682
- .mockRejectedValueOnce({ handled: true });
683
- yield plantronicsService.connect();
684
- expect(errorLoggerSpy).toHaveBeenCalledWith('Unable to properly connect headset');
685
- }));
686
- it('returns empty array if makeRequestTask resolves to undefined', () => __awaiter(void 0, void 0, void 0, function* () {
687
- jest.spyOn(plantronicsService, '_makeRequestTask').mockResolvedValueOnce(undefined);
688
- const getActiveCallsResult = yield plantronicsService._getActiveCalls();
689
- expect(getActiveCallsResult).toStrictEqual([]);
690
- }));
691
- });
692
- describe('_makeRequest function', () => {
693
- beforeEach(() => {
694
- Object.defineProperty(browserama_1.default, 'isFirefox', { get: () => true });
695
- });
696
- it('handles error from endpoint with 404 status and isRetry', () => __awaiter(void 0, void 0, void 0, function* () {
697
- plantronicsService.isConnected = true;
698
- plantronicsService.isActive = true;
699
- const disconnectSpy = jest.spyOn(plantronicsService, 'disconnect');
700
- plantronicsService.logger.info = jest.fn();
701
- const isActiveResponseWithStatus = Object.assign(Object.assign({}, plantronics_test_responses_1.default.SessionManager.IsActive.default), { status: 404, 'Type_Name': 'Error' });
702
- yield sendScenario({
703
- '/SessionManager/IsActive*': {
704
- responses: [isActiveResponseWithStatus]
705
- }
706
- });
707
- try {
708
- yield plantronicsService._makeRequest(`/SessionManager/IsActive?name=${plantronicsService.pluginName}&active=true`, true);
709
- }
710
- catch (err) {
711
- expect(plantronicsService.isConnected).toBe(false);
712
- expect(disconnectSpy).toHaveBeenCalled();
713
- expect(plantronicsService.logger.info).toHaveBeenCalledWith(err);
714
- }
715
- }));
716
- it('handles error from endpoint with 404 status and !isRetry', () => __awaiter(void 0, void 0, void 0, function* () {
717
- plantronicsService.isConnected = true;
718
- plantronicsService.isActive = true;
719
- const _makeRequestTaskSpy = jest.spyOn(plantronicsService, '_makeRequestTask');
720
- const isActiveResponseWithStatus = Object.assign(Object.assign({}, plantronics_test_responses_1.default.SessionManager.IsActive.default), { status: 404, 'Type_Name': 'Error' });
721
- yield sendScenario({
722
- '/SessionManager/IsActive*': {
723
- responses: [isActiveResponseWithStatus]
724
- }
725
- });
726
- try {
727
- yield plantronicsService._makeRequestTask(`/SessionManager/IsActive?name=${plantronicsService.pluginName}&active=true`);
728
- }
729
- catch (err) {
730
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/SessionManager/IsActive?name=${plantronicsService.pluginName}&active=true`, true);
731
- }
732
- }));
733
- it('handles browersama.isFirefox true error case', () => __awaiter(void 0, void 0, void 0, function* () {
734
- plantronicsService.isConnected = true;
735
- plantronicsService.isActive = true;
736
- const isActiveResponseWithStatus = Object.assign(Object.assign({}, plantronics_test_responses_1.default.SessionManager.IsActive.default), { status: 418, 'Type_Name': 'Error' });
737
- yield sendScenario({
738
- '/SessionManager/IsActive*': {
739
- responses: [isActiveResponseWithStatus]
740
- }
741
- });
742
- try {
743
- yield plantronicsService._makeRequest(`/SessionManager/IsActive?name=${plantronicsService.pluginName}&active=true`, false);
744
- }
745
- catch (err) {
746
- expect(plantronicsService.errorCode).toBe('browser');
747
- expect(plantronicsService.disableRetry).toBe(true);
748
- }
749
- }));
750
- it('handles successful return but no plantronics instance', () => __awaiter(void 0, void 0, void 0, function* () {
751
- plantronicsService.isConnected = true;
752
- plantronicsService.isActive = true;
753
- plantronics_1.default['instance'] = null;
754
- yield sendScenario({
755
- '/SessionManager/IsActive*': {
756
- responses: [plantronics_test_responses_1.default.SessionManager.IsActive.default]
757
- }
758
- });
759
- const noInstanceError = new Error('Application destroyed.');
760
- try {
761
- yield plantronicsService._makeRequest(`/SessionManager/IsActive?name=${plantronicsService.pluginName}&active=true`, false);
762
- }
763
- catch (err) {
764
- expect(err).toStrictEqual(noInstanceError);
765
- }
766
- }));
767
- });
768
- describe('disconnect function', () => {
769
- it('calls makeRequestTask if the implementation is connected', () => {
770
- plantronicsService.isConnected = true;
771
- const _makeRequestTaskSpy = jest.spyOn(plantronicsService, '_makeRequestTask');
772
- plantronicsService.disconnect();
773
- expect(_makeRequestTaskSpy).toHaveBeenCalledWith(`/SessionManager/UnRegister?name=${plantronicsService.pluginName}`);
774
- });
775
- it('sets the flags to the proper values after promise resolution', (done) => {
776
- plantronicsService.isConnected = true;
777
- const clearTimeoutsSpy = jest.spyOn(plantronicsService, 'clearTimeouts');
778
- plantronicsService.disconnect().then(() => {
779
- expect(plantronicsService.isConnected).toBe(false);
780
- expect(plantronicsService._deviceInfo).toBeNull();
781
- expect(clearTimeoutsSpy).toHaveBeenCalled();
782
- expect(plantronicsService.isActive).toBe(false);
783
- done();
784
- });
785
- });
786
- });
787
- describe('_fetch', () => {
788
- it('should call the fetchJsonp function with the proper URL', () => {
789
- plantronicsService._fetch = originalFetchFunction;
790
- console.log(plantronicsService._fetch('/test'));
791
- plantronicsService._fetch('/test');
792
- expect(fetch_jsonp_1.default).toHaveBeenCalledWith('/test');
793
- });
794
- });
795
- });
796
- //# sourceMappingURL=plantronics.test.js.map