@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.
- package/README.md +26 -13
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +70 -6
- package/dist/breakouts/index.js.map +1 -1
- package/dist/common/errors/webex-errors.js +12 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +28 -123
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +3 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +78 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/interpretation/index.js +4 -4
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +37 -11
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +92 -12
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +432 -418
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +17 -17
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +94 -6
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/brbState.js +9 -2
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +21 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +678 -344
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +21 -22
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +4 -4
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +30 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +13 -2
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +373 -68
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +5 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/index.js +136 -1
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/util.js +14 -0
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +55 -9
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +3 -0
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +335 -353
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +137 -29
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +38 -0
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +36 -1
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +10 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +40 -8
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/reachability/clusterReachability.js +63 -27
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +107 -47
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/reachability.types.js +14 -0
- package/dist/reachability/reachability.types.js.map +1 -1
- package/dist/reachability/request.js +19 -3
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +2 -2
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/util.js +5 -5
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/turnDiscovery.js +45 -27
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/types.js +17 -0
- package/dist/roap/types.js.map +1 -0
- package/dist/types/common/errors/webex-errors.d.ts +7 -1
- package/dist/types/config.d.ts +3 -0
- package/dist/types/constants.d.ts +20 -85
- package/dist/types/controls-options-manager/enums.d.ts +4 -1
- package/dist/types/controls-options-manager/types.d.ts +10 -1
- package/dist/types/locus-info/index.d.ts +3 -3
- package/dist/types/locus-info/selfUtils.d.ts +216 -1
- package/dist/types/media/properties.d.ts +15 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +20 -0
- package/dist/types/meeting/index.d.ts +65 -1
- package/dist/types/meeting/muteState.d.ts +0 -1
- package/dist/types/meeting/request.d.ts +12 -1
- package/dist/types/meeting/request.type.d.ts +6 -0
- package/dist/types/meeting/util.d.ts +3 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +82 -1
- package/dist/types/meetings/index.d.ts +57 -0
- package/dist/types/member/index.d.ts +21 -6
- package/dist/types/member/types.d.ts +73 -14
- package/dist/types/member/util.d.ts +156 -1
- package/dist/types/members/collection.d.ts +6 -5
- package/dist/types/members/index.d.ts +32 -43
- package/dist/types/members/request.d.ts +26 -0
- package/dist/types/members/util.d.ts +27 -0
- package/dist/types/metrics/constants.d.ts +10 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +10 -1
- package/dist/types/reachability/clusterReachability.d.ts +15 -7
- package/dist/types/reachability/index.d.ts +10 -1
- package/dist/types/reachability/reachability.types.d.ts +5 -0
- package/dist/types/roap/index.d.ts +3 -2
- package/dist/types/roap/turnDiscovery.d.ts +5 -17
- package/dist/types/roap/types.d.ts +16 -0
- package/dist/webinar/index.js +2 -2
- package/dist/webinar/index.js.map +1 -1
- package/package.json +24 -23
- package/src/breakouts/index.ts +69 -0
- package/src/common/errors/webex-errors.ts +8 -1
- package/src/config.ts +3 -0
- package/src/constants.ts +30 -90
- package/src/controls-options-manager/enums.ts +3 -0
- package/src/controls-options-manager/types.ts +16 -1
- package/src/controls-options-manager/util.ts +93 -0
- package/src/interpretation/index.ts +3 -3
- package/src/locus-info/controlsUtils.ts +59 -14
- package/src/locus-info/index.ts +97 -13
- package/src/locus-info/selfUtils.ts +496 -442
- package/src/media/index.ts +23 -21
- package/src/media/properties.ts +96 -0
- package/src/meeting/brbState.ts +11 -2
- package/src/meeting/in-meeting-actions.ts +40 -0
- package/src/meeting/index.ts +470 -105
- package/src/meeting/locusMediaRequest.ts +27 -22
- package/src/meeting/muteState.ts +4 -4
- package/src/meeting/request.ts +36 -1
- package/src/meeting/request.type.ts +7 -0
- package/src/meeting/util.ts +11 -2
- package/src/meeting-info/meeting-info-v2.ts +254 -8
- package/src/meeting-info/utilv2.ts +5 -0
- package/src/meetings/index.ts +148 -1
- package/src/meetings/util.ts +18 -0
- package/src/member/index.ts +68 -22
- package/src/member/types.ts +82 -16
- package/src/member/util.ts +357 -350
- package/src/members/collection.ts +4 -3
- package/src/members/index.ts +137 -18
- package/src/members/request.ts +44 -0
- package/src/members/util.ts +43 -1
- package/src/metrics/constants.ts +10 -0
- package/src/multistream/remoteMediaManager.ts +32 -10
- package/src/reachability/clusterReachability.ts +73 -26
- package/src/reachability/index.ts +62 -1
- package/src/reachability/reachability.types.ts +6 -0
- package/src/reachability/request.ts +7 -0
- package/src/reconnection-manager/index.ts +2 -2
- package/src/recording-controller/util.ts +17 -13
- package/src/roap/index.ts +3 -7
- package/src/roap/turnDiscovery.ts +34 -39
- package/src/roap/types.ts +23 -0
- package/src/webinar/index.ts +1 -1
- package/test/unit/spec/breakouts/index.ts +167 -95
- package/test/unit/spec/controls-options-manager/util.js +178 -0
- package/test/unit/spec/interpretation/index.ts +39 -1
- package/test/unit/spec/locus-info/controlsUtils.js +155 -9
- package/test/unit/spec/locus-info/index.js +209 -73
- package/test/unit/spec/locus-info/selfUtils.js +98 -24
- package/test/unit/spec/media/index.ts +150 -18
- package/test/unit/spec/media/properties.ts +130 -0
- package/test/unit/spec/meeting/brbState.ts +40 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +23 -4
- package/test/unit/spec/meeting/index.js +804 -139
- package/test/unit/spec/meeting/locusMediaRequest.ts +95 -87
- package/test/unit/spec/meeting/muteState.js +73 -2
- package/test/unit/spec/meeting/request.js +32 -1
- package/test/unit/spec/meeting/utils.js +119 -18
- package/test/unit/spec/meeting-info/meetinginfov2.js +484 -114
- package/test/unit/spec/meeting-info/utilv2.js +19 -0
- package/test/unit/spec/meetings/index.js +146 -2
- package/test/unit/spec/member/index.js +7 -0
- package/test/unit/spec/member/util.js +24 -0
- package/test/unit/spec/members/index.js +304 -78
- package/test/unit/spec/members/request.js +68 -22
- package/test/unit/spec/members/utils.js +75 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +397 -118
- package/test/unit/spec/reachability/clusterReachability.ts +88 -56
- package/test/unit/spec/reachability/index.ts +97 -0
- package/test/unit/spec/reachability/request.js +47 -2
- package/test/unit/spec/reconnection-manager/index.js +4 -4
- package/test/unit/spec/roap/turnDiscovery.ts +110 -28
- package/test/unit/spec/webinar/index.ts +5 -0
- package/dist/annotation/annotation.types.d.ts +0 -42
- package/dist/annotation/constants.d.ts +0 -31
- package/dist/annotation/index.d.ts +0 -117
- package/dist/breakouts/breakout.d.ts +0 -8
- package/dist/breakouts/collection.d.ts +0 -5
- package/dist/breakouts/edit-lock-error.d.ts +0 -15
- package/dist/breakouts/events.d.ts +0 -8
- package/dist/breakouts/index.d.ts +0 -5
- package/dist/breakouts/request.d.ts +0 -22
- package/dist/breakouts/utils.d.ts +0 -15
- package/dist/common/browser-detection.d.ts +0 -9
- package/dist/common/collection.d.ts +0 -48
- package/dist/common/config.d.ts +0 -2
- package/dist/common/errors/captcha-error.d.ts +0 -15
- package/dist/common/errors/intent-to-join.d.ts +0 -16
- package/dist/common/errors/join-meeting.d.ts +0 -17
- package/dist/common/errors/media.d.ts +0 -15
- package/dist/common/errors/no-meeting-info.d.ts +0 -14
- package/dist/common/errors/parameter.d.ts +0 -15
- package/dist/common/errors/password-error.d.ts +0 -15
- package/dist/common/errors/permission.d.ts +0 -14
- package/dist/common/errors/reclaim-host-role-error.js +0 -149
- package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
- package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
- package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/common/errors/reconnection-in-progress.js +0 -33
- package/dist/common/errors/reconnection-in-progress.js.map +0 -1
- package/dist/common/errors/reconnection.d.ts +0 -15
- package/dist/common/errors/stats.d.ts +0 -15
- package/dist/common/errors/webex-errors.d.ts +0 -93
- package/dist/common/errors/webex-meetings-error.d.ts +0 -20
- package/dist/common/events/events-scope.d.ts +0 -17
- package/dist/common/events/events.d.ts +0 -12
- package/dist/common/events/trigger-proxy.d.ts +0 -2
- package/dist/common/events/util.d.ts +0 -2
- package/dist/common/logs/logger-config.d.ts +0 -2
- package/dist/common/logs/logger-proxy.d.ts +0 -2
- package/dist/common/logs/request.d.ts +0 -36
- package/dist/common/queue.d.ts +0 -34
- package/dist/config.d.ts +0 -72
- package/dist/constants.d.ts +0 -1088
- package/dist/controls-options-manager/constants.d.ts +0 -4
- package/dist/controls-options-manager/enums.d.ts +0 -15
- package/dist/controls-options-manager/index.d.ts +0 -136
- package/dist/controls-options-manager/types.d.ts +0 -43
- package/dist/controls-options-manager/util.d.ts +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/interceptors/index.d.ts +0 -2
- package/dist/interceptors/locusRetry.d.ts +0 -27
- package/dist/interpretation/collection.d.ts +0 -5
- package/dist/interpretation/index.d.ts +0 -5
- package/dist/interpretation/siLanguage.d.ts +0 -5
- package/dist/locus-info/controlsUtils.d.ts +0 -2
- package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
- package/dist/locus-info/fullState.d.ts +0 -2
- package/dist/locus-info/hostUtils.d.ts +0 -2
- package/dist/locus-info/index.d.ts +0 -322
- package/dist/locus-info/infoUtils.d.ts +0 -2
- package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
- package/dist/locus-info/parser.d.ts +0 -272
- package/dist/locus-info/selfUtils.d.ts +0 -2
- package/dist/media/index.d.ts +0 -34
- package/dist/media/properties.d.ts +0 -93
- package/dist/media/util.d.ts +0 -2
- package/dist/mediaQualityMetrics/config.d.ts +0 -241
- package/dist/mediaQualityMetrics/config.js +0 -502
- package/dist/mediaQualityMetrics/config.js.map +0 -1
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/meeting/in-meeting-actions.d.ts +0 -167
- package/dist/meeting/index.d.ts +0 -1825
- package/dist/meeting/locusMediaRequest.d.ts +0 -74
- package/dist/meeting/muteState.d.ts +0 -178
- package/dist/meeting/request.d.ts +0 -295
- package/dist/meeting/request.type.d.ts +0 -11
- package/dist/meeting/state.d.ts +0 -9
- package/dist/meeting/util.d.ts +0 -119
- package/dist/meeting/voicea-meeting.d.ts +0 -16
- package/dist/meeting-info/collection.d.ts +0 -20
- package/dist/meeting-info/index.d.ts +0 -69
- package/dist/meeting-info/meeting-info-v2.d.ts +0 -123
- package/dist/meeting-info/request.d.ts +0 -22
- package/dist/meeting-info/util.d.ts +0 -2
- package/dist/meeting-info/utilv2.d.ts +0 -2
- package/dist/meetings/collection.d.ts +0 -40
- package/dist/meetings/index.d.ts +0 -390
- package/dist/meetings/meetings.types.d.ts +0 -4
- package/dist/meetings/request.d.ts +0 -27
- package/dist/meetings/util.d.ts +0 -18
- package/dist/member/index.d.ts +0 -160
- package/dist/member/member.types.js +0 -17
- package/dist/member/member.types.js.map +0 -1
- package/dist/member/types.d.ts +0 -32
- package/dist/member/util.d.ts +0 -2
- package/dist/members/collection.d.ts +0 -29
- package/dist/members/index.d.ts +0 -353
- package/dist/members/request.d.ts +0 -114
- package/dist/members/types.d.ts +0 -25
- package/dist/members/util.d.ts +0 -215
- package/dist/metrics/config.js +0 -276
- package/dist/metrics/config.js.map +0 -1
- package/dist/metrics/constants.d.ts +0 -70
- package/dist/metrics/index.d.ts +0 -45
- package/dist/multistream/mediaRequestManager.d.ts +0 -119
- package/dist/multistream/receiveSlot.d.ts +0 -68
- package/dist/multistream/receiveSlotManager.d.ts +0 -56
- package/dist/multistream/remoteMedia.d.ts +0 -72
- package/dist/multistream/remoteMediaGroup.d.ts +0 -49
- package/dist/multistream/remoteMediaManager.d.ts +0 -300
- package/dist/multistream/sendSlotManager.d.ts +0 -69
- package/dist/networkQualityMonitor/index.d.ts +0 -70
- package/dist/networkQualityMonitor/index.js +0 -221
- package/dist/networkQualityMonitor/index.js.map +0 -1
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.js +0 -109
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/personal-meeting-room/index.d.ts +0 -47
- package/dist/personal-meeting-room/request.d.ts +0 -14
- package/dist/personal-meeting-room/util.d.ts +0 -2
- package/dist/reachability/clusterReachability.d.ts +0 -109
- package/dist/reachability/index.d.ts +0 -105
- package/dist/reachability/request.d.ts +0 -39
- package/dist/reachability/util.d.ts +0 -8
- package/dist/reactions/constants.d.ts +0 -3
- package/dist/reactions/reactions.d.ts +0 -4
- package/dist/reactions/reactions.type.d.ts +0 -52
- package/dist/reconnection-manager/index.d.ts +0 -136
- package/dist/recording-controller/enums.d.ts +0 -7
- package/dist/recording-controller/index.d.ts +0 -207
- package/dist/recording-controller/util.d.ts +0 -14
- package/dist/roap/collection.js +0 -62
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.js +0 -275
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/index.d.ts +0 -86
- package/dist/roap/request.d.ts +0 -39
- package/dist/roap/state.js +0 -126
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/turnDiscovery.d.ts +0 -155
- package/dist/roap/util.js +0 -75
- package/dist/roap/util.js.map +0 -1
- package/dist/rtcMetrics/constants.d.ts +0 -4
- package/dist/rtcMetrics/constants.js +0 -11
- package/dist/rtcMetrics/constants.js.map +0 -1
- package/dist/rtcMetrics/index.d.ts +0 -61
- package/dist/rtcMetrics/index.js +0 -197
- package/dist/rtcMetrics/index.js.map +0 -1
- package/dist/statsAnalyzer/global.d.ts +0 -36
- package/dist/statsAnalyzer/global.js +0 -126
- package/dist/statsAnalyzer/global.js.map +0 -1
- package/dist/statsAnalyzer/index.d.ts +0 -217
- package/dist/statsAnalyzer/index.js +0 -1013
- package/dist/statsAnalyzer/index.js.map +0 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/statsAnalyzer/mqaUtil.js +0 -179
- package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
- package/dist/transcription/index.d.ts +0 -64
- package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
- package/dist/types/networkQualityMonitor/index.d.ts +0 -70
- package/dist/types/rtcMetrics/constants.d.ts +0 -4
- package/dist/types/rtcMetrics/index.d.ts +0 -71
- package/dist/types/statsAnalyzer/global.d.ts +0 -36
- package/dist/types/statsAnalyzer/index.d.ts +0 -217
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/webinar/collection.d.ts +0 -16
- 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(
|
126
|
-
sessionType: BREAKOUTS.SESSION_TYPES.MAIN,
|
127
|
-
|
128
|
-
|
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(
|
132
|
-
|
133
|
-
|
134
|
-
|
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(
|
138
|
-
sessionType: BREAKOUTS.SESSION_TYPES.BREAKOUT,
|
139
|
-
|
140
|
-
|
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(
|
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
|
181
|
-
|
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:
|
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 =
|
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 =
|
385
|
-
breakouts.currentBreakoutSession.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:
|
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(
|
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:
|
607
|
-
breakouts.set('status',
|
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,
|
638
|
+
assert.equal(breakouts.breakoutStatus, 'OPEN');
|
611
639
|
|
612
640
|
breakouts.set('sessionType', BREAKOUTS.SESSION_TYPES.BREAKOUT);
|
613
641
|
|
614
|
-
assert.equal(breakouts.breakoutStatus,
|
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
|
-
|
1673
|
-
|
1674
|
-
|
1675
|
-
|
1676
|
-
|
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
|
-
|
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({
|
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(
|
1740
|
-
|
1741
|
-
|
1769
|
+
assert.deepEqual(
|
1770
|
+
breakouts.queryPreAssignments({
|
1771
|
+
enableBreakoutSession: true,
|
1772
|
+
hasBreakoutPreAssignments: false,
|
1773
|
+
}),
|
1774
|
+
undefined
|
1775
|
+
);
|
1742
1776
|
|
1743
|
-
assert.deepEqual(
|
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
|
});
|