@webex/plugin-meetings 3.0.0-beta.326 → 3.0.0-beta.328
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/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/index.js +84 -29
- package/dist/meeting/index.js.map +1 -1
- package/dist/meetings/index.js +17 -9
- package/dist/meetings/index.js.map +1 -1
- package/dist/metrics/constants.js +2 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/types/meeting/index.d.ts +41 -6
- package/dist/types/meetings/index.d.ts +6 -4
- package/dist/types/metrics/constants.d.ts +2 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +19 -19
- package/src/meeting/index.ts +95 -21
- package/src/meetings/index.ts +17 -10
- package/src/metrics/constants.ts +2 -0
- package/test/unit/spec/meeting/index.js +89 -26
- package/test/unit/spec/meetings/index.js +84 -8
|
@@ -308,6 +308,7 @@ describe('plugin-meetings', () => {
|
|
|
308
308
|
assert.equal(meeting.resource, uuid2);
|
|
309
309
|
assert.equal(meeting.deviceUrl, uuid3);
|
|
310
310
|
assert.equal(meeting.correlationId, correlationId);
|
|
311
|
+
assert.deepEqual(meeting.callStateForMetrics, {correlationId});
|
|
311
312
|
assert.deepEqual(meeting.meetingInfo, {});
|
|
312
313
|
assert.instanceOf(meeting.members, Members);
|
|
313
314
|
assert.calledOnceWithExactly(
|
|
@@ -375,6 +376,34 @@ describe('plugin-meetings', () => {
|
|
|
375
376
|
}
|
|
376
377
|
);
|
|
377
378
|
assert.equal(newMeeting.correlationId, newMeeting.id);
|
|
379
|
+
assert.deepEqual(newMeeting.callStateForMetrics, {correlationId: newMeeting.id});
|
|
380
|
+
});
|
|
381
|
+
|
|
382
|
+
it('correlationId can be provided in callStateForMetrics', () => {
|
|
383
|
+
const newMeeting = new Meeting(
|
|
384
|
+
{
|
|
385
|
+
userId: uuid1,
|
|
386
|
+
resource: uuid2,
|
|
387
|
+
deviceUrl: uuid3,
|
|
388
|
+
locus: {url: url1},
|
|
389
|
+
destination: testDestination,
|
|
390
|
+
destinationType: _MEETING_ID_,
|
|
391
|
+
callStateForMetrics: {
|
|
392
|
+
correlationId: uuid4,
|
|
393
|
+
joinTrigger: 'fake-join-trigger',
|
|
394
|
+
loginType: 'fake-login-type',
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
parent: webex,
|
|
399
|
+
}
|
|
400
|
+
);
|
|
401
|
+
assert.equal(newMeeting.correlationId, uuid4);
|
|
402
|
+
assert.deepEqual(newMeeting.callStateForMetrics, {
|
|
403
|
+
correlationId: uuid4,
|
|
404
|
+
joinTrigger: 'fake-join-trigger',
|
|
405
|
+
loginType: 'fake-login-type',
|
|
406
|
+
});
|
|
378
407
|
});
|
|
379
408
|
|
|
380
409
|
describe('creates ReceiveSlot manager instance', () => {
|
|
@@ -844,6 +873,17 @@ describe('plugin-meetings', () => {
|
|
|
844
873
|
assert.equal(result, joinMeetingResult);
|
|
845
874
|
});
|
|
846
875
|
|
|
876
|
+
it('should take trigger from meeting joinTrigger if available', () => {
|
|
877
|
+
meeting.updateCallStateForMetrics({joinTrigger: 'fake-join-trigger'});
|
|
878
|
+
const join = meeting.join();
|
|
879
|
+
|
|
880
|
+
assert.calledWithMatch(webex.internal.newMetrics.submitClientEvent, {
|
|
881
|
+
name: 'client.call.initiated',
|
|
882
|
+
payload: {trigger: 'fake-join-trigger', isRoapCallEnabled: true},
|
|
883
|
+
options: {meetingId: meeting.id},
|
|
884
|
+
});
|
|
885
|
+
});
|
|
886
|
+
|
|
847
887
|
it('should not create new correlation ID on join immediately after create', async () => {
|
|
848
888
|
await meeting.join();
|
|
849
889
|
sinon.assert.notCalled(setCorrelationIdSpy);
|
|
@@ -4566,7 +4606,7 @@ describe('plugin-meetings', () => {
|
|
|
4566
4606
|
};
|
|
4567
4607
|
const FAKE_MEETING_INFO_LOOKUP_URL = 'meetingLookupUrl';
|
|
4568
4608
|
const FAKE_PERMISSION_TOKEN = {someField: 'some value'};
|
|
4569
|
-
const
|
|
4609
|
+
const FAKE_TIMESTAMPS = {timeLeft: 13, expiryTime: 123456, currentTime: 123478};
|
|
4570
4610
|
|
|
4571
4611
|
beforeEach(() => {
|
|
4572
4612
|
meeting.locusId = 'locus-id';
|
|
@@ -4576,7 +4616,7 @@ describe('plugin-meetings', () => {
|
|
|
4576
4616
|
meeting.destination = 'meeting-destination';
|
|
4577
4617
|
meeting.destinationType = 'meeting-destination-type';
|
|
4578
4618
|
meeting.updateMeetingActions = sinon.stub().returns(undefined);
|
|
4579
|
-
meeting.
|
|
4619
|
+
meeting.getPermissionTokenExpiryInfo = sinon.stub().returns(FAKE_TIMESTAMPS);
|
|
4580
4620
|
meeting.meetingInfoExtraParams = {
|
|
4581
4621
|
extraParam1: 'value1'
|
|
4582
4622
|
};
|
|
@@ -4629,7 +4669,9 @@ describe('plugin-meetings', () => {
|
|
|
4629
4669
|
assert.calledWith(
|
|
4630
4670
|
Metrics.sendBehavioralMetric, BEHAVIORAL_METRICS.PERMISSION_TOKEN_REFRESH, {
|
|
4631
4671
|
correlationId: meeting.correlationId,
|
|
4632
|
-
timeLeft:
|
|
4672
|
+
timeLeft: FAKE_TIMESTAMPS.timeLeft,
|
|
4673
|
+
expiryTime: FAKE_TIMESTAMPS.expiryTime,
|
|
4674
|
+
currentTime: FAKE_TIMESTAMPS.currentTime,
|
|
4633
4675
|
reason: 'fake reason',
|
|
4634
4676
|
destinationType: 'meeting-destination-type',
|
|
4635
4677
|
}
|
|
@@ -4678,7 +4720,9 @@ describe('plugin-meetings', () => {
|
|
|
4678
4720
|
assert.calledWith(
|
|
4679
4721
|
Metrics.sendBehavioralMetric, BEHAVIORAL_METRICS.PERMISSION_TOKEN_REFRESH, {
|
|
4680
4722
|
correlationId: meeting.correlationId,
|
|
4681
|
-
timeLeft:
|
|
4723
|
+
timeLeft: FAKE_TIMESTAMPS.timeLeft,
|
|
4724
|
+
expiryTime: FAKE_TIMESTAMPS.expiryTime,
|
|
4725
|
+
currentTime: FAKE_TIMESTAMPS.currentTime,
|
|
4682
4726
|
reason: 'some reason',
|
|
4683
4727
|
destinationType: 'MEETING_LINK',
|
|
4684
4728
|
}
|
|
@@ -5171,6 +5215,31 @@ describe('plugin-meetings', () => {
|
|
|
5171
5215
|
}
|
|
5172
5216
|
});
|
|
5173
5217
|
});
|
|
5218
|
+
|
|
5219
|
+
describe('#setCorrelationId', () => {
|
|
5220
|
+
it('should set the correlationId and return undefined', () => {
|
|
5221
|
+
assert.equal(meeting.correlationId, correlationId);
|
|
5222
|
+
assert.deepEqual(meeting.callStateForMetrics, {correlationId});
|
|
5223
|
+
meeting.setCorrelationId(uuid1);
|
|
5224
|
+
assert.equal(meeting.correlationId, uuid1);
|
|
5225
|
+
assert.deepEqual(meeting.callStateForMetrics, {correlationId: uuid1});
|
|
5226
|
+
});
|
|
5227
|
+
});
|
|
5228
|
+
|
|
5229
|
+
describe('#updateCallStateForMetrics', () => {
|
|
5230
|
+
it('should update the callState, overriding existing values', () => {
|
|
5231
|
+
assert.deepEqual(meeting.callStateForMetrics, {correlationId});
|
|
5232
|
+
meeting.updateCallStateForMetrics({correlationId: uuid1, joinTrigger: 'jt', loginType: 'lt'});
|
|
5233
|
+
assert.deepEqual(meeting.callStateForMetrics, {correlationId: uuid1, joinTrigger: 'jt', loginType: 'lt'});
|
|
5234
|
+
});
|
|
5235
|
+
|
|
5236
|
+
it('should update the callState, keeping non-supplied values', () => {
|
|
5237
|
+
assert.deepEqual(meeting.callStateForMetrics, {correlationId});
|
|
5238
|
+
meeting.updateCallStateForMetrics({joinTrigger: 'jt', loginType: 'lt'});
|
|
5239
|
+
assert.deepEqual(meeting.callStateForMetrics, {correlationId, joinTrigger: 'jt', loginType: 'lt'});
|
|
5240
|
+
});
|
|
5241
|
+
});
|
|
5242
|
+
|
|
5174
5243
|
describe('Local tracks publishing', () => {
|
|
5175
5244
|
let audioStream;
|
|
5176
5245
|
let videoStream;
|
|
@@ -7475,14 +7544,6 @@ describe('plugin-meetings', () => {
|
|
|
7475
7544
|
});
|
|
7476
7545
|
});
|
|
7477
7546
|
|
|
7478
|
-
describe('#setCorrelationId', () => {
|
|
7479
|
-
it('should set the correlationId and return undefined', () => {
|
|
7480
|
-
assert.ok(meeting.correlationId);
|
|
7481
|
-
meeting.setCorrelationId(uuid1);
|
|
7482
|
-
assert.equal(meeting.correlationId, uuid1);
|
|
7483
|
-
});
|
|
7484
|
-
});
|
|
7485
|
-
|
|
7486
7547
|
describe('#setUpLocusInfoAssignHostListener', () => {
|
|
7487
7548
|
let locusInfoOnSpy;
|
|
7488
7549
|
let inMeetingActionsSetSpy;
|
|
@@ -9698,7 +9759,7 @@ describe('plugin-meetings', () => {
|
|
|
9698
9759
|
});
|
|
9699
9760
|
});
|
|
9700
9761
|
|
|
9701
|
-
describe('#
|
|
9762
|
+
describe('#getPermissionTokenExpiryInfo', () => {
|
|
9702
9763
|
let now;
|
|
9703
9764
|
let clock;
|
|
9704
9765
|
|
|
@@ -9714,63 +9775,65 @@ describe('plugin-meetings', () => {
|
|
|
9714
9775
|
})
|
|
9715
9776
|
|
|
9716
9777
|
it('should return undefined if exp is undefined', () => {
|
|
9717
|
-
assert.equal(meeting.
|
|
9778
|
+
assert.equal(meeting.getPermissionTokenExpiryInfo(), undefined)
|
|
9718
9779
|
});
|
|
9719
9780
|
|
|
9720
9781
|
it('should return the expected positive exp', () => {
|
|
9721
9782
|
// set permission token as now + 1 sec
|
|
9722
|
-
|
|
9723
|
-
|
|
9783
|
+
const expiryTime = now + 1000;
|
|
9784
|
+
meeting.permissionTokenPayload = {exp: (expiryTime).toString()};
|
|
9785
|
+
assert.deepEqual(meeting.getPermissionTokenExpiryInfo(), {timeLeft: 1, expiryTime: Number(expiryTime), currentTime: now});
|
|
9724
9786
|
});
|
|
9725
9787
|
|
|
9726
9788
|
it('should return the expected negative exp', () => {
|
|
9727
9789
|
// set permission token as now - 1 sec
|
|
9728
|
-
|
|
9729
|
-
|
|
9790
|
+
const expiryTime = now - 1000;
|
|
9791
|
+
meeting.permissionTokenPayload = {exp: (expiryTime).toString()};
|
|
9792
|
+
assert.deepEqual(meeting.getPermissionTokenExpiryInfo(), {timeLeft: -1, expiryTime: Number(expiryTime), currentTime: now});
|
|
9730
9793
|
});
|
|
9731
9794
|
});
|
|
9732
9795
|
|
|
9733
9796
|
describe('#checkAndRefreshPermissionToken', () => {
|
|
9734
9797
|
it('should not fire refreshPermissionToken if permissionToken is not defined', async() => {
|
|
9735
|
-
meeting.
|
|
9798
|
+
meeting.getPermissionTokenExpiryInfo = sinon.stub().returns({timeLeft: undefined, expiryTime: undefined, currentTime: Date.now()})
|
|
9736
9799
|
meeting.refreshPermissionToken = sinon.stub().returns(Promise.resolve('test return value'));
|
|
9737
9800
|
|
|
9738
9801
|
const returnValue = await meeting.checkAndRefreshPermissionToken(10, 'ttl-join');
|
|
9739
9802
|
|
|
9740
|
-
assert.calledOnce(meeting.
|
|
9803
|
+
assert.calledOnce(meeting.getPermissionTokenExpiryInfo);
|
|
9741
9804
|
assert.notCalled(meeting.refreshPermissionToken);
|
|
9742
9805
|
assert.equal(returnValue, undefined);
|
|
9743
9806
|
});
|
|
9744
9807
|
|
|
9745
9808
|
it('should fire refreshPermissionToken if time left is below 10sec', async() => {
|
|
9746
|
-
meeting.
|
|
9809
|
+
meeting.getPermissionTokenExpiryInfo = sinon.stub().returns({timeLeft: 9, expiryTime: 122132, currentTime: Date.now()})
|
|
9747
9810
|
meeting.refreshPermissionToken = sinon.stub().returns(Promise.resolve('test return value'));
|
|
9748
9811
|
|
|
9749
9812
|
const returnValue = await meeting.checkAndRefreshPermissionToken(10, 'ttl-join');
|
|
9750
9813
|
|
|
9751
|
-
assert.calledOnce(meeting.
|
|
9814
|
+
assert.calledOnce(meeting.getPermissionTokenExpiryInfo);
|
|
9752
9815
|
assert.calledOnceWithExactly(meeting.refreshPermissionToken, 'ttl-join');
|
|
9753
9816
|
assert.equal(returnValue, 'test return value');
|
|
9754
9817
|
});
|
|
9755
9818
|
|
|
9756
9819
|
it('should fire refreshPermissionToken if time left is equal 10sec', async () => {
|
|
9757
|
-
meeting.
|
|
9820
|
+
meeting.getPermissionTokenExpiryInfo = sinon.stub().returns({timeLeft: 10, expiryTime: 122132, currentTime: Date.now()})
|
|
9758
9821
|
meeting.refreshPermissionToken = sinon.stub().returns(Promise.resolve('test return value'));
|
|
9759
9822
|
|
|
9760
9823
|
const returnValue = await meeting.checkAndRefreshPermissionToken(10, 'ttl-join');
|
|
9761
9824
|
|
|
9762
|
-
assert.calledOnce(meeting.
|
|
9825
|
+
assert.calledOnce(meeting.getPermissionTokenExpiryInfo);
|
|
9763
9826
|
assert.calledOnceWithExactly(meeting.refreshPermissionToken, 'ttl-join');
|
|
9764
9827
|
assert.equal(returnValue, 'test return value');
|
|
9765
9828
|
});
|
|
9766
9829
|
|
|
9767
9830
|
it('should not fire refreshPermissionToken if time left is higher than 10sec', async () => {
|
|
9768
|
-
meeting.
|
|
9831
|
+
meeting.getPermissionTokenExpiryInfo = sinon.stub().returns({timeLeft: 11, expiryTime: 122132, currentTime: Date.now()})
|
|
9769
9832
|
meeting.refreshPermissionToken = sinon.stub().returns(Promise.resolve('test return value'));
|
|
9770
9833
|
|
|
9771
9834
|
const returnValue = await meeting.checkAndRefreshPermissionToken(10, 'ttl-join');
|
|
9772
9835
|
|
|
9773
|
-
assert.calledOnce(meeting.
|
|
9836
|
+
assert.calledOnce(meeting.getPermissionTokenExpiryInfo);
|
|
9774
9837
|
assert.notCalled(meeting.refreshPermissionToken);
|
|
9775
9838
|
assert.equal(returnValue, undefined);
|
|
9776
9839
|
});
|
|
@@ -637,6 +637,29 @@ describe('plugin-meetings', () => {
|
|
|
637
637
|
|
|
638
638
|
const FAKE_USE_RANDOM_DELAY = true;
|
|
639
639
|
const correlationId = 'my-correlationId';
|
|
640
|
+
const callStateForMetrics = {
|
|
641
|
+
correlationId: 'my-correlationId2',
|
|
642
|
+
joinTrigger: 'my-join-trigger',
|
|
643
|
+
loginType: 'my-login-type',
|
|
644
|
+
};
|
|
645
|
+
|
|
646
|
+
it('should call setCallStateForMetrics on any pre-existing meeting', async () => {
|
|
647
|
+
const fakeMeeting = {setCallStateForMetrics: sinon.mock()};
|
|
648
|
+
webex.meetings.meetingCollection.getByKey = sinon.stub().returns(fakeMeeting);
|
|
649
|
+
await webex.meetings.create(
|
|
650
|
+
test1,
|
|
651
|
+
test2,
|
|
652
|
+
FAKE_USE_RANDOM_DELAY,
|
|
653
|
+
{},
|
|
654
|
+
correlationId,
|
|
655
|
+
true,
|
|
656
|
+
callStateForMetrics
|
|
657
|
+
);
|
|
658
|
+
assert.calledOnceWithExactly(fakeMeeting.setCallStateForMetrics, {
|
|
659
|
+
...callStateForMetrics,
|
|
660
|
+
correlationId,
|
|
661
|
+
});
|
|
662
|
+
});
|
|
640
663
|
|
|
641
664
|
const checkCallCreateMeeting = async (createParameters, createMeetingParameters) => {
|
|
642
665
|
const create = webex.meetings.create(...createParameters);
|
|
@@ -648,23 +671,37 @@ describe('plugin-meetings', () => {
|
|
|
648
671
|
};
|
|
649
672
|
|
|
650
673
|
it('calls createMeeting and returns its promise', async () => {
|
|
651
|
-
checkCallCreateMeeting(
|
|
674
|
+
await checkCallCreateMeeting(
|
|
652
675
|
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, correlationId, true],
|
|
653
|
-
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, correlationId, true]
|
|
676
|
+
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, {correlationId}, true]
|
|
654
677
|
);
|
|
655
678
|
});
|
|
656
679
|
|
|
657
680
|
it('calls createMeeting when failOnMissingMeetinginfo is undefined and returns its promise', async () => {
|
|
658
|
-
checkCallCreateMeeting(
|
|
681
|
+
await checkCallCreateMeeting(
|
|
659
682
|
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, correlationId, undefined],
|
|
660
|
-
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, correlationId, false]
|
|
683
|
+
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, {correlationId}, false]
|
|
661
684
|
);
|
|
662
685
|
});
|
|
663
686
|
|
|
664
687
|
it('calls createMeeting when failOnMissingMeetinginfo is false and returns its promise', async () => {
|
|
665
|
-
checkCallCreateMeeting(
|
|
688
|
+
await checkCallCreateMeeting(
|
|
666
689
|
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, correlationId, false],
|
|
667
|
-
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, correlationId, false]
|
|
690
|
+
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, {correlationId}, false]
|
|
691
|
+
);
|
|
692
|
+
});
|
|
693
|
+
|
|
694
|
+
it('calls createMeeting with callStateForMetrics and returns its promise', async () => {
|
|
695
|
+
await checkCallCreateMeeting(
|
|
696
|
+
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, undefined, true, callStateForMetrics],
|
|
697
|
+
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, callStateForMetrics, true]
|
|
698
|
+
);
|
|
699
|
+
});
|
|
700
|
+
|
|
701
|
+
it('calls createMeeting with callStateForMetrics overwritten with correlationId and returns its promise', async () => {
|
|
702
|
+
await checkCallCreateMeeting(
|
|
703
|
+
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, correlationId, true, callStateForMetrics],
|
|
704
|
+
[test1, test2, FAKE_USE_RANDOM_DELAY, {}, {...callStateForMetrics, correlationId}, true]
|
|
668
705
|
);
|
|
669
706
|
});
|
|
670
707
|
|
|
@@ -693,7 +730,8 @@ describe('plugin-meetings', () => {
|
|
|
693
730
|
test2,
|
|
694
731
|
FAKE_USE_RANDOM_DELAY,
|
|
695
732
|
FAKE_INFO_EXTRA_PARAMS,
|
|
696
|
-
correlationId
|
|
733
|
+
{correlationId},
|
|
734
|
+
false
|
|
697
735
|
);
|
|
698
736
|
});
|
|
699
737
|
|
|
@@ -1122,6 +1160,12 @@ describe('plugin-meetings', () => {
|
|
|
1122
1160
|
if (expectedMeetingData.correlationId) {
|
|
1123
1161
|
assert.equal(meeting.correlationId, expectedMeetingData.correlationId);
|
|
1124
1162
|
}
|
|
1163
|
+
if (expectedMeetingData.callStateForMetrics) {
|
|
1164
|
+
assert.deepEqual(
|
|
1165
|
+
meeting.callStateForMetrics,
|
|
1166
|
+
expectedMeetingData.callStateForMetrics
|
|
1167
|
+
);
|
|
1168
|
+
}
|
|
1125
1169
|
assert.equal(meeting.destination, destination);
|
|
1126
1170
|
assert.equal(meeting.destinationType, type);
|
|
1127
1171
|
assert.calledWith(
|
|
@@ -1390,7 +1434,7 @@ describe('plugin-meetings', () => {
|
|
|
1390
1434
|
'test type',
|
|
1391
1435
|
false,
|
|
1392
1436
|
{},
|
|
1393
|
-
'my-correlationId'
|
|
1437
|
+
{correlationId: 'my-correlationId'}
|
|
1394
1438
|
);
|
|
1395
1439
|
|
|
1396
1440
|
const expectedMeetingData = {
|
|
@@ -1406,6 +1450,38 @@ describe('plugin-meetings', () => {
|
|
|
1406
1450
|
true
|
|
1407
1451
|
);
|
|
1408
1452
|
});
|
|
1453
|
+
|
|
1454
|
+
it('creates meeting with the callStateForMetrics provided', async () => {
|
|
1455
|
+
const meeting = await webex.meetings.createMeeting(
|
|
1456
|
+
'test destination',
|
|
1457
|
+
'test type',
|
|
1458
|
+
false,
|
|
1459
|
+
{},
|
|
1460
|
+
{
|
|
1461
|
+
correlationId: 'my-correlationId',
|
|
1462
|
+
joinTrigger: 'my-join-trigger',
|
|
1463
|
+
loginType: 'my-login-type',
|
|
1464
|
+
}
|
|
1465
|
+
);
|
|
1466
|
+
|
|
1467
|
+
const expectedMeetingData = {
|
|
1468
|
+
correlationId: 'my-correlationId',
|
|
1469
|
+
callStateForMetrics: {
|
|
1470
|
+
correlationId: 'my-correlationId',
|
|
1471
|
+
joinTrigger: 'my-join-trigger',
|
|
1472
|
+
loginType: 'my-login-type',
|
|
1473
|
+
},
|
|
1474
|
+
};
|
|
1475
|
+
|
|
1476
|
+
checkCreateWithoutDelay(
|
|
1477
|
+
meeting,
|
|
1478
|
+
'test destination',
|
|
1479
|
+
'test type',
|
|
1480
|
+
{},
|
|
1481
|
+
expectedMeetingData,
|
|
1482
|
+
true
|
|
1483
|
+
);
|
|
1484
|
+
});
|
|
1409
1485
|
});
|
|
1410
1486
|
|
|
1411
1487
|
describe('rejected MeetingInfo.#fetchMeetingInfo', () => {
|