@webex/plugin-meetings 3.0.0-beta.14 → 3.0.0-beta.16
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/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/common/browser-detection.js +1 -20
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +5 -26
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +5 -26
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +6 -27
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +5 -26
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +5 -26
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +4 -25
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +5 -26
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +5 -26
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +6 -41
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +1 -24
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +35 -61
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +1 -5
- package/dist/config.js.map +1 -1
- package/dist/constants.js +45 -40
- package/dist/constants.js.map +1 -1
- package/dist/index.js +1 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +10 -28
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +101 -193
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +0 -38
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +87 -123
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +16 -81
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +43 -97
- package/dist/media/index.js.map +1 -1
- package/dist/media/internal-media-core-wrapper.js +0 -4
- package/dist/media/internal-media-core-wrapper.js.map +1 -1
- package/dist/media/properties.js +64 -110
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +2 -9
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +10 -12
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.js +120 -192
- package/dist/meeting/effectsState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +0 -13
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +819 -1591
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +31 -78
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +160 -230
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +0 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +19 -158
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +3 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +10 -33
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +179 -268
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -16
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +137 -228
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +3 -21
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +450 -582
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +7 -30
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +99 -155
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -89
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +17 -68
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +2 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +72 -194
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +21 -56
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +9 -38
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +0 -2
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +1 -2
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +48 -136
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +12 -28
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/multistreamMedia.js +11 -21
- package/dist/multistream/multistreamMedia.js.map +1 -1
- package/dist/multistream/receiveSlot.js +7 -47
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +38 -77
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +11 -56
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +6 -40
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +221 -380
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +28 -57
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +10 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +2 -33
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js +100 -166
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +2 -18
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/reactions.js +0 -2
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +2 -6
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +294 -459
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.js +18 -53
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +13 -55
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +10 -52
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +0 -2
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +66 -174
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +54 -53
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +13 -45
- package/dist/transcription/index.js.map +1 -1
- package/internal-README.md +7 -6
- package/package.json +18 -18
- package/src/common/browser-detection.ts +9 -6
- package/src/common/collection.ts +3 -1
- package/src/common/errors/captcha-error.ts +6 -6
- package/src/common/errors/intent-to-join.ts +6 -6
- package/src/common/errors/join-meeting.ts +12 -8
- package/src/common/errors/media.ts +6 -6
- package/src/common/errors/parameter.ts +9 -6
- package/src/common/errors/password-error.ts +6 -6
- package/src/common/errors/permission.ts +5 -5
- package/src/common/errors/reconnection.ts +6 -6
- package/src/common/errors/stats.ts +6 -6
- package/src/common/errors/webex-errors.ts +7 -5
- package/src/common/errors/webex-meetings-error.ts +1 -1
- package/src/common/events/events-scope.ts +5 -1
- package/src/common/events/events.ts +5 -1
- package/src/common/events/trigger-proxy.ts +8 -3
- package/src/common/events/util.ts +1 -2
- package/src/common/logs/logger-proxy.ts +21 -10
- package/src/common/logs/request.ts +11 -8
- package/src/config.ts +11 -11
- package/src/constants.ts +1 -1
- package/src/index.js +1 -1
- package/src/locus-info/controlsUtils.ts +34 -24
- package/src/locus-info/fullState.ts +15 -11
- package/src/locus-info/hostUtils.ts +4 -3
- package/src/locus-info/index.ts +25 -34
- package/src/locus-info/infoUtils.ts +12 -4
- package/src/locus-info/mediaSharesUtils.ts +4 -4
- package/src/locus-info/parser.ts +45 -68
- package/src/locus-info/selfUtils.ts +106 -57
- package/src/media/index.ts +123 -135
- package/src/media/internal-media-core-wrapper.ts +2 -2
- package/src/media/properties.ts +30 -20
- package/src/media/util.ts +1 -1
- package/src/mediaQualityMetrics/config.ts +46 -46
- package/src/meeting/effectsState.ts +35 -35
- package/src/meeting/in-meeting-actions.ts +7 -3
- package/src/meeting/index.ts +1559 -1292
- package/src/meeting/muteState.ts +62 -31
- package/src/meeting/request.ts +155 -116
- package/src/meeting/request.type.ts +8 -8
- package/src/meeting/state.ts +45 -30
- package/src/meeting/util.ts +101 -70
- package/src/meeting-info/collection.ts +2 -1
- package/src/meeting-info/index.ts +32 -30
- package/src/meeting-info/meeting-info-v2.ts +106 -108
- package/src/meeting-info/request.ts +9 -3
- package/src/meeting-info/util.ts +54 -46
- package/src/meeting-info/utilv2.ts +59 -53
- package/src/meetings/collection.ts +1 -1
- package/src/meetings/index.ts +512 -440
- package/src/meetings/request.ts +26 -24
- package/src/meetings/util.ts +29 -29
- package/src/member/index.ts +55 -49
- package/src/member/util.ts +26 -13
- package/src/members/collection.ts +0 -1
- package/src/members/index.ts +182 -126
- package/src/members/request.ts +46 -14
- package/src/members/util.ts +44 -42
- package/src/metrics/config.ts +254 -81
- package/src/metrics/constants.ts +0 -2
- package/src/metrics/index.ts +84 -71
- package/src/multistream/multistreamMedia.ts +1 -0
- package/src/multistream/receiveSlot.ts +1 -0
- package/src/multistream/receiveSlotManager.ts +1 -0
- package/src/multistream/remoteMedia.ts +1 -1
- package/src/multistream/remoteMediaGroup.ts +2 -1
- package/src/multistream/remoteMediaManager.ts +3 -0
- package/src/networkQualityMonitor/index.ts +20 -23
- package/src/personal-meeting-room/index.ts +12 -16
- package/src/personal-meeting-room/request.ts +10 -3
- package/src/personal-meeting-room/util.ts +3 -3
- package/src/reachability/index.ts +61 -59
- package/src/reachability/request.ts +36 -32
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +4 -3
- package/src/reconnection-manager/index.ts +139 -84
- package/src/roap/index.ts +46 -38
- package/src/roap/request.ts +44 -31
- package/src/roap/turnDiscovery.ts +59 -30
- package/src/statsAnalyzer/global.ts +30 -33
- package/src/statsAnalyzer/index.ts +432 -175
- package/src/statsAnalyzer/mqaUtil.ts +178 -72
- package/src/transcription/index.ts +34 -32
- package/test/integration/spec/journey.js +664 -463
- package/test/integration/spec/space-meeting.js +319 -204
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +5 -5
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +1 -2
- package/test/unit/spec/locus-info/infoUtils.js +26 -33
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +72 -103
- package/test/unit/spec/locus-info/selfUtils.js +21 -12
- package/test/unit/spec/meeting/effectsState.js +36 -46
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -3
- package/test/unit/spec/meeting/index.js +1279 -685
- package/test/unit/spec/meeting/muteState.js +42 -33
- package/test/unit/spec/meeting/request.js +57 -46
- package/test/unit/spec/meeting/utils.js +78 -53
- package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +110 -74
- package/test/unit/spec/meetings/collection.js +1 -1
- package/test/unit/spec/meetings/index.js +438 -257
- package/test/unit/spec/meetings/utils.js +14 -12
- package/test/unit/spec/member/index.js +0 -1
- package/test/unit/spec/member/util.js +5 -6
- package/test/unit/spec/members/index.js +104 -54
- package/test/unit/spec/members/request.js +29 -20
- package/test/unit/spec/members/utils.js +8 -5
- package/test/unit/spec/metrics/index.js +16 -21
- package/test/unit/spec/networkQualityMonitor/index.js +21 -15
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +9 -11
- package/test/unit/spec/reconnection-manager/index.js +16 -18
- package/test/unit/spec/roap/turnDiscovery.ts +22 -19
- package/test/unit/spec/stats-analyzer/index.js +25 -20
- package/test/utils/cmr.js +44 -42
- package/test/utils/testUtils.js +83 -74
- package/test/utils/webex-config.js +18 -18
- package/test/utils/webex-test-users.js +53 -50
|
@@ -10,24 +10,27 @@ describe('plugin-meetings', () => {
|
|
|
10
10
|
sites: [
|
|
11
11
|
{
|
|
12
12
|
siteUrl: 'site1-example.webex.com',
|
|
13
|
-
default: false
|
|
13
|
+
default: false,
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
siteUrl: 'site2-example.webex.com',
|
|
17
|
-
default: false
|
|
17
|
+
default: false,
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
siteUrl: 'go.webex.com',
|
|
21
|
-
default: true
|
|
21
|
+
default: true,
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
siteUrl: 'site3-example.webex.com',
|
|
25
|
-
default: false
|
|
26
|
-
}
|
|
27
|
-
]
|
|
25
|
+
default: false,
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
assert.equal(
|
|
30
|
+
assert.equal(
|
|
31
|
+
MeetingsUtil.parseDefaultSiteFromMeetingPreferences(userPreferences),
|
|
32
|
+
'go.webex.com'
|
|
33
|
+
);
|
|
31
34
|
});
|
|
32
35
|
|
|
33
36
|
it('should work fine if no default true site', () => {
|
|
@@ -35,16 +38,16 @@ describe('plugin-meetings', () => {
|
|
|
35
38
|
sites: [
|
|
36
39
|
{
|
|
37
40
|
siteUrl: 'site1-example.webex.com',
|
|
38
|
-
default: false
|
|
41
|
+
default: false,
|
|
39
42
|
},
|
|
40
43
|
{
|
|
41
44
|
siteUrl: 'site2-example.webex.com',
|
|
42
|
-
default: false
|
|
45
|
+
default: false,
|
|
43
46
|
},
|
|
44
47
|
{
|
|
45
48
|
siteUrl: 'site3-example.webex.com',
|
|
46
|
-
default: false
|
|
47
|
-
}
|
|
49
|
+
default: false,
|
|
50
|
+
},
|
|
48
51
|
],
|
|
49
52
|
};
|
|
50
53
|
|
|
@@ -61,4 +64,3 @@ describe('plugin-meetings', () => {
|
|
|
61
64
|
});
|
|
62
65
|
});
|
|
63
66
|
});
|
|
64
|
-
|
|
@@ -2,7 +2,6 @@ import {assert} from '@webex/test-helper-chai';
|
|
|
2
2
|
|
|
3
3
|
import MemberUtil from '@webex/plugin-meetings/src/member/util';
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
describe('isHandRaised', () => {
|
|
7
6
|
it('throws error when there is no participant', () => {
|
|
8
7
|
assert.throws(() => {
|
|
@@ -18,7 +17,7 @@ describe('isHandRaised', () => {
|
|
|
18
17
|
|
|
19
18
|
it('returns false when hand is not there in controls', () => {
|
|
20
19
|
const participant = {
|
|
21
|
-
controls: {}
|
|
20
|
+
controls: {},
|
|
22
21
|
};
|
|
23
22
|
|
|
24
23
|
assert.isFalse(MemberUtil.isHandRaised(participant));
|
|
@@ -28,9 +27,9 @@ describe('isHandRaised', () => {
|
|
|
28
27
|
const participant = {
|
|
29
28
|
controls: {
|
|
30
29
|
hand: {
|
|
31
|
-
raised: true
|
|
30
|
+
raised: true,
|
|
32
31
|
},
|
|
33
|
-
}
|
|
32
|
+
},
|
|
34
33
|
};
|
|
35
34
|
|
|
36
35
|
assert.isTrue(MemberUtil.isHandRaised(participant));
|
|
@@ -40,9 +39,9 @@ describe('isHandRaised', () => {
|
|
|
40
39
|
const participant = {
|
|
41
40
|
controls: {
|
|
42
41
|
hand: {
|
|
43
|
-
raised: false
|
|
42
|
+
raised: false,
|
|
44
43
|
},
|
|
45
|
-
}
|
|
44
|
+
},
|
|
46
45
|
};
|
|
47
46
|
|
|
48
47
|
assert.isFalse(MemberUtil.isHandRaised(participant));
|
|
@@ -20,7 +20,6 @@ const {assert} = chai;
|
|
|
20
20
|
chai.use(chaiAsPromised);
|
|
21
21
|
sinon.assert.expose(chai.assert, {prefix: ''});
|
|
22
22
|
|
|
23
|
-
|
|
24
23
|
describe('plugin-meetings', () => {
|
|
25
24
|
let webex;
|
|
26
25
|
let url1;
|
|
@@ -34,37 +33,33 @@ describe('plugin-meetings', () => {
|
|
|
34
33
|
id: '6eb08f8b-bf69-3251-a126-b161bead2d21',
|
|
35
34
|
phoneNumber: '+18578675309',
|
|
36
35
|
isExternal: true,
|
|
37
|
-
primaryDisplayString: '+18578675309'
|
|
36
|
+
primaryDisplayString: '+18578675309',
|
|
38
37
|
},
|
|
39
38
|
devices: [
|
|
40
39
|
{
|
|
41
40
|
url: 'https://fakeURL.com',
|
|
42
41
|
deviceType: 'SIP',
|
|
43
42
|
state: 'JOINED',
|
|
44
|
-
intents: [
|
|
45
|
-
null
|
|
46
|
-
],
|
|
43
|
+
intents: [null],
|
|
47
44
|
correlationId: '1234',
|
|
48
45
|
provisionalUrl: 'dialout:///fake',
|
|
49
|
-
isSparkPstn: true
|
|
46
|
+
isSparkPstn: true,
|
|
50
47
|
},
|
|
51
48
|
{
|
|
52
49
|
url: 'dialout:///fakeagain',
|
|
53
50
|
deviceType: 'PROVISIONAL',
|
|
54
51
|
state: 'JOINED',
|
|
55
|
-
intents: [
|
|
56
|
-
null
|
|
57
|
-
],
|
|
52
|
+
intents: [null],
|
|
58
53
|
correlationId: '4321',
|
|
59
54
|
isVideoCallback: false,
|
|
60
55
|
clientUrl: 'https://fakeURL',
|
|
61
56
|
provisionalType: 'DIAL_OUT_ONLY',
|
|
62
|
-
dialingStatus: 'SUCCESS'
|
|
63
|
-
}
|
|
57
|
+
dialingStatus: 'SUCCESS',
|
|
58
|
+
},
|
|
64
59
|
],
|
|
65
60
|
status: {
|
|
66
61
|
audioStatus: 'SENDRECV',
|
|
67
|
-
videoStatus: 'INACTIVE'
|
|
62
|
+
videoStatus: 'INACTIVE',
|
|
68
63
|
},
|
|
69
64
|
id: 'abc-123-abc-123',
|
|
70
65
|
guest: true,
|
|
@@ -72,16 +67,15 @@ describe('plugin-meetings', () => {
|
|
|
72
67
|
moderator: false,
|
|
73
68
|
panelist: false,
|
|
74
69
|
moveToLobbyNotAllowed: true,
|
|
75
|
-
deviceUrl: 'https://fakeDeviceurl'
|
|
70
|
+
deviceUrl: 'https://fakeDeviceurl',
|
|
76
71
|
},
|
|
77
72
|
id: 'abc-123-abc-123',
|
|
78
73
|
status: 'IN_MEETING',
|
|
79
74
|
type: 'MEETING',
|
|
80
|
-
isModerator: false
|
|
81
|
-
}
|
|
75
|
+
isModerator: false,
|
|
76
|
+
},
|
|
82
77
|
};
|
|
83
78
|
|
|
84
|
-
|
|
85
79
|
describe('members', () => {
|
|
86
80
|
const sandbox = sinon.createSandbox();
|
|
87
81
|
let createMembers;
|
|
@@ -91,21 +85,21 @@ describe('plugin-meetings', () => {
|
|
|
91
85
|
children: {
|
|
92
86
|
meetings: Meetings,
|
|
93
87
|
credentials: Credentials,
|
|
94
|
-
support: Support
|
|
88
|
+
support: Support,
|
|
95
89
|
},
|
|
96
90
|
config: {
|
|
97
91
|
credentials: {
|
|
98
|
-
client_id: 'mock-client-id'
|
|
92
|
+
client_id: 'mock-client-id',
|
|
99
93
|
},
|
|
100
94
|
meetings: {
|
|
101
95
|
reconnection: {
|
|
102
|
-
enabled: false
|
|
96
|
+
enabled: false,
|
|
103
97
|
},
|
|
104
98
|
mediaSettings: {},
|
|
105
99
|
metrics: {},
|
|
106
|
-
stats: {}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
100
|
+
stats: {},
|
|
101
|
+
},
|
|
102
|
+
},
|
|
109
103
|
});
|
|
110
104
|
|
|
111
105
|
url1 = `https://example.com/${uuid.v4()}`;
|
|
@@ -155,7 +149,13 @@ describe('plugin-meetings', () => {
|
|
|
155
149
|
|
|
156
150
|
members.membersCollection.setAll(fakeMembersCollection);
|
|
157
151
|
await members.sendDialPadKey('1', 'test1');
|
|
158
|
-
assert.calledWith(
|
|
152
|
+
assert.calledWith(
|
|
153
|
+
MembersUtil.genderateSendDTMFOptions,
|
|
154
|
+
'https://fakeURL.com',
|
|
155
|
+
'1',
|
|
156
|
+
'test1',
|
|
157
|
+
url1
|
|
158
|
+
);
|
|
159
159
|
});
|
|
160
160
|
|
|
161
161
|
it('should call the sendDialPadKey method on membersRequest if the member is valid', async () => {
|
|
@@ -196,7 +196,10 @@ describe('plugin-meetings', () => {
|
|
|
196
196
|
const members = createMembers({url: locusUrl});
|
|
197
197
|
|
|
198
198
|
const spies = {
|
|
199
|
-
generateRaiseHandMemberOptions: sandbox.spy(
|
|
199
|
+
generateRaiseHandMemberOptions: sandbox.spy(
|
|
200
|
+
MembersUtil,
|
|
201
|
+
'generateRaiseHandMemberOptions'
|
|
202
|
+
),
|
|
200
203
|
raiseOrLowerHandMember: sandbox.spy(members.membersRequest, 'raiseOrLowerHandMember'),
|
|
201
204
|
};
|
|
202
205
|
|
|
@@ -209,10 +212,25 @@ describe('plugin-meetings', () => {
|
|
|
209
212
|
assert.notCalled(spies.raiseOrLowerHandMember);
|
|
210
213
|
};
|
|
211
214
|
|
|
212
|
-
const checkValid = async (
|
|
215
|
+
const checkValid = async (
|
|
216
|
+
resultPromise,
|
|
217
|
+
spies,
|
|
218
|
+
expectedMemberId,
|
|
219
|
+
expectedRaise,
|
|
220
|
+
expectedLocusUrl
|
|
221
|
+
) => {
|
|
213
222
|
await assert.isFulfilled(resultPromise);
|
|
214
|
-
assert.calledOnceWithExactly(
|
|
215
|
-
|
|
223
|
+
assert.calledOnceWithExactly(
|
|
224
|
+
spies.generateRaiseHandMemberOptions,
|
|
225
|
+
expectedMemberId,
|
|
226
|
+
expectedRaise,
|
|
227
|
+
expectedLocusUrl
|
|
228
|
+
);
|
|
229
|
+
assert.calledOnceWithExactly(spies.raiseOrLowerHandMember, {
|
|
230
|
+
memberId: expectedMemberId,
|
|
231
|
+
raised: expectedRaise,
|
|
232
|
+
locusUrl: expectedLocusUrl,
|
|
233
|
+
});
|
|
216
234
|
assert.strictEqual(resultPromise, spies.raiseOrLowerHandMember.getCall(0).returnValue);
|
|
217
235
|
};
|
|
218
236
|
|
|
@@ -221,7 +239,11 @@ describe('plugin-meetings', () => {
|
|
|
221
239
|
|
|
222
240
|
const resultPromise = members.raiseOrLowerHand();
|
|
223
241
|
|
|
224
|
-
await checkInvalid(
|
|
242
|
+
await checkInvalid(
|
|
243
|
+
resultPromise,
|
|
244
|
+
'The member id must be defined to raise/lower the hand of the member.',
|
|
245
|
+
spies
|
|
246
|
+
);
|
|
225
247
|
});
|
|
226
248
|
|
|
227
249
|
it('should not make a request if there is no locus url', async () => {
|
|
@@ -229,7 +251,11 @@ describe('plugin-meetings', () => {
|
|
|
229
251
|
|
|
230
252
|
const resultPromise = members.raiseOrLowerHand(uuid.v4());
|
|
231
253
|
|
|
232
|
-
await checkInvalid(
|
|
254
|
+
await checkInvalid(
|
|
255
|
+
resultPromise,
|
|
256
|
+
'The associated locus url for this meetings members object must be defined.',
|
|
257
|
+
spies
|
|
258
|
+
);
|
|
233
259
|
});
|
|
234
260
|
|
|
235
261
|
it('should make the correct request when called with raise as true', async () => {
|
|
@@ -265,7 +291,10 @@ describe('plugin-meetings', () => {
|
|
|
265
291
|
const members = createMembers({url: locusUrl});
|
|
266
292
|
|
|
267
293
|
const spies = {
|
|
268
|
-
generateLowerAllHandsMemberOptions: sandbox.spy(
|
|
294
|
+
generateLowerAllHandsMemberOptions: sandbox.spy(
|
|
295
|
+
MembersUtil,
|
|
296
|
+
'generateLowerAllHandsMemberOptions'
|
|
297
|
+
),
|
|
269
298
|
lowerAllHandsMember: sandbox.spy(members.membersRequest, 'lowerAllHandsMember'),
|
|
270
299
|
};
|
|
271
300
|
|
|
@@ -278,10 +307,22 @@ describe('plugin-meetings', () => {
|
|
|
278
307
|
assert.notCalled(spies.lowerAllHandsMember);
|
|
279
308
|
};
|
|
280
309
|
|
|
281
|
-
const checkValid = async (
|
|
310
|
+
const checkValid = async (
|
|
311
|
+
resultPromise,
|
|
312
|
+
spies,
|
|
313
|
+
expectedRequestingMemberId,
|
|
314
|
+
expectedLocusUrl
|
|
315
|
+
) => {
|
|
282
316
|
await assert.isFulfilled(resultPromise);
|
|
283
|
-
assert.calledOnceWithExactly(
|
|
284
|
-
|
|
317
|
+
assert.calledOnceWithExactly(
|
|
318
|
+
spies.generateLowerAllHandsMemberOptions,
|
|
319
|
+
expectedRequestingMemberId,
|
|
320
|
+
expectedLocusUrl
|
|
321
|
+
);
|
|
322
|
+
assert.calledOnceWithExactly(spies.lowerAllHandsMember, {
|
|
323
|
+
requestingParticipantId: expectedRequestingMemberId,
|
|
324
|
+
locusUrl: expectedLocusUrl,
|
|
325
|
+
});
|
|
285
326
|
assert.strictEqual(resultPromise, spies.lowerAllHandsMember.getCall(0).returnValue);
|
|
286
327
|
};
|
|
287
328
|
|
|
@@ -290,7 +331,11 @@ describe('plugin-meetings', () => {
|
|
|
290
331
|
|
|
291
332
|
const resultPromise = members.lowerAllHands();
|
|
292
333
|
|
|
293
|
-
await checkInvalid(
|
|
334
|
+
await checkInvalid(
|
|
335
|
+
resultPromise,
|
|
336
|
+
'The requestingMemberId must be defined to lower all hands in a meeting.',
|
|
337
|
+
spies
|
|
338
|
+
);
|
|
294
339
|
});
|
|
295
340
|
|
|
296
341
|
it('should not make a request if there is no locus url', async () => {
|
|
@@ -298,7 +343,11 @@ describe('plugin-meetings', () => {
|
|
|
298
343
|
|
|
299
344
|
const resultPromise = members.lowerAllHands(uuid.v4());
|
|
300
345
|
|
|
301
|
-
await checkInvalid(
|
|
346
|
+
await checkInvalid(
|
|
347
|
+
resultPromise,
|
|
348
|
+
'The associated locus url for this meetings members object must be defined.',
|
|
349
|
+
spies
|
|
350
|
+
);
|
|
302
351
|
});
|
|
303
352
|
|
|
304
353
|
it('should make the correct request when called with requestingMemberId', async () => {
|
|
@@ -317,13 +366,12 @@ describe('plugin-meetings', () => {
|
|
|
317
366
|
// fake collection that contains all combinations of members data structure (with respect to CSIs)
|
|
318
367
|
const fakeCollection = {
|
|
319
368
|
oneWithoutDevices: {
|
|
320
|
-
participant: {
|
|
321
|
-
}
|
|
369
|
+
participant: {},
|
|
322
370
|
},
|
|
323
371
|
oneWithEmptyDevices: {
|
|
324
372
|
participant: {
|
|
325
373
|
devices: [],
|
|
326
|
-
}
|
|
374
|
+
},
|
|
327
375
|
},
|
|
328
376
|
oneWithDevicesWithoutCsis: {
|
|
329
377
|
participant: {
|
|
@@ -338,7 +386,7 @@ describe('plugin-meetings', () => {
|
|
|
338
386
|
url: 'dialout:///fakeagain',
|
|
339
387
|
deviceType: 'PROVISIONAL',
|
|
340
388
|
state: 'JOINED',
|
|
341
|
-
}
|
|
389
|
+
},
|
|
342
390
|
],
|
|
343
391
|
},
|
|
344
392
|
id: 'abc-123-abc-123',
|
|
@@ -358,10 +406,10 @@ describe('plugin-meetings', () => {
|
|
|
358
406
|
deviceType: 'SIP',
|
|
359
407
|
state: 'JOINED',
|
|
360
408
|
csis: [2000, 2001, 2002],
|
|
361
|
-
}
|
|
362
|
-
]
|
|
363
|
-
}
|
|
364
|
-
}
|
|
409
|
+
},
|
|
410
|
+
],
|
|
411
|
+
},
|
|
412
|
+
},
|
|
365
413
|
};
|
|
366
414
|
|
|
367
415
|
beforeEach(() => {
|
|
@@ -392,14 +440,13 @@ describe('plugin-meetings', () => {
|
|
|
392
440
|
},
|
|
393
441
|
oneWithoutDevices: {
|
|
394
442
|
id: 'oneWithoutDevices',
|
|
395
|
-
participant: {
|
|
396
|
-
}
|
|
443
|
+
participant: {},
|
|
397
444
|
},
|
|
398
445
|
oneWithEmptyDevices: {
|
|
399
446
|
id: 'oneWithEmptyDevices',
|
|
400
447
|
participant: {
|
|
401
448
|
devices: [],
|
|
402
|
-
}
|
|
449
|
+
},
|
|
403
450
|
},
|
|
404
451
|
oneWithDevicesWithoutCsis: {
|
|
405
452
|
id: 'oneWithDevicesWithoutCsis',
|
|
@@ -415,7 +462,7 @@ describe('plugin-meetings', () => {
|
|
|
415
462
|
url: 'dialout:///fakeagain',
|
|
416
463
|
deviceType: 'PROVISIONAL',
|
|
417
464
|
state: 'JOINED',
|
|
418
|
-
}
|
|
465
|
+
},
|
|
419
466
|
],
|
|
420
467
|
},
|
|
421
468
|
status: 'IN_MEETING',
|
|
@@ -431,7 +478,7 @@ describe('plugin-meetings', () => {
|
|
|
431
478
|
mediaSessions: [
|
|
432
479
|
{mediaType: 'audio', mediaContent: 'main', csi: 1000},
|
|
433
480
|
{mediaType: 'video', mediaContent: 'main', csi: 1001},
|
|
434
|
-
{mediaType: 'video', mediaContent: 'content', csi: 1002}
|
|
481
|
+
{mediaType: 'video', mediaContent: 'content', csi: 1002},
|
|
435
482
|
],
|
|
436
483
|
},
|
|
437
484
|
{
|
|
@@ -441,12 +488,12 @@ describe('plugin-meetings', () => {
|
|
|
441
488
|
mediaSessions: [
|
|
442
489
|
{mediaType: 'audio', mediaContent: 'main', csi: 2000},
|
|
443
490
|
{mediaType: 'video', mediaContent: 'main', csi: 2001},
|
|
444
|
-
{mediaType: 'video', mediaContent: 'content', csi: 2002}
|
|
491
|
+
{mediaType: 'video', mediaContent: 'content', csi: 2002},
|
|
445
492
|
],
|
|
446
|
-
}
|
|
447
|
-
]
|
|
448
|
-
}
|
|
449
|
-
}
|
|
493
|
+
},
|
|
494
|
+
],
|
|
495
|
+
},
|
|
496
|
+
},
|
|
450
497
|
};
|
|
451
498
|
|
|
452
499
|
beforeEach(() => {
|
|
@@ -470,7 +517,10 @@ describe('plugin-meetings', () => {
|
|
|
470
517
|
});
|
|
471
518
|
|
|
472
519
|
it('returns correct CSI values when there is a match', () => {
|
|
473
|
-
assert.deepEqual(
|
|
520
|
+
assert.deepEqual(
|
|
521
|
+
members.getCsisForMember('oneWithSomeCsis', 'video', 'main'),
|
|
522
|
+
[1001, 2001]
|
|
523
|
+
);
|
|
474
524
|
});
|
|
475
525
|
});
|
|
476
526
|
});
|
|
@@ -22,17 +22,20 @@ describe('plugin-meetings', () => {
|
|
|
22
22
|
beforeEach(() => {
|
|
23
23
|
const webex = new MockWebex({
|
|
24
24
|
children: {
|
|
25
|
-
meetings: Meetings
|
|
26
|
-
}
|
|
25
|
+
meetings: Meetings,
|
|
26
|
+
},
|
|
27
27
|
});
|
|
28
28
|
|
|
29
29
|
sandbox = sinon.createSandbox();
|
|
30
30
|
|
|
31
31
|
url1 = `https://example.com/${uuid.v4()}`;
|
|
32
32
|
|
|
33
|
-
membersRequest = new MembersRequest(
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
membersRequest = new MembersRequest(
|
|
34
|
+
{},
|
|
35
|
+
{
|
|
36
|
+
parent: webex,
|
|
37
|
+
}
|
|
38
|
+
);
|
|
36
39
|
membersRequest.request = sinon.mock().returns(Promise.resolve({}));
|
|
37
40
|
});
|
|
38
41
|
|
|
@@ -40,7 +43,6 @@ describe('plugin-meetings', () => {
|
|
|
40
43
|
sandbox.restore();
|
|
41
44
|
});
|
|
42
45
|
|
|
43
|
-
|
|
44
46
|
describe('members request library', () => {
|
|
45
47
|
describe('#sendDialPadKey', () => {
|
|
46
48
|
it('sends a POST to the sendDtmf locus endpoint', async () => {
|
|
@@ -53,7 +55,7 @@ describe('plugin-meetings', () => {
|
|
|
53
55
|
url,
|
|
54
56
|
tones,
|
|
55
57
|
memberId,
|
|
56
|
-
locusUrl
|
|
58
|
+
locusUrl,
|
|
57
59
|
});
|
|
58
60
|
const requestParams = membersRequest.request.getCall(0).args[0];
|
|
59
61
|
|
|
@@ -68,9 +70,9 @@ describe('plugin-meetings', () => {
|
|
|
68
70
|
it('sends a PUT to the locus endpoint', async () => {
|
|
69
71
|
const options = {
|
|
70
72
|
invitee: {
|
|
71
|
-
phoneNumber: '+18578675309'
|
|
73
|
+
phoneNumber: '+18578675309',
|
|
72
74
|
},
|
|
73
|
-
locusUrl: url1
|
|
75
|
+
locusUrl: url1,
|
|
74
76
|
};
|
|
75
77
|
|
|
76
78
|
await membersRequest.addMembers(options);
|
|
@@ -86,9 +88,9 @@ describe('plugin-meetings', () => {
|
|
|
86
88
|
it('sends a PUT to the locus endpoint', async () => {
|
|
87
89
|
const options = {
|
|
88
90
|
invitee: {
|
|
89
|
-
phoneNumber: '+18578675309'
|
|
91
|
+
phoneNumber: '+18578675309',
|
|
90
92
|
},
|
|
91
|
-
locusUrl: url1
|
|
93
|
+
locusUrl: url1,
|
|
92
94
|
};
|
|
93
95
|
|
|
94
96
|
await membersRequest.cancelPhoneInvite(options);
|
|
@@ -109,7 +111,7 @@ describe('plugin-meetings', () => {
|
|
|
109
111
|
const options = {
|
|
110
112
|
memberId,
|
|
111
113
|
locusUrl,
|
|
112
|
-
raised: true
|
|
114
|
+
raised: true,
|
|
113
115
|
};
|
|
114
116
|
|
|
115
117
|
await membersRequest.raiseOrLowerHandMember(options);
|
|
@@ -122,10 +124,15 @@ describe('plugin-meetings', () => {
|
|
|
122
124
|
});
|
|
123
125
|
|
|
124
126
|
describe('#lowerAllHands', () => {
|
|
125
|
-
const parameterErrorMessage =
|
|
127
|
+
const parameterErrorMessage =
|
|
128
|
+
'requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.';
|
|
126
129
|
|
|
127
130
|
const checkInvalid = async (functionParams) => {
|
|
128
|
-
assert.throws(
|
|
131
|
+
assert.throws(
|
|
132
|
+
() => membersRequest.lowerAllHandsMember(functionParams),
|
|
133
|
+
ParameterError,
|
|
134
|
+
parameterErrorMessage
|
|
135
|
+
);
|
|
129
136
|
assert(membersRequest.request.notCalled);
|
|
130
137
|
assert(membersUtil.getLowerAllHandsMemberRequestParams.notCalled);
|
|
131
138
|
};
|
|
@@ -151,7 +158,10 @@ describe('plugin-meetings', () => {
|
|
|
151
158
|
locusUrl,
|
|
152
159
|
};
|
|
153
160
|
|
|
154
|
-
assert.strictEqual(
|
|
161
|
+
assert.strictEqual(
|
|
162
|
+
membersRequest.lowerAllHandsMember(options),
|
|
163
|
+
membersRequest.request.getCall(0).returnValue
|
|
164
|
+
);
|
|
155
165
|
});
|
|
156
166
|
|
|
157
167
|
it('sends a PATCH to the locus endpoint', async () => {
|
|
@@ -163,14 +173,13 @@ describe('plugin-meetings', () => {
|
|
|
163
173
|
locusUrl,
|
|
164
174
|
};
|
|
165
175
|
|
|
166
|
-
|
|
167
176
|
const getRequestParamsSpy = sandbox.spy(membersUtil, 'getLowerAllHandsMemberRequestParams');
|
|
168
177
|
|
|
169
178
|
await membersRequest.lowerAllHandsMember(options);
|
|
170
179
|
|
|
171
180
|
assert.calledOnceWithExactly(getRequestParamsSpy, {
|
|
172
181
|
requestingParticipantId: memberId,
|
|
173
|
-
locusUrl: url1
|
|
182
|
+
locusUrl: url1,
|
|
174
183
|
});
|
|
175
184
|
|
|
176
185
|
const requestParams = membersRequest.request.getCall(0).args[0];
|
|
@@ -180,10 +189,10 @@ describe('plugin-meetings', () => {
|
|
|
180
189
|
uri: `${locusUrl}/controls`,
|
|
181
190
|
body: {
|
|
182
191
|
hand: {
|
|
183
|
-
raised: false
|
|
192
|
+
raised: false,
|
|
184
193
|
},
|
|
185
|
-
requestingParticipantId: memberId
|
|
186
|
-
}
|
|
194
|
+
requestingParticipantId: memberId,
|
|
195
|
+
},
|
|
187
196
|
});
|
|
188
197
|
});
|
|
189
198
|
});
|
|
@@ -20,7 +20,7 @@ describe('plugin-meetings', () => {
|
|
|
20
20
|
assert.deepEqual(MembersUtil.generateRaiseHandMemberOptions(memberId, status, locusUrl), {
|
|
21
21
|
memberId,
|
|
22
22
|
raised: status,
|
|
23
|
-
locusUrl
|
|
23
|
+
locusUrl,
|
|
24
24
|
});
|
|
25
25
|
});
|
|
26
26
|
});
|
|
@@ -29,10 +29,13 @@ describe('plugin-meetings', () => {
|
|
|
29
29
|
const requestingParticipantId = 'test';
|
|
30
30
|
const locusUrl = 'urlTest1';
|
|
31
31
|
|
|
32
|
-
assert.deepEqual(
|
|
33
|
-
requestingParticipantId,
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
assert.deepEqual(
|
|
33
|
+
MembersUtil.generateLowerAllHandsMemberOptions(requestingParticipantId, locusUrl),
|
|
34
|
+
{
|
|
35
|
+
requestingParticipantId,
|
|
36
|
+
locusUrl,
|
|
37
|
+
}
|
|
38
|
+
);
|
|
36
39
|
});
|
|
37
40
|
});
|
|
38
41
|
});
|