You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

followMe.spec.ts 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import { ensureThreeParticipants, ensureTwoParticipants } from '../../helpers/participants';
  2. describe('Follow Me', () => {
  3. it('joining the meeting', async () => {
  4. await ensureTwoParticipants(ctx);
  5. const { p1 } = ctx;
  6. await p1.getToolbar().clickSettingsButton();
  7. const settings = p1.getSettingsDialog();
  8. await settings.waitForDisplay();
  9. await settings.setFollowMe(true);
  10. await settings.submit();
  11. });
  12. it('follow me checkbox visible only for moderators', async () => {
  13. const { p2 } = ctx;
  14. if (!await p2.isModerator()) {
  15. await p2.getToolbar().clickSettingsButton();
  16. const settings = p2.getSettingsDialog();
  17. await settings.waitForDisplay();
  18. expect(await settings.isFollowMeDisplayed()).toBe(false);
  19. await settings.clickCloseButton();
  20. }
  21. });
  22. it('filmstrip commands', async () => {
  23. const { p1, p2 } = ctx;
  24. const p1Filmstrip = p1.getFilmstrip();
  25. const p2Filmstrip = p2.getFilmstrip();
  26. await p1Filmstrip.toggle();
  27. await p1Filmstrip.assertRemoteVideosHidden();
  28. await p2Filmstrip.assertRemoteVideosHidden();
  29. });
  30. it('tile view', async () => {
  31. await ensureThreeParticipants(ctx);
  32. const { p1, p2, p3 } = ctx;
  33. await p1.waitForTileViewDisplay();
  34. await p1.getToolbar().clickExitTileViewButton();
  35. await Promise.all([
  36. p1.waitForTileViewDisplay(true),
  37. p2.waitForTileViewDisplay(true),
  38. p3.waitForTileViewDisplay(true)
  39. ]);
  40. await p1.getToolbar().clickEnterTileViewButton();
  41. await Promise.all([
  42. p1.waitForTileViewDisplay(),
  43. p2.waitForTileViewDisplay(),
  44. p3.waitForTileViewDisplay()
  45. ]);
  46. });
  47. it('next on stage', async () => {
  48. const { p1, p2, p3 } = ctx;
  49. await p1.getFilmstrip().pinParticipant(p2);
  50. const p2Filmstrip = p2.getFilmstrip();
  51. const localVideoId = await p2Filmstrip.getLocalVideoId();
  52. await p2.driver.waitUntil(
  53. async () => await localVideoId === await p2.getLargeVideo().getId(),
  54. {
  55. timeout: 5_000,
  56. timeoutMsg: 'The pinned participant is not displayed on stage for p2'
  57. });
  58. const p2VideoIdOnp3 = await p3.getFilmstrip().getRemoteVideoId(await p2.getEndpointId());
  59. await p3.driver.waitUntil(
  60. async () => p2VideoIdOnp3 === await p3.getLargeVideo().getId(),
  61. {
  62. timeout: 5_000,
  63. timeoutMsg: 'The pinned participant is not displayed on stage for p3'
  64. });
  65. });
  66. });