@webex/plugin-meetings 3.6.0 → 3.7.0-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 +2 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/webinar-registration-error.js +50 -0
- package/dist/common/errors/webinar-registration-error.js.map +1 -0
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +40 -2
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +1 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +10 -3
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +12 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +28 -4
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +2 -1
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/index.js +61 -3
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/parser.js +5 -1
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +29 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +786 -528
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +2 -6
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +5 -2
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +21 -29
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +98 -61
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +68 -17
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +29 -2
- package/dist/meetings/index.js.map +1 -1
- package/dist/members/index.js +3 -2
- package/dist/members/index.js.map +1 -1
- package/dist/members/util.js +13 -7
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +4 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/remoteMedia.js +4 -0
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/reachability/clusterReachability.js +12 -15
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +433 -136
- package/dist/reachability/index.js.map +1 -1
- package/dist/{rtcMetrics/constants.js → reachability/reachability.types.js} +1 -5
- package/dist/reachability/reachability.types.js.map +1 -0
- package/dist/reachability/request.js +23 -9
- package/dist/reachability/request.js.map +1 -1
- package/dist/recording-controller/enums.js +8 -4
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.js +18 -9
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +13 -9
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +5 -7
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +45 -79
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +3 -6
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/{common/errors/parameter.d.ts → types/common/errors/webinar-registration-error.d.ts} +4 -5
- package/dist/types/config.d.ts +3 -0
- package/dist/types/constants.d.ts +33 -0
- package/dist/types/controls-options-manager/enums.d.ts +2 -1
- package/dist/types/controls-options-manager/index.d.ts +2 -1
- package/dist/types/controls-options-manager/types.d.ts +2 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/locus-info/index.d.ts +9 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +28 -0
- package/dist/types/meeting/index.d.ts +34 -3
- package/dist/types/meeting/locusMediaRequest.d.ts +2 -3
- package/dist/types/meeting/muteState.d.ts +2 -1
- package/dist/types/meeting/request.d.ts +2 -2
- package/dist/types/meeting/util.d.ts +2 -2
- package/dist/types/meeting-info/meeting-info-v2.d.ts +23 -0
- package/dist/types/meetings/index.d.ts +13 -1
- package/dist/types/members/index.d.ts +2 -1
- package/dist/types/members/util.d.ts +5 -1
- package/dist/types/metrics/constants.d.ts +3 -0
- package/dist/types/multistream/remoteMedia.d.ts +1 -0
- package/dist/types/reachability/clusterReachability.d.ts +1 -10
- package/dist/types/reachability/index.d.ts +74 -35
- package/dist/types/reachability/reachability.types.d.ts +64 -0
- package/dist/types/reachability/request.d.ts +5 -1
- package/dist/types/recording-controller/enums.d.ts +5 -2
- package/dist/types/recording-controller/index.d.ts +1 -0
- package/dist/types/recording-controller/util.d.ts +2 -1
- package/dist/types/roap/request.d.ts +1 -13
- package/dist/webinar/index.js +64 -19
- package/dist/webinar/index.js.map +1 -1
- package/package.json +22 -22
- package/src/common/errors/webinar-registration-error.ts +27 -0
- package/src/config.ts +3 -0
- package/src/constants.ts +41 -0
- package/src/controls-options-manager/enums.ts +1 -0
- package/src/controls-options-manager/index.ts +19 -2
- package/src/controls-options-manager/types.ts +2 -0
- package/src/controls-options-manager/util.ts +12 -0
- package/src/index.ts +2 -0
- package/src/locus-info/controlsUtils.ts +46 -2
- package/src/locus-info/fullState.ts +1 -0
- package/src/locus-info/index.ts +60 -0
- package/src/locus-info/parser.ts +8 -1
- package/src/meeting/in-meeting-actions.ts +58 -0
- package/src/meeting/index.ts +247 -22
- package/src/meeting/locusMediaRequest.ts +4 -8
- package/src/meeting/muteState.ts +6 -2
- package/src/meeting/request.ts +4 -11
- package/src/meeting/util.ts +31 -6
- package/src/meeting-info/meeting-info-v2.ts +51 -0
- package/src/meetings/index.ts +74 -40
- package/src/members/index.ts +4 -2
- package/src/members/util.ts +4 -1
- package/src/metrics/constants.ts +3 -0
- package/src/multistream/remoteMedia.ts +5 -0
- package/src/reachability/clusterReachability.ts +5 -15
- package/src/reachability/index.ts +285 -77
- package/src/reachability/reachability.types.ts +85 -0
- package/src/reachability/request.ts +55 -30
- package/src/recording-controller/enums.ts +5 -2
- package/src/recording-controller/index.ts +17 -4
- package/src/recording-controller/util.ts +20 -5
- package/src/roap/index.ts +4 -5
- package/src/roap/request.ts +32 -44
- package/src/roap/turnDiscovery.ts +2 -4
- package/src/webinar/index.ts +62 -16
- package/test/unit/spec/controls-options-manager/index.js +56 -32
- package/test/unit/spec/controls-options-manager/util.js +44 -0
- package/test/unit/spec/locus-info/controlsUtils.js +80 -4
- package/test/unit/spec/locus-info/index.js +88 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +31 -1
- package/test/unit/spec/meeting/index.js +346 -82
- package/test/unit/spec/meeting/locusMediaRequest.ts +18 -11
- package/test/unit/spec/meeting/muteState.js +8 -4
- package/test/unit/spec/meeting/request.js +3 -26
- package/test/unit/spec/meeting/utils.js +71 -14
- package/test/unit/spec/meeting-info/meetinginfov2.js +37 -0
- package/test/unit/spec/meetings/index.js +41 -6
- package/test/unit/spec/members/index.js +25 -2
- package/test/unit/spec/members/request.js +37 -3
- package/test/unit/spec/members/utils.js +110 -1
- package/test/unit/spec/multistream/remoteMedia.ts +16 -2
- package/test/unit/spec/reachability/clusterReachability.ts +7 -0
- package/test/unit/spec/reachability/index.ts +265 -1
- package/test/unit/spec/reachability/request.js +56 -15
- package/test/unit/spec/recording-controller/index.js +61 -5
- package/test/unit/spec/recording-controller/util.js +39 -3
- package/test/unit/spec/roap/index.ts +1 -1
- package/test/unit/spec/roap/request.ts +51 -109
- package/test/unit/spec/roap/turnDiscovery.ts +202 -147
- package/test/unit/spec/webinar/index.ts +128 -15
- 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/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.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
|
@@ -82,11 +82,13 @@ describe('plugin-meetings', () => {
|
|
|
82
82
|
});
|
|
83
83
|
|
|
84
84
|
it('should parse the viewTheParticipantList control', () => {
|
|
85
|
-
const newControls = {viewTheParticipantList: {enabled: true}};
|
|
85
|
+
const newControls = {viewTheParticipantList: {enabled: true, panelistEnabled: true, attendeeCount: false}};
|
|
86
86
|
|
|
87
87
|
const parsedControls = ControlsUtils.parse(newControls);
|
|
88
88
|
|
|
89
89
|
assert.equal(parsedControls.viewTheParticipantList.enabled, newControls.viewTheParticipantList.enabled);
|
|
90
|
+
assert.equal(parsedControls.viewTheParticipantList.panelistEnabled, newControls.viewTheParticipantList.panelistEnabled);
|
|
91
|
+
assert.equal(parsedControls.viewTheParticipantList.attendeeCount, newControls.viewTheParticipantList.attendeeCount);
|
|
90
92
|
});
|
|
91
93
|
|
|
92
94
|
it('should parse the raiseHand control', () => {
|
|
@@ -105,6 +107,42 @@ describe('plugin-meetings', () => {
|
|
|
105
107
|
assert.equal(parsedControls.video.enabled, newControls.video.enabled);
|
|
106
108
|
});
|
|
107
109
|
|
|
110
|
+
it('should parse the webcast control', () => {
|
|
111
|
+
const newControls = {webcastControl: {streaming: true}};
|
|
112
|
+
|
|
113
|
+
const parsedControls = ControlsUtils.parse(newControls);
|
|
114
|
+
|
|
115
|
+
assert.equal(parsedControls.webcastControl.streaming, newControls.webcastControl.streaming);
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it('should parse the meeting full control', () => {
|
|
119
|
+
const newControls = {meetingFull: {meetingFull: true, meetingPanelistFull: false}};
|
|
120
|
+
|
|
121
|
+
const parsedControls = ControlsUtils.parse(newControls);
|
|
122
|
+
|
|
123
|
+
assert.equal(parsedControls.meetingFull.meetingFull, newControls.meetingFull.meetingFull);
|
|
124
|
+
assert.equal(parsedControls.meetingFull.meetingPanelistFull, newControls.meetingFull.meetingPanelistFull);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
it('should parse the practiceSession control', () => {
|
|
128
|
+
const newControls = {practiceSession: {enabled: true}};
|
|
129
|
+
|
|
130
|
+
const parsedControls = ControlsUtils.parse(newControls);
|
|
131
|
+
|
|
132
|
+
assert.equal(parsedControls.practiceSession.enabled, newControls.practiceSession.enabled);
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
it('should parse the videoLayout control', () => {
|
|
136
|
+
const newControls = {videoLayout: {overrideDefault: true, lockAttendeeViewOnStageOnly:false, stageParameters: {}}};
|
|
137
|
+
|
|
138
|
+
const parsedControls = ControlsUtils.parse(newControls);
|
|
139
|
+
|
|
140
|
+
assert.equal(parsedControls.videoLayout.overrideDefault, newControls.videoLayout.overrideDefault);
|
|
141
|
+
assert.equal(parsedControls.videoLayout.lockAttendeeViewOnStageOnly, newControls.videoLayout.lockAttendeeViewOnStageOnly);
|
|
142
|
+
assert.equal(parsedControls.videoLayout.stageParameters, newControls.videoLayout.stageParameters);
|
|
143
|
+
|
|
144
|
+
});
|
|
145
|
+
|
|
108
146
|
describe('videoEnabled', () => {
|
|
109
147
|
it('returns expected', () => {
|
|
110
148
|
const result = ControlsUtils.parse({video: {enabled: true}});
|
|
@@ -170,11 +208,21 @@ describe('plugin-meetings', () => {
|
|
|
170
208
|
});
|
|
171
209
|
|
|
172
210
|
it('returns hasViewTheParticipantListChanged = true when changed', () => {
|
|
173
|
-
const
|
|
211
|
+
const oldControls = {viewTheParticipantList: {enabled: true, panelistEnabled: true, attendeeCount: false}};
|
|
174
212
|
|
|
175
|
-
|
|
213
|
+
let result = ControlsUtils.getControls(oldControls, {viewTheParticipantList: {enabled: false, panelistEnabled: true, attendeeCount: false}});
|
|
214
|
+
|
|
215
|
+
assert.equal(result.updates.hasViewTheParticipantListChanged, true);
|
|
216
|
+
|
|
217
|
+
result = ControlsUtils.getControls(oldControls, {viewTheParticipantList: {enabled: true, panelistEnabled: false, attendeeCount: false}});
|
|
176
218
|
|
|
177
|
-
assert.equal(updates.hasViewTheParticipantListChanged, true);
|
|
219
|
+
assert.equal(result.updates.hasViewTheParticipantListChanged, true);
|
|
220
|
+
result = ControlsUtils.getControls(oldControls, {viewTheParticipantList: {enabled: true, panelistEnabled: true, attendeeCount: true}});
|
|
221
|
+
|
|
222
|
+
assert.equal(result.updates.hasViewTheParticipantListChanged, true);
|
|
223
|
+
result = ControlsUtils.getControls(oldControls, {viewTheParticipantList: {enabled: true, panelistEnabled: true, attendeeCount: false}});
|
|
224
|
+
|
|
225
|
+
assert.equal(result.updates.hasViewTheParticipantListChanged, false);
|
|
178
226
|
});
|
|
179
227
|
|
|
180
228
|
it('returns hasRaiseHandChanged = true when changed', () => {
|
|
@@ -193,6 +241,34 @@ describe('plugin-meetings', () => {
|
|
|
193
241
|
assert.equal(updates.hasVideoChanged, true);
|
|
194
242
|
});
|
|
195
243
|
|
|
244
|
+
it('returns hasWebcastChanged = true when changed', () => {
|
|
245
|
+
const newControls = {webcastControl: {streaming: true}};
|
|
246
|
+
|
|
247
|
+
const {updates} = ControlsUtils.getControls(defaultControls, newControls);
|
|
248
|
+
|
|
249
|
+
assert.equal(updates.hasWebcastChanged, true);
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
it('returns hasMeetingFullChanged = true when changed', () => {
|
|
253
|
+
const newControls = {meetingFull: {meetingFull: true, meetingPanelistFull: false}};
|
|
254
|
+
|
|
255
|
+
let result = ControlsUtils.getControls(defaultControls, newControls);
|
|
256
|
+
|
|
257
|
+
assert.equal(result.updates.hasMeetingFullChanged, true);
|
|
258
|
+
|
|
259
|
+
result = ControlsUtils.getControls(newControls, {meetingFull: {meetingFull: true, meetingPanelistFull: true}});
|
|
260
|
+
|
|
261
|
+
assert.equal(result.updates.hasMeetingFullChanged, true);
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
it('returns hasPracticeSessionEnabledChanged = true when changed', () => {
|
|
265
|
+
const newControls = {practiceSession: {enabled: true}};
|
|
266
|
+
|
|
267
|
+
const {updates} = ControlsUtils.getControls(defaultControls, newControls);
|
|
268
|
+
|
|
269
|
+
assert.equal(updates.hasPracticeSessionEnabledChanged, true);
|
|
270
|
+
});
|
|
271
|
+
|
|
196
272
|
it('returns hasEntryExitToneChanged = true when mode changed', () => {
|
|
197
273
|
const newControls = {
|
|
198
274
|
entryExitTone: {
|
|
@@ -81,7 +81,7 @@ describe('plugin-meetings', () => {
|
|
|
81
81
|
newControls = {
|
|
82
82
|
disallowUnmute: {enabled: true},
|
|
83
83
|
lock: {},
|
|
84
|
-
meetingFull: {},
|
|
84
|
+
meetingFull: {meetingFull: false, meetingPanelistFull: true},
|
|
85
85
|
muteOnEntry: {enabled: true},
|
|
86
86
|
raiseHand: {enabled: true},
|
|
87
87
|
reactions: {enabled: true, showDisplayNameWithReactions: true},
|
|
@@ -95,12 +95,15 @@ describe('plugin-meetings', () => {
|
|
|
95
95
|
},
|
|
96
96
|
shareControl: {control: 'example-value'},
|
|
97
97
|
transcribe: {},
|
|
98
|
-
viewTheParticipantList: {enabled: true},
|
|
98
|
+
viewTheParticipantList: {enabled: true, panelistEnabled: true, attendeeCount: false},
|
|
99
99
|
meetingContainer: {
|
|
100
100
|
meetingContainerUrl: 'http://new-url.com',
|
|
101
101
|
},
|
|
102
102
|
entryExitTone: {enabled: true, mode: 'foo'},
|
|
103
103
|
video: {enabled: true},
|
|
104
|
+
videoLayout: {overrideDefault: true, lockAttendeeViewOnStageOnly:false, stageParameters: {}},
|
|
105
|
+
webcastControl: {streaming: false},
|
|
106
|
+
practiceSession: {enabled: true},
|
|
104
107
|
};
|
|
105
108
|
});
|
|
106
109
|
|
|
@@ -205,6 +208,58 @@ describe('plugin-meetings', () => {
|
|
|
205
208
|
);
|
|
206
209
|
});
|
|
207
210
|
|
|
211
|
+
it('should trigger the CONTROLS_STAGE_VIEW_UPDATED event when necessary', () => {
|
|
212
|
+
locusInfo.controls = {};
|
|
213
|
+
locusInfo.emitScoped = sinon.stub();
|
|
214
|
+
locusInfo.updateControls(newControls);
|
|
215
|
+
|
|
216
|
+
assert.calledWith(
|
|
217
|
+
locusInfo.emitScoped,
|
|
218
|
+
{file: 'locus-info', function: 'updateControls'},
|
|
219
|
+
LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED,
|
|
220
|
+
{state: newControls.videoLayout}
|
|
221
|
+
);
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
it('should trigger the CONTROLS_WEBCAST_CHANGED event when necessary', () => {
|
|
225
|
+
locusInfo.controls = {};
|
|
226
|
+
locusInfo.emitScoped = sinon.stub();
|
|
227
|
+
locusInfo.updateControls(newControls);
|
|
228
|
+
|
|
229
|
+
assert.calledWith(
|
|
230
|
+
locusInfo.emitScoped,
|
|
231
|
+
{file: 'locus-info', function: 'updateControls'},
|
|
232
|
+
LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED,
|
|
233
|
+
{state: newControls.webcastControl}
|
|
234
|
+
);
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
it('should trigger the CONTROLS_MEETING_FULL_CHANGED event when necessary', () => {
|
|
238
|
+
locusInfo.controls = {};
|
|
239
|
+
locusInfo.emitScoped = sinon.stub();
|
|
240
|
+
locusInfo.updateControls(newControls);
|
|
241
|
+
|
|
242
|
+
assert.calledWith(
|
|
243
|
+
locusInfo.emitScoped,
|
|
244
|
+
{file: 'locus-info', function: 'updateControls'},
|
|
245
|
+
LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED,
|
|
246
|
+
{state: newControls.meetingFull}
|
|
247
|
+
);
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
it('should trigger the CONTROLS_PRACTICE_SESSION_STATUS_UPDATED event when necessary', () => {
|
|
251
|
+
locusInfo.controls = {};
|
|
252
|
+
locusInfo.emitScoped = sinon.stub();
|
|
253
|
+
locusInfo.updateControls(newControls);
|
|
254
|
+
|
|
255
|
+
assert.calledWith(
|
|
256
|
+
locusInfo.emitScoped,
|
|
257
|
+
{file: 'locus-info', function: 'updateControls'},
|
|
258
|
+
LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED,
|
|
259
|
+
{state: newControls.practiceSession}
|
|
260
|
+
);
|
|
261
|
+
});
|
|
262
|
+
|
|
208
263
|
it('should not trigger the CONTROLS_RECORDING_UPDATED event', () => {
|
|
209
264
|
locusInfo.controls = {};
|
|
210
265
|
locusInfo.emitScoped = sinon.stub();
|
|
@@ -1729,6 +1784,7 @@ describe('plugin-meetings', () => {
|
|
|
1729
1784
|
locusInfo.updateMemberShip = sinon.stub();
|
|
1730
1785
|
locusInfo.updateIdentifiers = sinon.stub();
|
|
1731
1786
|
locusInfo.updateEmbeddedApps = sinon.stub();
|
|
1787
|
+
locusInfo.updateResources = sinon.stub();
|
|
1732
1788
|
locusInfo.compareAndUpdate = sinon.stub();
|
|
1733
1789
|
|
|
1734
1790
|
locusInfo.updateLocusInfo(newLocus);
|
|
@@ -1750,6 +1806,7 @@ describe('plugin-meetings', () => {
|
|
|
1750
1806
|
assert.notCalled(locusInfo.updateMemberShip);
|
|
1751
1807
|
assert.notCalled(locusInfo.updateIdentifiers);
|
|
1752
1808
|
assert.notCalled(locusInfo.updateEmbeddedApps);
|
|
1809
|
+
assert.notCalled(locusInfo.updateResources);
|
|
1753
1810
|
assert.notCalled(locusInfo.compareAndUpdate);
|
|
1754
1811
|
});
|
|
1755
1812
|
|
|
@@ -1807,6 +1864,35 @@ describe('plugin-meetings', () => {
|
|
|
1807
1864
|
assert.calledWith(locusInfo.applyLocusDeltaData, action, parsedLoci, fakeMeeting);
|
|
1808
1865
|
});
|
|
1809
1866
|
|
|
1867
|
+
it('catches errors thrown by onDeltaAction and is able to process next Locus delta', () => {
|
|
1868
|
+
const fakeLocusDelta = {
|
|
1869
|
+
sequence: {
|
|
1870
|
+
rangeStart: 0,
|
|
1871
|
+
rangeEnd: 0,
|
|
1872
|
+
},
|
|
1873
|
+
};
|
|
1874
|
+
locusInfo.locusParser.workingCopy = {
|
|
1875
|
+
sequence: {
|
|
1876
|
+
rangeStart: 0,
|
|
1877
|
+
rangeEnd: 0,
|
|
1878
|
+
},
|
|
1879
|
+
};
|
|
1880
|
+
const testMeeting = {locusInfo: {onDeltaLocus: sinon.stub()}};
|
|
1881
|
+
|
|
1882
|
+
locusParser.onDeltaAction = sandbox
|
|
1883
|
+
.stub()
|
|
1884
|
+
.onCall(0)
|
|
1885
|
+
.callsFake(() => {
|
|
1886
|
+
throw new Error('fake error');
|
|
1887
|
+
});
|
|
1888
|
+
|
|
1889
|
+
// simulate first locus delta coming - it will trigger an error thrown by onDeltaAction
|
|
1890
|
+
locusInfo.handleLocusDelta(fakeLocusDelta, testMeeting);
|
|
1891
|
+
|
|
1892
|
+
// simulate a second locus delta coming - it should be processed without errors
|
|
1893
|
+
locusInfo.handleLocusDelta(fakeLocusDelta, testMeeting);
|
|
1894
|
+
});
|
|
1895
|
+
|
|
1810
1896
|
it('applyLocusDeltaData handles USE_INCOMING action correctly', () => {
|
|
1811
1897
|
const {USE_INCOMING} = LocusDeltaParser.loci;
|
|
1812
1898
|
const meeting = {
|
|
@@ -33,6 +33,7 @@ describe('plugin-meetings', () => {
|
|
|
33
33
|
canStartManualCaption: null,
|
|
34
34
|
canStopManualCaption: null,
|
|
35
35
|
isManualCaptionActive: null,
|
|
36
|
+
isPremiseRecordingEnabled: null,
|
|
36
37
|
isSaveTranscriptsEnabled: null,
|
|
37
38
|
isWebexAssistantActive: null,
|
|
38
39
|
canViewCaptionPanel: null,
|
|
@@ -60,6 +61,10 @@ describe('plugin-meetings', () => {
|
|
|
60
61
|
canUpdateShareControl: null,
|
|
61
62
|
canEnableViewTheParticipantsList: null,
|
|
62
63
|
canDisableViewTheParticipantsList: null,
|
|
64
|
+
canEnableViewTheParticipantsListPanelist: null,
|
|
65
|
+
canDisableViewTheParticipantsListPanelist: null,
|
|
66
|
+
canEnableShowAttendeeCount: null,
|
|
67
|
+
canDisableShowAttendeeCount: null,
|
|
63
68
|
canEnableRaiseHand: null,
|
|
64
69
|
canDisableRaiseHand: null,
|
|
65
70
|
canEnableVideo: null,
|
|
@@ -79,6 +84,16 @@ describe('plugin-meetings', () => {
|
|
|
79
84
|
canShareWhiteBoard: null,
|
|
80
85
|
enforceVirtualBackground: null,
|
|
81
86
|
canPollingAndQA: null,
|
|
87
|
+
canStartWebcast: null,
|
|
88
|
+
canStopWebcast: null,
|
|
89
|
+
canShowStageView: null,
|
|
90
|
+
canEnableStageView: null,
|
|
91
|
+
canDisableStageView: null,
|
|
92
|
+
isPracticeSessionOn : null,
|
|
93
|
+
isPracticeSessionOff : null,
|
|
94
|
+
canStartPracticeSession: null,
|
|
95
|
+
canStopPracticeSession: null,
|
|
96
|
+
|
|
82
97
|
...expected,
|
|
83
98
|
};
|
|
84
99
|
|
|
@@ -117,6 +132,7 @@ describe('plugin-meetings', () => {
|
|
|
117
132
|
'canStartManualCaption',
|
|
118
133
|
'canStopManualCaption',
|
|
119
134
|
'isManualCaptionActive',
|
|
135
|
+
'isPremiseRecordingEnabled',
|
|
120
136
|
'isSaveTranscriptsEnabled',
|
|
121
137
|
'isWebexAssistantActive',
|
|
122
138
|
'canViewCaptionPanel',
|
|
@@ -144,6 +160,10 @@ describe('plugin-meetings', () => {
|
|
|
144
160
|
'canUpdateShareControl',
|
|
145
161
|
'canEnableViewTheParticipantsList',
|
|
146
162
|
'canDisableViewTheParticipantsList',
|
|
163
|
+
'canEnableViewTheParticipantsListPanelist',
|
|
164
|
+
'canDisableViewTheParticipantsListPanelist',
|
|
165
|
+
'canEnableShowAttendeeCount',
|
|
166
|
+
'canDisableShowAttendeeCount',
|
|
147
167
|
'canEnableRaiseHand',
|
|
148
168
|
'canDisableRaiseHand',
|
|
149
169
|
'canEnableVideo',
|
|
@@ -163,7 +183,17 @@ describe('plugin-meetings', () => {
|
|
|
163
183
|
'canShareWhiteBoard',
|
|
164
184
|
'enforceVirtualBackground',
|
|
165
185
|
'canPollingAndQA',
|
|
166
|
-
|
|
186
|
+
'canStartWebcast',
|
|
187
|
+
'canStopWebcast',
|
|
188
|
+
'canShowStageView',
|
|
189
|
+
'canEnableStageView',
|
|
190
|
+
'canDisableStageView',
|
|
191
|
+
'isPracticeSessionOn',
|
|
192
|
+
'isPracticeSessionOff',
|
|
193
|
+
'canStartPracticeSession',
|
|
194
|
+
'canStopPracticeSession',
|
|
195
|
+
|
|
196
|
+
].forEach((key) => {
|
|
167
197
|
it(`get and set for ${key} work as expected`, () => {
|
|
168
198
|
const inMeetingActions = new InMeetingActions();
|
|
169
199
|
|