@webex/plugin-meetings 3.5.0-next.23 → 3.5.0-next.25

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.
@@ -378,24 +378,36 @@ describe('plugin-meetings', () => {
378
378
  });
379
379
 
380
380
  describe('joinMeeting', () => {
381
- it('#Should call `meetingRequest.joinMeeting', async () => {
382
- const meeting = {
381
+ const joinMeetingResponse = {
382
+ body: {
383
+ mediaConnections: [],
384
+ locus: {
385
+ url: 'differentLocusUrl',
386
+ self: {
387
+ id: 'selfId',
388
+ },
389
+ },
390
+ },
391
+ headers: {
392
+ trackingid: 'trackingId',
393
+ },
394
+ };
395
+ let meeting;
396
+
397
+ beforeEach(() => {
398
+ meeting = {
383
399
  meetingJoinUrl: 'meetingJoinUrl',
384
400
  locusUrl: 'locusUrl',
385
401
  meetingRequest: {
386
402
  joinMeeting: sinon.stub().returns(
387
- Promise.resolve({
388
- body: {mediaConnections: 'mediaConnections'},
389
- headers: {
390
- trackingid: 'trackingId',
391
- },
392
- })
393
- ),
403
+ Promise.resolve(joinMeetingResponse)),
394
404
  },
395
405
  getWebexObject: sinon.stub().returns(webex),
406
+ setLocus: sinon.stub(),
396
407
  };
408
+ });
397
409
 
398
- const parseLocusJoinSpy = sinon.stub(MeetingUtil, 'parseLocusJoin');
410
+ it('#Should call `meetingRequest.joinMeeting', async () => {
399
411
  await MeetingUtil.joinMeeting(meeting, {
400
412
  reachability: 'reachability',
401
413
  roapMessage: 'roapMessage',
@@ -409,6 +421,10 @@ describe('plugin-meetings', () => {
409
421
  assert.equal(parameter.reachability, 'reachability');
410
422
  assert.equal(parameter.roapMessage, 'roapMessage');
411
423
 
424
+ assert.calledOnce(meeting.setLocus)
425
+ const setLocusParameter = meeting.setLocus.getCall(0).args[0];
426
+ assert.deepEqual(setLocusParameter, MeetingUtil.parseLocusJoin(joinMeetingResponse))
427
+
412
428
  assert.calledWith(webex.internal.newMetrics.submitClientEvent, {
413
429
  name: 'client.locus.join.request',
414
430
  options: {meetingId: meeting.id},
@@ -424,21 +440,12 @@ describe('plugin-meetings', () => {
424
440
  },
425
441
  options: {
426
442
  meetingId: meeting.id,
427
- mediaConnections: 'mediaConnections',
443
+ mediaConnections: [],
428
444
  },
429
445
  });
430
- parseLocusJoinSpy.restore();
431
446
  });
432
447
 
433
448
  it('#Should call meetingRequest.joinMeeting with breakoutsSupported=true when passed in as true', async () => {
434
- const meeting = {
435
- meetingRequest: {
436
- joinMeeting: sinon.stub().returns(Promise.resolve({body: {}, headers: {}})),
437
- },
438
- getWebexObject: sinon.stub().returns(webex),
439
- };
440
-
441
- const parseLocusJoinSpy = sinon.stub(MeetingUtil, 'parseLocusJoin');
442
449
  await MeetingUtil.joinMeeting(meeting, {
443
450
  breakoutsSupported: true,
444
451
  });
@@ -447,18 +454,9 @@ describe('plugin-meetings', () => {
447
454
  const parameter = meeting.meetingRequest.joinMeeting.getCall(0).args[0];
448
455
 
449
456
  assert.equal(parameter.breakoutsSupported, true);
450
- parseLocusJoinSpy.restore();
451
457
  });
452
458
 
453
459
  it('#Should call meetingRequest.joinMeeting with liveAnnotationSupported=true when passed in as true', async () => {
454
- const meeting = {
455
- meetingRequest: {
456
- joinMeeting: sinon.stub().returns(Promise.resolve({body: {}, headers: {}})),
457
- },
458
- getWebexObject: sinon.stub().returns(webex),
459
- };
460
-
461
- const parseLocusJoinSpy = sinon.stub(MeetingUtil, 'parseLocusJoin');
462
460
  await MeetingUtil.joinMeeting(meeting, {
463
461
  liveAnnotationSupported: true,
464
462
  });
@@ -467,18 +465,9 @@ describe('plugin-meetings', () => {
467
465
  const parameter = meeting.meetingRequest.joinMeeting.getCall(0).args[0];
468
466
 
469
467
  assert.equal(parameter.liveAnnotationSupported, true);
470
- parseLocusJoinSpy.restore();
471
468
  });
472
469
 
473
470
  it('#Should call meetingRequest.joinMeeting with locale=en_UK, deviceCapabilities=["TEST"] when they are passed in as those values', async () => {
474
- const meeting = {
475
- meetingRequest: {
476
- joinMeeting: sinon.stub().returns(Promise.resolve({body: {}, headers: {}})),
477
- },
478
- getWebexObject: sinon.stub().returns(webex),
479
- };
480
-
481
- const parseLocusJoinSpy = sinon.stub(MeetingUtil, 'parseLocusJoin');
482
471
  await MeetingUtil.joinMeeting(meeting, {
483
472
  locale: 'en_UK',
484
473
  deviceCapabilities: ['TEST'],
@@ -489,21 +478,10 @@ describe('plugin-meetings', () => {
489
478
 
490
479
  assert.equal(parameter.locale, 'en_UK');
491
480
  assert.deepEqual(parameter.deviceCapabilities, ['TEST']);
492
- parseLocusJoinSpy.restore();
493
481
  });
494
482
 
495
483
  it('#Should call meetingRequest.joinMeeting with preferTranscoding=false when multistream is enabled', async () => {
496
- const meeting = {
497
- isMultistream: true,
498
- meetingJoinUrl: 'meetingJoinUrl',
499
- locusUrl: 'locusUrl',
500
- meetingRequest: {
501
- joinMeeting: sinon.stub().returns(Promise.resolve({body: {}, headers: {}})),
502
- },
503
- getWebexObject: sinon.stub().returns(webex),
504
- };
505
-
506
- const parseLocusJoinSpy = sinon.stub(MeetingUtil, 'parseLocusJoin');
484
+ meeting.isMultistream = true;
507
485
  await MeetingUtil.joinMeeting(meeting, {});
508
486
 
509
487
  assert.calledOnce(meeting.meetingRequest.joinMeeting);
@@ -511,40 +489,22 @@ describe('plugin-meetings', () => {
511
489
 
512
490
  assert.equal(parameter.inviteeAddress, 'meetingJoinUrl');
513
491
  assert.equal(parameter.preferTranscoding, false);
514
- parseLocusJoinSpy.restore();
515
492
  });
516
493
 
517
494
  it('#Should fallback sipUrl if meetingJoinUrl does not exists', async () => {
518
- const meeting = {
519
- sipUri: 'sipUri',
520
- locusUrl: 'locusUrl',
521
- meetingRequest: {
522
- joinMeeting: sinon.stub().returns(Promise.resolve({body: {}, headers: {}})),
523
- },
524
- getWebexObject: sinon.stub().returns(webex),
525
- };
526
-
527
- const parseLocusJoinSpy = sinon.stub(MeetingUtil, 'parseLocusJoin');
495
+ meeting.meetingJoinUrl = undefined;
496
+ meeting.sipUri = 'sipUri';
528
497
  await MeetingUtil.joinMeeting(meeting, {});
529
498
 
530
499
  assert.calledOnce(meeting.meetingRequest.joinMeeting);
531
500
  const parameter = meeting.meetingRequest.joinMeeting.getCall(0).args[0];
532
501
 
533
502
  assert.equal(parameter.inviteeAddress, 'sipUri');
534
- parseLocusJoinSpy.restore();
535
503
  });
536
504
 
537
505
  it('#Should fallback to meetingNumber if meetingJoinUrl/sipUrl does not exists', async () => {
538
- const meeting = {
539
- meetingNumber: 'meetingNumber',
540
- locusUrl: 'locusUrl',
541
- meetingRequest: {
542
- joinMeeting: sinon.stub().returns(Promise.resolve({body: {}, headers: {}})),
543
- },
544
- getWebexObject: sinon.stub().returns(webex),
545
- };
546
-
547
- const parseLocusJoinSpy = sinon.stub(MeetingUtil, 'parseLocusJoin');
506
+ meeting.meetingJoinUrl = undefined;
507
+ meeting.meetingNumber = 'meetingNumber';
548
508
  await MeetingUtil.joinMeeting(meeting, {});
549
509
 
550
510
  assert.calledOnce(meeting.meetingRequest.joinMeeting);
@@ -552,28 +512,18 @@ describe('plugin-meetings', () => {
552
512
 
553
513
  assert.isUndefined(parameter.inviteeAddress);
554
514
  assert.equal(parameter.meetingNumber, 'meetingNumber');
555
- parseLocusJoinSpy.restore();
556
515
  });
557
516
 
558
517
  it('should pass in the locusClusterUrl from meetingInfo', async () => {
559
- const meeting = {
560
- meetingInfo: {
561
- locusClusterUrl: 'locusClusterUrl',
562
- },
563
- meetingRequest: {
564
- joinMeeting: sinon.stub().returns(Promise.resolve({body: {}, headers: {}})),
565
- },
566
- getWebexObject: sinon.stub().returns(webex),
518
+ meeting.meetingInfo = {
519
+ locusClusterUrl: 'locusClusterUrl',
567
520
  };
568
-
569
- const parseLocusJoinSpy = sinon.stub(MeetingUtil, 'parseLocusJoin');
570
521
  await MeetingUtil.joinMeeting(meeting, {});
571
522
 
572
523
  assert.calledOnce(meeting.meetingRequest.joinMeeting);
573
524
  const parameter = meeting.meetingRequest.joinMeeting.getCall(0).args[0];
574
525
 
575
526
  assert.equal(parameter.locusClusterUrl, 'locusClusterUrl');
576
- parseLocusJoinSpy.restore();
577
527
  });
578
528
  });
579
529