7f97793c50
* test override default presentation * add test on ci
129 lines
4.7 KiB
JavaScript
129 lines
4.7 KiB
JavaScript
const { expect, default: test } = require('@playwright/test');
|
|
const { MultiUsers } = require('../user/multiusers');
|
|
const e = require('../core/elements');
|
|
const c = require('./constants');
|
|
const { VIDEO_LOADING_WAIT_TIME, ELEMENT_WAIT_LONGER_TIME, ELEMENT_WAIT_EXTRA_LONG_TIME } = require('../core/constants');
|
|
const util = require('./util');
|
|
const { getSettings } = require('../core/settings');
|
|
const { waitAndClearDefaultPresentationNotification } = require('../notifications/util');
|
|
|
|
class CreateParameters extends MultiUsers {
|
|
constructor(browser, context) {
|
|
super(browser, context);
|
|
}
|
|
|
|
async recordMeeting() {
|
|
await this.modPage.hasElement(e.recordingIndicator);
|
|
}
|
|
|
|
async bannerText() {
|
|
await this.modPage.waitForSelector(e.actions);
|
|
await this.modPage.hasElement(e.notificationBannerBar);
|
|
}
|
|
|
|
async bannerColor(colorToRGB) {
|
|
await this.modPage.waitForSelector(e.notificationBannerBar);
|
|
const notificationLocator = this.modPage.getLocator(e.notificationBannerBar);
|
|
const notificationBarColor = await notificationLocator.evaluate((elem) => {
|
|
return getComputedStyle(elem).backgroundColor;
|
|
}, e.notificationBannerBar);
|
|
await expect(notificationBarColor).toBe(colorToRGB);
|
|
}
|
|
|
|
async maxParticipants(context) {
|
|
await this.modPage.waitForSelector(e.whiteboard);
|
|
await this.modPage2.hasElement(e.whiteboard);
|
|
|
|
await this.initUserPage(false, context);
|
|
await this.userPage.hasElement('p[class="error-message"]')
|
|
}
|
|
|
|
async duration(context) {
|
|
await this.modPage.hasElement(e.whiteboard);
|
|
await this.modPage.hasText(e.timeRemaining, /[1-2]:[0-5][0-9]/);
|
|
}
|
|
|
|
async moderatorOnlyMessage(context) {
|
|
await this.modPage.waitForSelector(e.whiteboard);
|
|
await this.modPage.checkElementCount(e.chatWelcomeMessageText, 2);
|
|
await this.modPage.hasText(`${e.chatWelcomeMessageText}>>nth=1`, 'Test');
|
|
|
|
await this.initUserPage(true, context);
|
|
await this.userPage.checkElementCount(e.chatWelcomeMessageText, 1);
|
|
}
|
|
|
|
async webcamsOnlyForModerator(context) {
|
|
await this.modPage.waitForSelector(e.whiteboard);
|
|
|
|
await this.userPage2.waitAndClick(e.joinVideo);
|
|
await this.userPage2.waitAndClick(e.startSharingWebcam);
|
|
await this.userPage2.hasElement(e.webcamContainer);
|
|
|
|
await this.modPage.checkElementCount(e.webcamContainer, 1);
|
|
await this.userPage2.checkElementCount(e.webcamContainer, 1);
|
|
await this.initUserPage(true, context);
|
|
await this.userPage.checkElementCount(e.webcamContainer, 0);
|
|
}
|
|
|
|
async muteOnStart() {
|
|
await this.modPage.waitAndClick(e.joinAudio);
|
|
await this.modPage.waitAndClick(e.microphoneButton);
|
|
await this.modPage.waitAndClick(e.joinEchoTestButton);
|
|
await this.modPage.hasElement(e.unmuteMicButton);
|
|
}
|
|
|
|
async allowModsToUnmuteUsers(context) {
|
|
await this.initUserPage(false, context);
|
|
await this.userPage.waitAndClick(e.microphoneButton);
|
|
await this.userPage.waitAndClick(e.joinEchoTestButton);
|
|
await this.userPage.waitAndClick(e.muteMicButton);
|
|
await this.userPage.hasElement(e.unmuteMicButton);
|
|
|
|
await this.modPage.waitAndClick(e.userListItem);
|
|
await this.modPage.waitAndClick(e.unmuteUser);
|
|
await this.userPage.hasElement(e.muteMicButton);
|
|
}
|
|
|
|
async lockSettingsDisableCam() {
|
|
await this.modPage.waitForSelector(e.whiteboard);
|
|
await this.userPage.hasElementDisabled(e.joinVideo);
|
|
}
|
|
|
|
async lockSettingsDisableMic() {
|
|
await this.modPage.waitForSelector(e.whiteboard);
|
|
await this.userPage.hasElement(e.leaveListenOnly, 10000);
|
|
}
|
|
|
|
async lockSettingsDisablePublicChat() {
|
|
await this.modPage.waitForSelector(e.whiteboard);
|
|
await this.userPage.hasText(e.typingIndicator, /locked/);
|
|
}
|
|
|
|
async lockSettingsHideUserList() {
|
|
await this.modPage.waitForSelector(e.whiteboard);
|
|
await this.modPage.checkElementCount(e.userListItem, 2);
|
|
await this.userPage.checkElementCount(e.userListItem, 1);
|
|
await this.userPage2.checkElementCount(e.userListItem, 1);
|
|
}
|
|
|
|
async allowModsToEjectCameras() {
|
|
await this.modPage.waitForSelector(e.whiteboard);
|
|
await this.userPage.waitAndClick(e.joinVideo);
|
|
await this.userPage.waitAndClick(e.startSharingWebcam);
|
|
await this.userPage.hasElement(e.webcamContainer);
|
|
await this.modPage.waitAndClick(e.userListItem);
|
|
await this.modPage.waitAndClick(e.ejectCamera);
|
|
}
|
|
|
|
async overrideDefaultPresentation() {
|
|
await this.modPage.waitForSelector(e.whiteboard);
|
|
await this.userPage.waitForSelector(e.whiteboard);
|
|
const modWbLocator = this.modPage.getLocator(e.whiteboard);
|
|
await expect(modWbLocator).toHaveScreenshot('moderator-new-presentation.png');
|
|
const userWbLocator = this.userPage.getLocator(e.whiteboard);
|
|
await expect(userWbLocator).toHaveScreenshot('viewer-new-presentation.png');
|
|
}
|
|
}
|
|
|
|
exports.CreateParameters = CreateParameters;
|