@webex/plugin-meetings 1.150.0 → 1.150.1
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "1.150.
|
|
3
|
+
"version": "1.150.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"contributors": [
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@babel/runtime-corejs2": "^7.14.8",
|
|
27
|
-
"@webex/webex-core": "1.150.
|
|
28
|
-
"@webex/internal-plugin-mercury": "1.150.
|
|
27
|
+
"@webex/webex-core": "1.150.1",
|
|
28
|
+
"@webex/internal-plugin-mercury": "1.150.1",
|
|
29
29
|
"webrtc-adapter": "^7.7.0",
|
|
30
30
|
"lodash": "^4.17.21",
|
|
31
31
|
"uuid": "^3.3.2",
|
|
32
32
|
"global": "^4.4.0",
|
|
33
|
-
"@webex/common": "1.150.
|
|
33
|
+
"@webex/common": "1.150.1",
|
|
34
34
|
"bowser": "^2.11.0",
|
|
35
35
|
"sdp-transform": "^2.12.0",
|
|
36
36
|
"readable-stream": "^3.6.0",
|
|
37
|
-
"@webex/common-timers": "1.150.
|
|
37
|
+
"@webex/common-timers": "1.150.1",
|
|
38
38
|
"btoa": "^1.2.1",
|
|
39
39
|
"javascript-state-machine": "^3.1.0",
|
|
40
40
|
"envify": "^4.1.0"
|
|
@@ -164,6 +164,41 @@ skipInNode(describe)('plugin-meetings', () => {
|
|
|
164
164
|
}));
|
|
165
165
|
});
|
|
166
166
|
|
|
167
|
+
// Enabled when config.enableUnifiedMeetings = true
|
|
168
|
+
xdescribe('Conversation URL', () => {
|
|
169
|
+
describe('Successful 1:1 meeting', () => {
|
|
170
|
+
it('Fetch meeting information with a conversation URL for a 1:1 space', async () => {
|
|
171
|
+
assert.equal(Object.keys(bob.webex.meetings.getAllMeetings()), 0);
|
|
172
|
+
assert.equal(Object.keys(chris.webex.meetings.getAllMeetings()), 0);
|
|
173
|
+
|
|
174
|
+
const conversation = await chris.webex.internal.conversation.create({participants: [bob]});
|
|
175
|
+
|
|
176
|
+
await chris.webex.internal.conversation.post(conversation, {displayName: 'hello world how are you '});
|
|
177
|
+
|
|
178
|
+
await Promise.all([
|
|
179
|
+
testUtils.delayedPromise(chris.webex.meetings.create(conversation.url, 'CONVERSATION_URL')),
|
|
180
|
+
testUtils.waitForEvents([{scope: chris.webex.meetings, event: 'meeting:added', user: chris}])
|
|
181
|
+
])
|
|
182
|
+
.then(function chrisJoinsMeeting() {
|
|
183
|
+
return Promise.all([
|
|
184
|
+
testUtils.delayedPromise(chris.meeting.join()),
|
|
185
|
+
testUtils.waitForEvents([{scope: bob.webex.meetings, event: 'meeting:added', user: bob},
|
|
186
|
+
{scope: chris.meeting, event: 'meeting:stateChange', user: chris}])
|
|
187
|
+
.then((response) => {
|
|
188
|
+
assert.equal(response[0].result.payload.currentState, 'ACTIVE');
|
|
189
|
+
})
|
|
190
|
+
]);
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
it('Fetch meeting information with invalid conversation URL and throws error', () => {
|
|
195
|
+
chris.webex.meetings.meetingInfo.fetchMeetingInfo('http://some-invalid.com', 'CONVERSATION_URL').then((response) => {
|
|
196
|
+
assert(response.result === '404');
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
|
|
167
202
|
describe('Successful 1:1 meeting (including Guest)', function () {
|
|
168
203
|
before(() => {
|
|
169
204
|
// Workaround since getDisplayMedia requires a user gesture to be activated, and this is a integration tests
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import {assert} from '@webex/test-helper-chai';
|
|
3
3
|
import {skipInNode, jenkinsOnly} from '@webex/test-helper-mocha';
|
|
4
|
+
import {patterns} from '@webex/common';
|
|
5
|
+
import MeetingInfoUtil from '@webex/plugin-meetings/src/meeting-info/utilv2';
|
|
4
6
|
|
|
5
7
|
import CMR from '../../utils/cmr';
|
|
6
8
|
import testUtils from '../../utils/testUtils';
|
|
@@ -66,17 +68,34 @@ skipInNode(describe)('plugin-meetings', () => {
|
|
|
66
68
|
{scope: chris.webex.meetings, event: 'meeting:added', user: chris}])
|
|
67
69
|
])));
|
|
68
70
|
|
|
71
|
+
xit('Should fetch user info using user hydra id with the new api', () => alice.webex.rooms.create({title: 'sample'})
|
|
72
|
+
.then((room) => MeetingInfoUtil.getDestinationType({
|
|
73
|
+
destination: room.creatorId,
|
|
74
|
+
webex: alice.webex
|
|
75
|
+
}))
|
|
76
|
+
.then((destinationType) => MeetingInfoUtil.getRequestBody(destinationType))
|
|
77
|
+
.then((res) => {
|
|
78
|
+
assert.exists(res.sipUrl, 'sipURL didnt exist');
|
|
79
|
+
assert.match(res.sipUrl, patterns.email); // assert sipURL is email
|
|
80
|
+
}));
|
|
81
|
+
|
|
69
82
|
// Enable this test when we are going to enable the unified space meeeting .
|
|
70
83
|
// We cannot change the config on load as the meetingInfo function loads dynamically
|
|
71
|
-
xit('Should fetch meeting
|
|
72
|
-
alice.webex.meetings.config.experimental.enableUnifiedMeetings = true;
|
|
84
|
+
xit('Should fetch meeting info using space url with the new api', async () => {
|
|
73
85
|
const res = await alice.webex.meetings.meetingInfo.fetchMeetingInfo(space.url, 'CONVERSATION_URL');
|
|
74
86
|
|
|
75
|
-
assert.exists(res.meetingNumber);
|
|
87
|
+
assert.exists(res.body.meetingNumber);
|
|
88
|
+
});
|
|
76
89
|
|
|
77
|
-
|
|
90
|
+
xit('Bob fetches meeting info with SIP URI before joining', async () => {
|
|
91
|
+
const {sipUri} = alice.meeting;
|
|
92
|
+
const res = await bob.webex.meetings.meetingInfo.fetchMeetingInfo(sipUri, 'SIP_URI');
|
|
93
|
+
const {meetingNumber} = res.body;
|
|
94
|
+
|
|
95
|
+
assert(meetingNumber === alice.meeting.meetingNumber, 'meetingNumber matches alice meeting number');
|
|
78
96
|
});
|
|
79
97
|
|
|
98
|
+
|
|
80
99
|
it('Bob and chris joins space meeting', () => testUtils.waitForStateChange(alice.meeting, 'JOINED')
|
|
81
100
|
.then(() => testUtils.waitForStateChange(bob.meeting, 'IDLE'))
|
|
82
101
|
.then(() => testUtils.waitForStateChange(chris.meeting, 'IDLE'))
|
|
@@ -12,6 +12,8 @@ require('@webex/internal-plugin-user');
|
|
|
12
12
|
require('@webex/internal-plugin-device');
|
|
13
13
|
require('@webex/internal-plugin-conversation');
|
|
14
14
|
require('@webex/internal-plugin-support');
|
|
15
|
+
require('@webex/plugin-people');
|
|
16
|
+
require('@webex/plugin-rooms');
|
|
15
17
|
require('@webex/plugin-meetings');
|
|
16
18
|
|
|
17
19
|
const generateTestUsers = (options) => testUser.create({count: options.count})
|