@webex/plugin-meetings 3.8.0 → 3.8.1-next.10

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 (361) hide show
  1. package/README.md +26 -13
  2. package/dist/breakouts/breakout.js +1 -1
  3. package/dist/breakouts/index.js +70 -6
  4. package/dist/breakouts/index.js.map +1 -1
  5. package/dist/common/errors/webex-errors.js +12 -2
  6. package/dist/common/errors/webex-errors.js.map +1 -1
  7. package/dist/config.js +5 -1
  8. package/dist/config.js.map +1 -1
  9. package/dist/constants.js +28 -123
  10. package/dist/constants.js.map +1 -1
  11. package/dist/controls-options-manager/enums.js +3 -0
  12. package/dist/controls-options-manager/enums.js.map +1 -1
  13. package/dist/controls-options-manager/types.js.map +1 -1
  14. package/dist/controls-options-manager/util.js +78 -0
  15. package/dist/controls-options-manager/util.js.map +1 -1
  16. package/dist/interpretation/index.js +4 -4
  17. package/dist/interpretation/index.js.map +1 -1
  18. package/dist/interpretation/siLanguage.js +1 -1
  19. package/dist/locus-info/controlsUtils.js +37 -11
  20. package/dist/locus-info/controlsUtils.js.map +1 -1
  21. package/dist/locus-info/index.js +92 -12
  22. package/dist/locus-info/index.js.map +1 -1
  23. package/dist/locus-info/selfUtils.js +432 -418
  24. package/dist/locus-info/selfUtils.js.map +1 -1
  25. package/dist/media/index.js +17 -17
  26. package/dist/media/index.js.map +1 -1
  27. package/dist/media/properties.js +94 -6
  28. package/dist/media/properties.js.map +1 -1
  29. package/dist/meeting/brbState.js +9 -2
  30. package/dist/meeting/brbState.js.map +1 -1
  31. package/dist/meeting/in-meeting-actions.js +21 -1
  32. package/dist/meeting/in-meeting-actions.js.map +1 -1
  33. package/dist/meeting/index.js +678 -344
  34. package/dist/meeting/index.js.map +1 -1
  35. package/dist/meeting/locusMediaRequest.js +21 -22
  36. package/dist/meeting/locusMediaRequest.js.map +1 -1
  37. package/dist/meeting/muteState.js +4 -4
  38. package/dist/meeting/muteState.js.map +1 -1
  39. package/dist/meeting/request.js +30 -0
  40. package/dist/meeting/request.js.map +1 -1
  41. package/dist/meeting/request.type.js.map +1 -1
  42. package/dist/meeting/util.js +13 -2
  43. package/dist/meeting/util.js.map +1 -1
  44. package/dist/meeting-info/meeting-info-v2.js +373 -68
  45. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  46. package/dist/meeting-info/utilv2.js +5 -1
  47. package/dist/meeting-info/utilv2.js.map +1 -1
  48. package/dist/meetings/index.js +136 -1
  49. package/dist/meetings/index.js.map +1 -1
  50. package/dist/meetings/util.js +14 -0
  51. package/dist/meetings/util.js.map +1 -1
  52. package/dist/member/index.js +55 -9
  53. package/dist/member/index.js.map +1 -1
  54. package/dist/member/types.js +3 -0
  55. package/dist/member/types.js.map +1 -1
  56. package/dist/member/util.js +335 -353
  57. package/dist/member/util.js.map +1 -1
  58. package/dist/members/collection.js.map +1 -1
  59. package/dist/members/index.js +137 -29
  60. package/dist/members/index.js.map +1 -1
  61. package/dist/members/request.js +38 -0
  62. package/dist/members/request.js.map +1 -1
  63. package/dist/members/util.js +36 -1
  64. package/dist/members/util.js.map +1 -1
  65. package/dist/metrics/constants.js +10 -0
  66. package/dist/metrics/constants.js.map +1 -1
  67. package/dist/multistream/remoteMediaManager.js +40 -8
  68. package/dist/multistream/remoteMediaManager.js.map +1 -1
  69. package/dist/reachability/clusterReachability.js +63 -27
  70. package/dist/reachability/clusterReachability.js.map +1 -1
  71. package/dist/reachability/index.js +107 -47
  72. package/dist/reachability/index.js.map +1 -1
  73. package/dist/reachability/reachability.types.js +14 -0
  74. package/dist/reachability/reachability.types.js.map +1 -1
  75. package/dist/reachability/request.js +19 -3
  76. package/dist/reachability/request.js.map +1 -1
  77. package/dist/reconnection-manager/index.js +2 -2
  78. package/dist/reconnection-manager/index.js.map +1 -1
  79. package/dist/recording-controller/util.js +5 -5
  80. package/dist/recording-controller/util.js.map +1 -1
  81. package/dist/roap/index.js.map +1 -1
  82. package/dist/roap/turnDiscovery.js +45 -27
  83. package/dist/roap/turnDiscovery.js.map +1 -1
  84. package/dist/roap/types.js +17 -0
  85. package/dist/roap/types.js.map +1 -0
  86. package/dist/types/common/errors/webex-errors.d.ts +7 -1
  87. package/dist/types/config.d.ts +3 -0
  88. package/dist/types/constants.d.ts +20 -85
  89. package/dist/types/controls-options-manager/enums.d.ts +4 -1
  90. package/dist/types/controls-options-manager/types.d.ts +10 -1
  91. package/dist/types/locus-info/index.d.ts +3 -3
  92. package/dist/types/locus-info/selfUtils.d.ts +216 -1
  93. package/dist/types/media/properties.d.ts +15 -0
  94. package/dist/types/meeting/in-meeting-actions.d.ts +20 -0
  95. package/dist/types/meeting/index.d.ts +65 -1
  96. package/dist/types/meeting/muteState.d.ts +0 -1
  97. package/dist/types/meeting/request.d.ts +12 -1
  98. package/dist/types/meeting/request.type.d.ts +6 -0
  99. package/dist/types/meeting/util.d.ts +3 -1
  100. package/dist/types/meeting-info/meeting-info-v2.d.ts +82 -1
  101. package/dist/types/meetings/index.d.ts +57 -0
  102. package/dist/types/member/index.d.ts +21 -6
  103. package/dist/types/member/types.d.ts +73 -14
  104. package/dist/types/member/util.d.ts +156 -1
  105. package/dist/types/members/collection.d.ts +6 -5
  106. package/dist/types/members/index.d.ts +32 -43
  107. package/dist/types/members/request.d.ts +26 -0
  108. package/dist/types/members/util.d.ts +27 -0
  109. package/dist/types/metrics/constants.d.ts +10 -0
  110. package/dist/types/multistream/remoteMediaManager.d.ts +10 -1
  111. package/dist/types/reachability/clusterReachability.d.ts +15 -7
  112. package/dist/types/reachability/index.d.ts +10 -1
  113. package/dist/types/reachability/reachability.types.d.ts +5 -0
  114. package/dist/types/roap/index.d.ts +3 -2
  115. package/dist/types/roap/turnDiscovery.d.ts +5 -17
  116. package/dist/types/roap/types.d.ts +16 -0
  117. package/dist/webinar/index.js +2 -2
  118. package/dist/webinar/index.js.map +1 -1
  119. package/package.json +24 -23
  120. package/src/breakouts/index.ts +69 -0
  121. package/src/common/errors/webex-errors.ts +8 -1
  122. package/src/config.ts +3 -0
  123. package/src/constants.ts +30 -90
  124. package/src/controls-options-manager/enums.ts +3 -0
  125. package/src/controls-options-manager/types.ts +16 -1
  126. package/src/controls-options-manager/util.ts +93 -0
  127. package/src/interpretation/index.ts +3 -3
  128. package/src/locus-info/controlsUtils.ts +59 -14
  129. package/src/locus-info/index.ts +97 -13
  130. package/src/locus-info/selfUtils.ts +496 -442
  131. package/src/media/index.ts +23 -21
  132. package/src/media/properties.ts +96 -0
  133. package/src/meeting/brbState.ts +11 -2
  134. package/src/meeting/in-meeting-actions.ts +40 -0
  135. package/src/meeting/index.ts +470 -105
  136. package/src/meeting/locusMediaRequest.ts +27 -22
  137. package/src/meeting/muteState.ts +4 -4
  138. package/src/meeting/request.ts +36 -1
  139. package/src/meeting/request.type.ts +7 -0
  140. package/src/meeting/util.ts +11 -2
  141. package/src/meeting-info/meeting-info-v2.ts +254 -8
  142. package/src/meeting-info/utilv2.ts +5 -0
  143. package/src/meetings/index.ts +148 -1
  144. package/src/meetings/util.ts +18 -0
  145. package/src/member/index.ts +68 -22
  146. package/src/member/types.ts +82 -16
  147. package/src/member/util.ts +357 -350
  148. package/src/members/collection.ts +4 -3
  149. package/src/members/index.ts +137 -18
  150. package/src/members/request.ts +44 -0
  151. package/src/members/util.ts +43 -1
  152. package/src/metrics/constants.ts +10 -0
  153. package/src/multistream/remoteMediaManager.ts +32 -10
  154. package/src/reachability/clusterReachability.ts +73 -26
  155. package/src/reachability/index.ts +62 -1
  156. package/src/reachability/reachability.types.ts +6 -0
  157. package/src/reachability/request.ts +7 -0
  158. package/src/reconnection-manager/index.ts +2 -2
  159. package/src/recording-controller/util.ts +17 -13
  160. package/src/roap/index.ts +3 -7
  161. package/src/roap/turnDiscovery.ts +34 -39
  162. package/src/roap/types.ts +23 -0
  163. package/src/webinar/index.ts +1 -1
  164. package/test/unit/spec/breakouts/index.ts +167 -95
  165. package/test/unit/spec/controls-options-manager/util.js +178 -0
  166. package/test/unit/spec/interpretation/index.ts +39 -1
  167. package/test/unit/spec/locus-info/controlsUtils.js +155 -9
  168. package/test/unit/spec/locus-info/index.js +209 -73
  169. package/test/unit/spec/locus-info/selfUtils.js +98 -24
  170. package/test/unit/spec/media/index.ts +150 -18
  171. package/test/unit/spec/media/properties.ts +130 -0
  172. package/test/unit/spec/meeting/brbState.ts +40 -2
  173. package/test/unit/spec/meeting/in-meeting-actions.ts +23 -4
  174. package/test/unit/spec/meeting/index.js +804 -139
  175. package/test/unit/spec/meeting/locusMediaRequest.ts +95 -87
  176. package/test/unit/spec/meeting/muteState.js +73 -2
  177. package/test/unit/spec/meeting/request.js +32 -1
  178. package/test/unit/spec/meeting/utils.js +119 -18
  179. package/test/unit/spec/meeting-info/meetinginfov2.js +484 -114
  180. package/test/unit/spec/meeting-info/utilv2.js +19 -0
  181. package/test/unit/spec/meetings/index.js +146 -2
  182. package/test/unit/spec/member/index.js +7 -0
  183. package/test/unit/spec/member/util.js +24 -0
  184. package/test/unit/spec/members/index.js +304 -78
  185. package/test/unit/spec/members/request.js +68 -22
  186. package/test/unit/spec/members/utils.js +75 -0
  187. package/test/unit/spec/multistream/remoteMediaManager.ts +397 -118
  188. package/test/unit/spec/reachability/clusterReachability.ts +88 -56
  189. package/test/unit/spec/reachability/index.ts +97 -0
  190. package/test/unit/spec/reachability/request.js +47 -2
  191. package/test/unit/spec/reconnection-manager/index.js +4 -4
  192. package/test/unit/spec/roap/turnDiscovery.ts +110 -28
  193. package/test/unit/spec/webinar/index.ts +5 -0
  194. package/dist/annotation/annotation.types.d.ts +0 -42
  195. package/dist/annotation/constants.d.ts +0 -31
  196. package/dist/annotation/index.d.ts +0 -117
  197. package/dist/breakouts/breakout.d.ts +0 -8
  198. package/dist/breakouts/collection.d.ts +0 -5
  199. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  200. package/dist/breakouts/events.d.ts +0 -8
  201. package/dist/breakouts/index.d.ts +0 -5
  202. package/dist/breakouts/request.d.ts +0 -22
  203. package/dist/breakouts/utils.d.ts +0 -15
  204. package/dist/common/browser-detection.d.ts +0 -9
  205. package/dist/common/collection.d.ts +0 -48
  206. package/dist/common/config.d.ts +0 -2
  207. package/dist/common/errors/captcha-error.d.ts +0 -15
  208. package/dist/common/errors/intent-to-join.d.ts +0 -16
  209. package/dist/common/errors/join-meeting.d.ts +0 -17
  210. package/dist/common/errors/media.d.ts +0 -15
  211. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  212. package/dist/common/errors/parameter.d.ts +0 -15
  213. package/dist/common/errors/password-error.d.ts +0 -15
  214. package/dist/common/errors/permission.d.ts +0 -14
  215. package/dist/common/errors/reclaim-host-role-error.js +0 -149
  216. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  217. package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
  218. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  219. package/dist/common/errors/reconnection-in-progress.js +0 -33
  220. package/dist/common/errors/reconnection-in-progress.js.map +0 -1
  221. package/dist/common/errors/reconnection.d.ts +0 -15
  222. package/dist/common/errors/stats.d.ts +0 -15
  223. package/dist/common/errors/webex-errors.d.ts +0 -93
  224. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  225. package/dist/common/events/events-scope.d.ts +0 -17
  226. package/dist/common/events/events.d.ts +0 -12
  227. package/dist/common/events/trigger-proxy.d.ts +0 -2
  228. package/dist/common/events/util.d.ts +0 -2
  229. package/dist/common/logs/logger-config.d.ts +0 -2
  230. package/dist/common/logs/logger-proxy.d.ts +0 -2
  231. package/dist/common/logs/request.d.ts +0 -36
  232. package/dist/common/queue.d.ts +0 -34
  233. package/dist/config.d.ts +0 -72
  234. package/dist/constants.d.ts +0 -1088
  235. package/dist/controls-options-manager/constants.d.ts +0 -4
  236. package/dist/controls-options-manager/enums.d.ts +0 -15
  237. package/dist/controls-options-manager/index.d.ts +0 -136
  238. package/dist/controls-options-manager/types.d.ts +0 -43
  239. package/dist/controls-options-manager/util.d.ts +0 -1
  240. package/dist/index.d.ts +0 -7
  241. package/dist/interceptors/index.d.ts +0 -2
  242. package/dist/interceptors/locusRetry.d.ts +0 -27
  243. package/dist/interpretation/collection.d.ts +0 -5
  244. package/dist/interpretation/index.d.ts +0 -5
  245. package/dist/interpretation/siLanguage.d.ts +0 -5
  246. package/dist/locus-info/controlsUtils.d.ts +0 -2
  247. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  248. package/dist/locus-info/fullState.d.ts +0 -2
  249. package/dist/locus-info/hostUtils.d.ts +0 -2
  250. package/dist/locus-info/index.d.ts +0 -322
  251. package/dist/locus-info/infoUtils.d.ts +0 -2
  252. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  253. package/dist/locus-info/parser.d.ts +0 -272
  254. package/dist/locus-info/selfUtils.d.ts +0 -2
  255. package/dist/media/index.d.ts +0 -34
  256. package/dist/media/properties.d.ts +0 -93
  257. package/dist/media/util.d.ts +0 -2
  258. package/dist/mediaQualityMetrics/config.d.ts +0 -241
  259. package/dist/mediaQualityMetrics/config.js +0 -502
  260. package/dist/mediaQualityMetrics/config.js.map +0 -1
  261. package/dist/meeting/effectsState.js +0 -260
  262. package/dist/meeting/effectsState.js.map +0 -1
  263. package/dist/meeting/in-meeting-actions.d.ts +0 -167
  264. package/dist/meeting/index.d.ts +0 -1825
  265. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  266. package/dist/meeting/muteState.d.ts +0 -178
  267. package/dist/meeting/request.d.ts +0 -295
  268. package/dist/meeting/request.type.d.ts +0 -11
  269. package/dist/meeting/state.d.ts +0 -9
  270. package/dist/meeting/util.d.ts +0 -119
  271. package/dist/meeting/voicea-meeting.d.ts +0 -16
  272. package/dist/meeting-info/collection.d.ts +0 -20
  273. package/dist/meeting-info/index.d.ts +0 -69
  274. package/dist/meeting-info/meeting-info-v2.d.ts +0 -123
  275. package/dist/meeting-info/request.d.ts +0 -22
  276. package/dist/meeting-info/util.d.ts +0 -2
  277. package/dist/meeting-info/utilv2.d.ts +0 -2
  278. package/dist/meetings/collection.d.ts +0 -40
  279. package/dist/meetings/index.d.ts +0 -390
  280. package/dist/meetings/meetings.types.d.ts +0 -4
  281. package/dist/meetings/request.d.ts +0 -27
  282. package/dist/meetings/util.d.ts +0 -18
  283. package/dist/member/index.d.ts +0 -160
  284. package/dist/member/member.types.js +0 -17
  285. package/dist/member/member.types.js.map +0 -1
  286. package/dist/member/types.d.ts +0 -32
  287. package/dist/member/util.d.ts +0 -2
  288. package/dist/members/collection.d.ts +0 -29
  289. package/dist/members/index.d.ts +0 -353
  290. package/dist/members/request.d.ts +0 -114
  291. package/dist/members/types.d.ts +0 -25
  292. package/dist/members/util.d.ts +0 -215
  293. package/dist/metrics/config.js +0 -276
  294. package/dist/metrics/config.js.map +0 -1
  295. package/dist/metrics/constants.d.ts +0 -70
  296. package/dist/metrics/index.d.ts +0 -45
  297. package/dist/multistream/mediaRequestManager.d.ts +0 -119
  298. package/dist/multistream/receiveSlot.d.ts +0 -68
  299. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  300. package/dist/multistream/remoteMedia.d.ts +0 -72
  301. package/dist/multistream/remoteMediaGroup.d.ts +0 -49
  302. package/dist/multistream/remoteMediaManager.d.ts +0 -300
  303. package/dist/multistream/sendSlotManager.d.ts +0 -69
  304. package/dist/networkQualityMonitor/index.d.ts +0 -70
  305. package/dist/networkQualityMonitor/index.js +0 -221
  306. package/dist/networkQualityMonitor/index.js.map +0 -1
  307. package/dist/peer-connection-manager/index.js +0 -671
  308. package/dist/peer-connection-manager/index.js.map +0 -1
  309. package/dist/peer-connection-manager/util.js +0 -109
  310. package/dist/peer-connection-manager/util.js.map +0 -1
  311. package/dist/personal-meeting-room/index.d.ts +0 -47
  312. package/dist/personal-meeting-room/request.d.ts +0 -14
  313. package/dist/personal-meeting-room/util.d.ts +0 -2
  314. package/dist/reachability/clusterReachability.d.ts +0 -109
  315. package/dist/reachability/index.d.ts +0 -105
  316. package/dist/reachability/request.d.ts +0 -39
  317. package/dist/reachability/util.d.ts +0 -8
  318. package/dist/reactions/constants.d.ts +0 -3
  319. package/dist/reactions/reactions.d.ts +0 -4
  320. package/dist/reactions/reactions.type.d.ts +0 -52
  321. package/dist/reconnection-manager/index.d.ts +0 -136
  322. package/dist/recording-controller/enums.d.ts +0 -7
  323. package/dist/recording-controller/index.d.ts +0 -207
  324. package/dist/recording-controller/util.d.ts +0 -14
  325. package/dist/roap/collection.js +0 -62
  326. package/dist/roap/collection.js.map +0 -1
  327. package/dist/roap/handler.js +0 -275
  328. package/dist/roap/handler.js.map +0 -1
  329. package/dist/roap/index.d.ts +0 -86
  330. package/dist/roap/request.d.ts +0 -39
  331. package/dist/roap/state.js +0 -126
  332. package/dist/roap/state.js.map +0 -1
  333. package/dist/roap/turnDiscovery.d.ts +0 -155
  334. package/dist/roap/util.js +0 -75
  335. package/dist/roap/util.js.map +0 -1
  336. package/dist/rtcMetrics/constants.d.ts +0 -4
  337. package/dist/rtcMetrics/constants.js +0 -11
  338. package/dist/rtcMetrics/constants.js.map +0 -1
  339. package/dist/rtcMetrics/index.d.ts +0 -61
  340. package/dist/rtcMetrics/index.js +0 -197
  341. package/dist/rtcMetrics/index.js.map +0 -1
  342. package/dist/statsAnalyzer/global.d.ts +0 -36
  343. package/dist/statsAnalyzer/global.js +0 -126
  344. package/dist/statsAnalyzer/global.js.map +0 -1
  345. package/dist/statsAnalyzer/index.d.ts +0 -217
  346. package/dist/statsAnalyzer/index.js +0 -1013
  347. package/dist/statsAnalyzer/index.js.map +0 -1
  348. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -48
  349. package/dist/statsAnalyzer/mqaUtil.js +0 -179
  350. package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
  351. package/dist/transcription/index.d.ts +0 -64
  352. package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
  353. package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
  354. package/dist/types/networkQualityMonitor/index.d.ts +0 -70
  355. package/dist/types/rtcMetrics/constants.d.ts +0 -4
  356. package/dist/types/rtcMetrics/index.d.ts +0 -71
  357. package/dist/types/statsAnalyzer/global.d.ts +0 -36
  358. package/dist/types/statsAnalyzer/index.d.ts +0 -217
  359. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
  360. package/dist/webinar/collection.d.ts +0 -16
  361. package/dist/webinar/index.d.ts +0 -5
@@ -114,39 +114,58 @@ describe('plugin-meetings', () => {
114
114
  assert.notCalled(breakoutClosingHandler);
115
115
  breakouts.set(deps);
116
116
  assert.calledOnce(breakoutClosingHandler);
117
- }
118
-
119
- checkIsCalled({sessionType: BREAKOUTS.SESSION_TYPES.MAIN, groups: undefined, status: undefined}, {
120
- sessionType: BREAKOUTS.SESSION_TYPES.MAIN,
121
- groups: [{status: BREAKOUTS.STATUS.CLOSING}],
122
- status: undefined
123
- });
117
+ };
124
118
 
125
- checkIsCalled({sessionType: BREAKOUTS.SESSION_TYPES.MAIN, groups: [{status: BREAKOUTS.STATUS.OPEN}], status: undefined}, {
126
- sessionType: BREAKOUTS.SESSION_TYPES.MAIN,
127
- groups: [{status: BREAKOUTS.STATUS.CLOSING}],
128
- status: undefined
129
- });
119
+ checkIsCalled(
120
+ {sessionType: BREAKOUTS.SESSION_TYPES.MAIN, groups: undefined, status: undefined},
121
+ {
122
+ sessionType: BREAKOUTS.SESSION_TYPES.MAIN,
123
+ groups: [{status: BREAKOUTS.STATUS.CLOSING}],
124
+ status: undefined,
125
+ }
126
+ );
130
127
 
131
- checkIsCalled({sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT, groups: undefined, status: undefined}, {
132
- sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT,
133
- groups: undefined,
134
- status: BREAKOUTS.STATUS.CLOSING
135
- });
128
+ checkIsCalled(
129
+ {
130
+ sessionType: BREAKOUTS.SESSION_TYPES.MAIN,
131
+ groups: [{status: BREAKOUTS.STATUS.OPEN}],
132
+ status: undefined,
133
+ },
134
+ {
135
+ sessionType: BREAKOUTS.SESSION_TYPES.MAIN,
136
+ groups: [{status: BREAKOUTS.STATUS.CLOSING}],
137
+ status: undefined,
138
+ }
139
+ );
136
140
 
137
- checkIsCalled({sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT, groups: undefined, status: BREAKOUTS.STATUS.OPEN}, {
138
- sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT,
139
- groups: undefined,
140
- status: BREAKOUTS.STATUS.CLOSING
141
- });
141
+ checkIsCalled(
142
+ {sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT, groups: undefined, status: undefined},
143
+ {
144
+ sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT,
145
+ groups: undefined,
146
+ status: BREAKOUTS.STATUS.CLOSING,
147
+ }
148
+ );
142
149
 
150
+ checkIsCalled(
151
+ {
152
+ sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT,
153
+ groups: undefined,
154
+ status: BREAKOUTS.STATUS.OPEN,
155
+ },
156
+ {
157
+ sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT,
158
+ groups: undefined,
159
+ status: BREAKOUTS.STATUS.CLOSING,
160
+ }
161
+ );
143
162
  });
144
163
 
145
164
  it('should not emits BREAKOUTS_CLOSING event when just sessionType changed from BREAKOUT to MAIN', () => {
146
165
  breakouts.set({
147
166
  sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT,
148
167
  groups: undefined,
149
- status: BREAKOUTS.STATUS.CLOSING
168
+ status: BREAKOUTS.STATUS.CLOSING,
150
169
  });
151
170
 
152
171
  const breakoutClosingHandler = sinon.stub();
@@ -155,7 +174,7 @@ describe('plugin-meetings', () => {
155
174
  breakouts.set({
156
175
  sessionType: BREAKOUTS.SESSION_TYPES.MAIN,
157
176
  groups: [{status: BREAKOUTS.STATUS.CLOSING}],
158
- status: undefined
177
+ status: undefined,
159
178
  });
160
179
 
161
180
  assert.notCalled(breakoutClosingHandler);
@@ -171,14 +190,22 @@ describe('plugin-meetings', () => {
171
190
  it('call triggerReturnToMainEvent correctly when requested breakout add', () => {
172
191
  breakouts.triggerReturnToMainEvent = sinon.stub();
173
192
  breakouts.breakouts.add({sessionId: 'session1', sessionType: 'MAIN'});
174
- assert.calledOnceWithExactly(breakouts.triggerReturnToMainEvent, breakouts.breakouts.get('session1'));
193
+ assert.calledOnceWithExactly(
194
+ breakouts.triggerReturnToMainEvent,
195
+ breakouts.breakouts.get('session1')
196
+ );
175
197
  });
176
198
 
177
199
  it('call triggerReturnToMainEvent correctly when breakout requestedLastModifiedTime change', () => {
178
200
  breakouts.breakouts.add({sessionId: 'session1', sessionType: 'MAIN'});
179
201
  breakouts.triggerReturnToMainEvent = sinon.stub();
180
- breakouts.breakouts.get('session1').set({requestedLastModifiedTime: "2023-05-09T17:16:01.000Z"});
181
- assert.calledOnceWithExactly(breakouts.triggerReturnToMainEvent, breakouts.breakouts.get('session1'));
202
+ breakouts.breakouts
203
+ .get('session1')
204
+ .set({requestedLastModifiedTime: '2023-05-09T17:16:01.000Z'});
205
+ assert.calledOnceWithExactly(
206
+ breakouts.triggerReturnToMainEvent,
207
+ breakouts.breakouts.get('session1')
208
+ );
182
209
  });
183
210
 
184
211
  it('call queryPreAssignments correctly when should query preAssignments is true', () => {
@@ -195,7 +222,7 @@ describe('plugin-meetings', () => {
195
222
  describe('#listenToCurrentSessionTypeChange', () => {
196
223
  it('triggers leave breakout event when sessionType changed from SESSION to MAIN', () => {
197
224
  const handler = sinon.stub();
198
- breakouts.currentBreakoutSession.set({sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT})
225
+ breakouts.currentBreakoutSession.set({sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT});
199
226
  breakouts.listenTo(breakouts, BREAKOUTS.EVENTS.LEAVE_BREAKOUT, handler);
200
227
  breakouts.currentBreakoutSession.set({sessionType: BREAKOUTS.SESSION_TYPES.MAIN});
201
228
 
@@ -206,7 +233,7 @@ describe('plugin-meetings', () => {
206
233
 
207
234
  it('should not triggers leave breakout event when sessionType changed from undefined to MAIN', () => {
208
235
  const handler = sinon.stub();
209
- breakouts.currentBreakoutSession.set({sessionType: undefined})
236
+ breakouts.currentBreakoutSession.set({sessionType: undefined});
210
237
  breakouts.listenTo(breakouts, BREAKOUTS.EVENTS.LEAVE_BREAKOUT, handler);
211
238
  breakouts.currentBreakoutSession.set({sessionType: BREAKOUTS.SESSION_TYPES.MAIN});
212
239
 
@@ -217,7 +244,7 @@ describe('plugin-meetings', () => {
217
244
 
218
245
  it('should not triggers leave breakout event when sessionType changed from MAIN to SESSION', () => {
219
246
  const handler = sinon.stub();
220
- breakouts.currentBreakoutSession.set({sessionType: BREAKOUTS.SESSION_TYPES.MAIN})
247
+ breakouts.currentBreakoutSession.set({sessionType: BREAKOUTS.SESSION_TYPES.MAIN});
221
248
  breakouts.listenTo(breakouts, BREAKOUTS.EVENTS.LEAVE_BREAKOUT, handler);
222
249
  breakouts.currentBreakoutSession.set({sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT});
223
250
 
@@ -268,7 +295,7 @@ describe('plugin-meetings', () => {
268
295
  callback({
269
296
  data: {
270
297
  participant: 'participant',
271
- sessionId: 'sessionId'
298
+ sessionId: 'sessionId',
272
299
  },
273
300
  });
274
301
 
@@ -321,38 +348,38 @@ describe('plugin-meetings', () => {
321
348
 
322
349
  it('update the startTime correctly when no attribute startTime exists on params', () => {
323
350
  breakouts.updateBreakout({
324
- startTime: "startTime"
325
- })
351
+ startTime: 'startTime',
352
+ });
326
353
  assert.equal(breakouts.startTime, 'startTime');
327
354
 
328
- breakouts.updateBreakout({})
355
+ breakouts.updateBreakout({});
329
356
  assert.equal(breakouts.startTime, undefined);
330
357
  });
331
358
 
332
359
  it('update the status correctly when no attribute status exists on params', () => {
333
360
  breakouts.updateBreakout({
334
- status: 'CLOSING'
335
- })
361
+ status: 'CLOSING',
362
+ });
336
363
  assert.equal(breakouts.status, 'CLOSING');
337
364
 
338
- breakouts.updateBreakout({})
365
+ breakouts.updateBreakout({});
339
366
  assert.equal(breakouts.status, undefined);
340
367
  });
341
368
 
342
369
  it('call clearBreakouts if current breakout is not in-progress', () => {
343
370
  breakouts.clearBreakouts = sinon.stub();
344
- breakouts.updateBreakout({status: 'CLOSED'})
371
+ breakouts.updateBreakout({status: 'CLOSED'});
345
372
  assert.calledOnce(breakouts.clearBreakouts);
346
373
  });
347
374
 
348
375
  it('updates the current breakout session, call onBreakoutJoinResponse when session changed', () => {
349
376
  breakouts.webex.meetings = {
350
377
  getMeetingByType: sinon.stub().returns({
351
- id: 'meeting-id'
352
- })
378
+ id: 'meeting-id',
379
+ }),
353
380
  };
354
- const onBreakoutJoinResponseSpy = sinon.stub(breakoutEvent,'onBreakoutJoinResponse')
355
- breakouts.currentBreakoutSession.sessionId = "sessionId-old";
381
+ const onBreakoutJoinResponseSpy = sinon.stub(breakoutEvent, 'onBreakoutJoinResponse');
382
+ breakouts.currentBreakoutSession.sessionId = 'sessionId-old';
356
383
  breakouts.updateBreakout({
357
384
  sessionId: 'sessionId-new',
358
385
  groupId: 'groupId',
@@ -370,19 +397,18 @@ describe('plugin-meetings', () => {
370
397
 
371
398
  assert.calledOnce(onBreakoutJoinResponseSpy);
372
399
 
373
- onBreakoutJoinResponseSpy.restore()
374
-
400
+ onBreakoutJoinResponseSpy.restore();
375
401
  });
376
402
 
377
403
  it('updates the current breakout session, not call onBreakoutJoinResponse when session no changed', () => {
378
404
  breakouts.webex.meetings = {
379
405
  getMeetingByType: sinon.stub().returns({
380
- id: 'meeting-id'
381
- })
406
+ id: 'meeting-id',
407
+ }),
382
408
  };
383
409
  const onBreakoutJoinResponseSpy = sinon.stub(breakoutEvent, 'onBreakoutJoinResponse');
384
- breakouts.currentBreakoutSession.sessionId = "sessionId";
385
- breakouts.currentBreakoutSession.groupId = "groupId";
410
+ breakouts.currentBreakoutSession.sessionId = 'sessionId';
411
+ breakouts.currentBreakoutSession.groupId = 'groupId';
386
412
  breakouts.updateBreakout({
387
413
  sessionId: 'sessionId',
388
414
  groupId: 'groupId',
@@ -399,8 +425,7 @@ describe('plugin-meetings', () => {
399
425
  });
400
426
 
401
427
  assert.notCalled(onBreakoutJoinResponseSpy);
402
- onBreakoutJoinResponseSpy.restore()
403
-
428
+ onBreakoutJoinResponseSpy.restore();
404
429
  });
405
430
  });
406
431
 
@@ -446,13 +471,16 @@ describe('plugin-meetings', () => {
446
471
  const payload = {
447
472
  breakoutSessions: {
448
473
  assigned: [{sessionId: 'sessionId1'}],
449
- requested: [{sessionId: 'sessionId2', modifiedAt: "2023-05-09T17:16:01.000Z"}],
474
+ requested: [{sessionId: 'sessionId2', modifiedAt: '2023-05-09T17:16:01.000Z'}],
450
475
  },
451
476
  };
452
477
 
453
478
  breakouts.updateBreakoutSessions(payload);
454
- assert.equal(breakouts.breakouts.get('sessionId1').requestedLastModifiedTime, undefined)
455
- assert.equal(breakouts.breakouts.get('sessionId2').requestedLastModifiedTime, "2023-05-09T17:16:01.000Z")
479
+ assert.equal(breakouts.breakouts.get('sessionId1').requestedLastModifiedTime, undefined);
480
+ assert.equal(
481
+ breakouts.breakouts.get('sessionId2').requestedLastModifiedTime,
482
+ '2023-05-09T17:16:01.000Z'
483
+ );
456
484
  });
457
485
 
458
486
  it('not update breakout sessions when breakouts is closing', () => {
@@ -603,15 +631,15 @@ describe('plugin-meetings', () => {
603
631
 
604
632
  describe('#breakoutStatus', () => {
605
633
  it('return status from groups with session type', () => {
606
- breakouts.set('groups', [{status: "OPEN"}]);
607
- breakouts.set('status', "CLOSED");
634
+ breakouts.set('groups', [{status: 'OPEN'}]);
635
+ breakouts.set('status', 'CLOSED');
608
636
  breakouts.set('sessionType', BREAKOUTS.SESSION_TYPES.MAIN);
609
637
 
610
- assert.equal(breakouts.breakoutStatus, "OPEN")
638
+ assert.equal(breakouts.breakoutStatus, 'OPEN');
611
639
 
612
640
  breakouts.set('sessionType', BREAKOUTS.SESSION_TYPES.BREAKOUT);
613
641
 
614
- assert.equal(breakouts.breakoutStatus, "CLOSED")
642
+ assert.equal(breakouts.breakoutStatus, 'CLOSED');
615
643
  });
616
644
  });
617
645
 
@@ -634,7 +662,7 @@ describe('plugin-meetings', () => {
634
662
  it('return breakout is in progress depends on the status(groups/breakouts)', () => {
635
663
  breakouts.set('groups', [{status: 'CLOSING'}]);
636
664
 
637
- assert.equal(breakouts.isBreakoutInProgress(), true)
665
+ assert.equal(breakouts.isBreakoutInProgress(), true);
638
666
 
639
667
  breakouts.set('groups', undefined);
640
668
  breakouts.set('status', 'OPEN');
@@ -1107,7 +1135,7 @@ describe('plugin-meetings', () => {
1107
1135
  someOtherParam: 'someOtherParam',
1108
1136
  });
1109
1137
  assert.deepEqual(result, {body: mockedReturnBody});
1110
- assert.calledWithExactly(breakouts._setManageGroups, {body: mockedReturnBody})
1138
+ assert.calledWithExactly(breakouts._setManageGroups, {body: mockedReturnBody});
1111
1139
  });
1112
1140
 
1113
1141
  it('rejects when edit lock token mismatch', async () => {
@@ -1668,29 +1696,29 @@ describe('plugin-meetings', () => {
1668
1696
  describe('#queryPreAssignments', () => {
1669
1697
  it('makes the expected query', async () => {
1670
1698
  const mockPreAssignments = [
1671
- {
1672
- sessions: [
1673
- {
1674
- name: 'Breakout session 1',
1675
- assignedEmails: ['aa@aa.com', 'bb@bb.com', 'cc@cc.com'],
1676
- anyoneCanJoin: false,
1677
- },
1678
- {
1679
- name: 'Breakout session 2',
1680
- anyoneCanJoin: false,
1681
- },
1682
- {
1683
- name: 'Breakout session 3',
1684
- assignedEmails: ['cc@cc.com'],
1685
- anyoneCanJoin: false,
1686
- },
1687
- ],
1688
- unassignedInvitees: {
1689
- emails: ['dd@dd.com'],
1699
+ {
1700
+ sessions: [
1701
+ {
1702
+ name: 'Breakout session 1',
1703
+ assignedEmails: ['aa@aa.com', 'bb@bb.com', 'cc@cc.com'],
1704
+ anyoneCanJoin: false,
1690
1705
  },
1691
- type: 'BREAKOUT',
1706
+ {
1707
+ name: 'Breakout session 2',
1708
+ anyoneCanJoin: false,
1709
+ },
1710
+ {
1711
+ name: 'Breakout session 3',
1712
+ assignedEmails: ['cc@cc.com'],
1713
+ anyoneCanJoin: false,
1714
+ },
1715
+ ],
1716
+ unassignedInvitees: {
1717
+ emails: ['dd@dd.com'],
1692
1718
  },
1693
- ];
1719
+ type: 'BREAKOUT',
1720
+ },
1721
+ ];
1694
1722
  webex.request.returns(
1695
1723
  Promise.resolve({
1696
1724
  body: {
@@ -1705,7 +1733,7 @@ describe('plugin-meetings', () => {
1705
1733
  uri: 'url/preassignments',
1706
1734
  qs: {
1707
1735
  locusUrl: 'dGVzdA==',
1708
- }
1736
+ },
1709
1737
  });
1710
1738
 
1711
1739
  assert.deepEqual(breakouts.preAssignments, mockPreAssignments);
@@ -1721,7 +1749,10 @@ describe('plugin-meetings', () => {
1721
1749
  };
1722
1750
  webex.request.rejects(response);
1723
1751
  LoggerProxy.logger.error = sinon.stub();
1724
- const result = await breakouts.queryPreAssignments({enableBreakoutSession: true, hasBreakoutPreAssignments: true});
1752
+ const result = await breakouts.queryPreAssignments({
1753
+ enableBreakoutSession: true,
1754
+ hasBreakoutPreAssignments: true,
1755
+ });
1725
1756
  await testUtils.flushPromises();
1726
1757
  assert.calledOnceWithExactly(
1727
1758
  LoggerProxy.logger.error,
@@ -1730,20 +1761,35 @@ describe('plugin-meetings', () => {
1730
1761
  );
1731
1762
  });
1732
1763
 
1733
- it('fail when no correct params', () => {
1734
-
1764
+ it('fail when no correct params', () => {
1735
1765
  assert.deepEqual(breakouts.queryPreAssignments(undefined), undefined);
1736
1766
 
1737
1767
  assert.deepEqual(breakouts.queryPreAssignments({}), undefined);
1738
1768
 
1739
- assert.deepEqual(breakouts.queryPreAssignments({ enableBreakoutSession: true, hasBreakoutPreAssignments: false }), undefined);
1740
-
1741
- assert.deepEqual(breakouts.queryPreAssignments({ enableBreakoutSession: false, hasBreakoutPreAssignments: true }), undefined);
1769
+ assert.deepEqual(
1770
+ breakouts.queryPreAssignments({
1771
+ enableBreakoutSession: true,
1772
+ hasBreakoutPreAssignments: false,
1773
+ }),
1774
+ undefined
1775
+ );
1742
1776
 
1743
- assert.deepEqual(breakouts.queryPreAssignments({ enableBreakoutSession: false, hasBreakoutPreAssignments: false }), undefined);
1777
+ assert.deepEqual(
1778
+ breakouts.queryPreAssignments({
1779
+ enableBreakoutSession: false,
1780
+ hasBreakoutPreAssignments: true,
1781
+ }),
1782
+ undefined
1783
+ );
1744
1784
 
1785
+ assert.deepEqual(
1786
+ breakouts.queryPreAssignments({
1787
+ enableBreakoutSession: false,
1788
+ hasBreakoutPreAssignments: false,
1789
+ }),
1790
+ undefined
1791
+ );
1745
1792
  });
1746
-
1747
1793
  });
1748
1794
 
1749
1795
  describe('#dynamicAssign', () => {
@@ -1775,6 +1821,32 @@ describe('plugin-meetings', () => {
1775
1821
  });
1776
1822
  });
1777
1823
 
1824
+ describe('#moveToLobby', () => {
1825
+ it('should make a PUT request with correct body and return the result', async () => {
1826
+ breakouts.moveToLobby = sinon.stub().returns(Promise.resolve('REQUEST_RETURN_VALUE'));
1827
+
1828
+ const expectedBody = {
1829
+ groups: [
1830
+ {
1831
+ id: 'mainGroupId',
1832
+ sessions: [
1833
+ {
1834
+ id: 'mainSessionId',
1835
+ participants: ['participant1'],
1836
+ targetState: 'LOBBY',
1837
+ },
1838
+ ],
1839
+ },
1840
+ ],
1841
+ };
1842
+
1843
+ const result = await breakouts.moveToLobby(expectedBody);
1844
+
1845
+ assert.calledOnceWithExactly(breakouts.moveToLobby, expectedBody);
1846
+ assert.equal(result, 'REQUEST_RETURN_VALUE');
1847
+ });
1848
+ });
1849
+
1778
1850
  describe('#triggerReturnToMainEvent', () => {
1779
1851
  const checkTrigger = ({breakout, shouldTrigger}) => {
1780
1852
  breakouts.trigger = sinon.stub();
@@ -1784,19 +1856,19 @@ describe('plugin-meetings', () => {
1784
1856
  } else {
1785
1857
  assert.notCalled(breakouts.trigger);
1786
1858
  }
1787
- }
1859
+ };
1788
1860
  it('should trigger ASK_RETURN_TO_MAIN event correctly', () => {
1789
1861
  const breakout = {
1790
1862
  isMain: true,
1791
- requested: true
1863
+ requested: true,
1792
1864
  };
1793
- checkTrigger({breakout, shouldTrigger: true})
1865
+ checkTrigger({breakout, shouldTrigger: true});
1794
1866
  });
1795
1867
 
1796
1868
  it('should not trigger ASK_RETURN_TO_MAIN event when sessionType is not MAIN', () => {
1797
1869
  const breakout = {
1798
1870
  isMain: false,
1799
- requested: true
1871
+ requested: true,
1800
1872
  };
1801
1873
  checkTrigger({breakout, shouldTrigger: false});
1802
1874
  });
@@ -1804,9 +1876,9 @@ describe('plugin-meetings', () => {
1804
1876
  it('should not trigger ASK_RETURN_TO_MAIN event when session is not requested', () => {
1805
1877
  const breakout = {
1806
1878
  isMain: true,
1807
- requested: false
1879
+ requested: false,
1808
1880
  };
1809
- checkTrigger({breakout, shouldTrigger: false})
1881
+ checkTrigger({breakout, shouldTrigger: false});
1810
1882
  });
1811
1883
  });
1812
1884
  });