2023-06-22 20:21:10 +08:00
|
|
|
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 DisabledFeatures extends MultiUsers {
|
|
|
|
constructor(browser, context) {
|
|
|
|
super(browser, context);
|
|
|
|
}
|
|
|
|
|
|
|
|
async breakoutRooms() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.wasRemoved(e.createBreakoutRooms);
|
|
|
|
}
|
|
|
|
|
|
|
|
async speechRecognition() {
|
2023-07-01 04:16:22 +08:00
|
|
|
const { speechRecognitionEnabled } = getSettings();
|
|
|
|
|
2023-06-22 20:21:10 +08:00
|
|
|
await this.modPage.waitForSelector(e.audioModal, ELEMENT_WAIT_LONGER_TIME);
|
2023-07-01 04:16:22 +08:00
|
|
|
|
|
|
|
if(speechRecognitionEnabled) {
|
|
|
|
await this.modPage.wasRemoved(e.speechRecognition);
|
|
|
|
} else {
|
|
|
|
await this.modPage.wasRemoved(e.speechRecognitionUnsupported);
|
|
|
|
}
|
2023-06-22 20:21:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
async captions() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.wasRemoved(e.writeClosedCaptions);
|
|
|
|
}
|
|
|
|
|
|
|
|
async chat() {
|
|
|
|
await this.modPage.wasRemoved(e.publicChat);
|
|
|
|
}
|
|
|
|
|
|
|
|
async externalVideos() {
|
|
|
|
await this.modPage.waitAndClick(e.actions);
|
|
|
|
await this.modPage.wasRemoved(e.shareExternalVideoBtn);
|
|
|
|
}
|
|
|
|
|
|
|
|
async layouts() {
|
|
|
|
await this.modPage.waitAndClick(e.actions);
|
|
|
|
await this.modPage.wasRemoved(e.propagateLayout);
|
|
|
|
await this.modPage.wasRemoved(e.layoutModal);
|
|
|
|
}
|
|
|
|
|
|
|
|
async learningDashboard() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.wasRemoved(e.learningDashboard);
|
|
|
|
}
|
|
|
|
|
|
|
|
async polls() {
|
|
|
|
await this.modPage.waitAndClick(e.actions);
|
|
|
|
await this.modPage.wasRemoved(e.polling);
|
|
|
|
}
|
|
|
|
|
|
|
|
async screenshare() {
|
|
|
|
await this.modPage.wasRemoved(e.startScreenSharing);
|
|
|
|
}
|
|
|
|
|
|
|
|
async sharedNotes() {
|
|
|
|
await this.modPage.wasRemoved(e.sharedNotes);
|
|
|
|
}
|
|
|
|
|
|
|
|
async virtualBackgrounds() {
|
|
|
|
await this.modPage.waitAndClick(e.joinVideo);
|
|
|
|
await this.modPage.wasRemoved(e.virtualBackgrounds);
|
|
|
|
}
|
|
|
|
|
|
|
|
async downloadPresentationWithAnnotations() {
|
|
|
|
await this.modPage.waitAndClick(e.actions);
|
|
|
|
await this.modPage.waitAndClick(e.managePresentations);
|
|
|
|
await this.modPage.wasRemoved(e.exportPresentationToPublicChat);
|
|
|
|
}
|
|
|
|
|
|
|
|
async importPresentationWithAnnotationsFromBreakoutRooms() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.waitAndClick(e.createBreakoutRooms);
|
|
|
|
await this.modPage.wasRemoved(e.captureBreakoutWhiteboard);
|
|
|
|
}
|
|
|
|
|
|
|
|
async importSharedNotesFromBreakoutRooms() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.waitAndClick(e.createBreakoutRooms);
|
|
|
|
await this.modPage.wasRemoved(e.captureBreakoutSharedNotes);
|
|
|
|
}
|
|
|
|
|
|
|
|
async presentation() {
|
|
|
|
await this.modPage.wasRemoved(e.whiteboard);
|
|
|
|
await this.modPage.wasRemoved(e.minimizePresentation);
|
|
|
|
await this.modPage.wasRemoved(e.restorePresentation);
|
|
|
|
}
|
|
|
|
|
|
|
|
async customVirtualBackground() {
|
|
|
|
await this.modPage.waitAndClick (e.joinVideo);
|
|
|
|
await this.modPage.waitForSelector(e.webcamSettingsModal);
|
|
|
|
await this.modPage.wasRemoved(e.inputBackgroundButton);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Disabled Features Exclude
|
|
|
|
async breakoutRoomsExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.hasElement(e.createBreakoutRooms);
|
|
|
|
}
|
|
|
|
|
|
|
|
async speechRecognitionExclude() {
|
|
|
|
const { speechRecognitionEnabled } = getSettings();
|
2023-07-01 04:16:22 +08:00
|
|
|
|
2023-06-22 20:21:10 +08:00
|
|
|
await this.modPage.waitForSelector(e.audioModal, ELEMENT_WAIT_LONGER_TIME);
|
2023-07-01 04:16:22 +08:00
|
|
|
|
|
|
|
if(speechRecognitionEnabled) {
|
|
|
|
await this.modPage.wasRemoved(e.speechRecognition);
|
|
|
|
} else {
|
|
|
|
await this.modPage.wasRemoved(e.speechRecognitionUnsupported);
|
|
|
|
}
|
2023-06-22 20:21:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
async captionsExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.hasElement(e.writeClosedCaptions);
|
|
|
|
}
|
|
|
|
|
|
|
|
async chatExclude() {
|
|
|
|
await this.modPage.hasElement(e.publicChat);
|
|
|
|
}
|
|
|
|
|
|
|
|
async externalVideosExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.actions);
|
|
|
|
await this.modPage.hasElement(e.shareExternalVideoBtn);
|
|
|
|
}
|
|
|
|
|
|
|
|
async layoutsExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.actions);
|
|
|
|
await this.modPage.hasElement(e.propagateLayout);
|
|
|
|
await this.modPage.hasElement(e.layoutModal);
|
|
|
|
}
|
|
|
|
|
|
|
|
async learningDashboardExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.hasElement(e.learningDashboard);
|
|
|
|
}
|
|
|
|
|
|
|
|
async pollsExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.actions);
|
|
|
|
await this.modPage.hasElement(e.polling);
|
|
|
|
}
|
|
|
|
|
|
|
|
async screenshareExclude() {
|
|
|
|
await this.modPage.hasElement(e.startScreenSharing);
|
|
|
|
}
|
|
|
|
|
|
|
|
async sharedNotesExclude() {
|
|
|
|
await this.modPage.hasElement(e.sharedNotes);
|
|
|
|
}
|
|
|
|
|
|
|
|
async virtualBackgroundsExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.joinVideo);
|
|
|
|
await this.modPage.hasElement(e.virtualBackgrounds);
|
|
|
|
}
|
|
|
|
|
|
|
|
async downloadPresentationWithAnnotationsExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.actions);
|
|
|
|
await this.modPage.waitAndClick(e.managePresentations);
|
|
|
|
await this.modPage.hasElement(e.exportPresentationToPublicChat);
|
|
|
|
}
|
|
|
|
|
|
|
|
async importPresentationWithAnnotationsFromBreakoutRoomsExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.waitAndClick(e.createBreakoutRooms);
|
|
|
|
await this.modPage.hasElement(e.captureBreakoutWhiteboard);
|
|
|
|
}
|
|
|
|
|
|
|
|
async importSharedNotesFromBreakoutRoomsExclude() {
|
|
|
|
await this.modPage.waitAndClick(e.manageUsers);
|
|
|
|
await this.modPage.waitAndClick(e.createBreakoutRooms);
|
|
|
|
await this.modPage.hasElement(e.captureBreakoutSharedNotes);
|
|
|
|
}
|
|
|
|
|
|
|
|
async presentationExclude() {
|
|
|
|
await this.modPage.hasElement(e.whiteboard);
|
|
|
|
await this.modPage.waitAndClick(e.minimizePresentation);
|
|
|
|
await this.modPage.hasElement(e.restorePresentation);
|
|
|
|
}
|
|
|
|
|
|
|
|
async customVirtualBackgroundExclude() {
|
|
|
|
await this.modPage.waitAndClick (e.joinVideo);
|
|
|
|
await this.modPage.waitForSelector(e.webcamSettingsModal);
|
|
|
|
await this.modPage.hasElement(e.inputBackgroundButton);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
exports.DisabledFeatures = DisabledFeatures;
|