bigbluebutton-Github/bigbluebutton-tests/playwright/breakout/breakout.spec.js

145 lines
5.0 KiB
JavaScript

const { test } = require('@playwright/test');
const { Create } = require('./create');
const { Join } = require('./join');
test.describe.parallel('Breakout', () => {
test.describe.parallel('Creating', () => {
test('Create Breakout room @ci', async ({ browser, context, page }) => {
const create = new Create(browser, context);
await create.initPages(page);
await create.create();
});
test('Change number of rooms', async ({ browser, context, page }) => {
const create = new Create(browser, context);
await create.initPages(page);
await create.changeNumberOfRooms();
});
test('Change duration time', async ({ browser, context, page }) => {
const create = new Create(browser, context);
await create.initPages(page);
await create.changeDurationTime();
});
test('Change rooms name', async ({ browser, context, page }) => {
const create = new Create(browser, context);
await create.initPages(page);
await create.changeRoomsName();
});
test('Remove and reset assignments @ci @flaky', async ({ browser, context, page }) => {
const create = new Create(browser, context);
await create.initPages(page);
await create.removeAndResetAssignments();
});
test('Drag and drop user in a room @ci', async ({ browser, context, page }) => {
const create = new Create(browser, context);
await create.initPages(page);
await create.dragDropUserInRoom();
});
});
test.describe.parallel('After creating @flaky', () => {
// https://docs.bigbluebutton.org/2.6/release-tests.html#moderators-creating-breakout-rooms-and-assiging-users-automated
test('Join Breakout room @ci', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create()
await join.joinRoom();
});
test('Join Breakout room and share webcam', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create()
await join.joinAndShareWebcam();
});
test('Join Breakout room and share screen', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create();
await join.joinAndShareScreen();
});
test('Join Breakout room with Audio', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create();
await join.joinWithAudio();
});
test('Message to all rooms @ci', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create();
await join.messageToAllRooms();
});
test('Change duration time @ci', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create();
await join.changeDurationTime();
});
test('User name shows below rooms name @ci', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create();
await join.usernameShowsBelowRoomsName();
});
test('Show breakout room time remaining', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create();
await join.showBreakoutRoomTimeRemaining();
});
test('End all breakout rooms @ci', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create();
await join.endAllBreakoutRooms();
});
test('Invite user after creating rooms @ci', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create();
await join.inviteUserAfterCreatingRooms();
});
test('Move user to another room @ci', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create();
await join.moveUserToOtherRoom();
});
test('Export breakout room shared notes', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create(true); // capture breakout notes
await join.exportBreakoutNotes();
});
test('Export breakout room whiteboard annotations', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.create(false, true); // capture breakout whiteboard
await join.exportBreakoutWhiteboard();
});
test('User can choose a room @ci', async ({ browser, context, page }) => {
const join = new Join(browser, context);
await join.initPages(page);
await join.createToAllowChooseOwnRoom();
await join.userCanChooseRoom();
});
});
});