@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.0",
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.0",
28
- "@webex/internal-plugin-mercury": "1.150.0",
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.0",
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.0",
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 Info using the new api', async () => {
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
- alice.webex.meetings.config.experimental.enableUnifiedMeetings = false;
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})