bigbluebutton-Github/bigbluebutton-tests/playwright/notifications/notifications.js

68 lines
2.7 KiB
JavaScript
Raw Normal View History

2022-06-08 02:52:22 +08:00
const { test } = require('@playwright/test');
2021-12-01 13:36:20 +08:00
const { MultiUsers } = require('../user/multiusers');
const e = require('../core/elements');
2022-01-20 03:50:59 +08:00
const util = require('./util');
2022-08-27 08:53:06 +08:00
const { openSettings } = require('../options/util');
2022-01-20 03:50:59 +08:00
const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants');
2022-06-08 02:52:22 +08:00
const { getSettings } = require('../core/settings');
2021-12-01 13:36:20 +08:00
class Notifications extends MultiUsers {
constructor(browser, context) {
super(browser, context);
}
async saveSettingsNotification() {
2022-06-08 02:52:22 +08:00
await util.waitAndClearDefaultPresentationNotification(this.modPage);
2022-01-20 03:50:59 +08:00
await openSettings(this.modPage);
2021-12-01 13:36:20 +08:00
await util.saveSettings(this.modPage);
await util.checkNotificationText(this.modPage, e.savedSettingsToast);
}
async audioNotification() {
2022-06-08 02:52:22 +08:00
await util.waitAndClearDefaultPresentationNotification(this.modPage);
await this.modPage.waitAndClick(e.joinAudio);
await this.modPage.joinMicrophone();
await util.checkNotificationText(this.modPage, e.joinAudioToast);
await util.checkNotificationIcon(this.modPage, e.unmuteIcon);
await util.waitAndClearNotification(this.modPage);
await this.modPage.waitAndClick(e.audioDropdownMenu);
await this.modPage.waitAndClick(e.leaveAudio);
await util.waitAndClearNotification(this.modPage);
await this.modPage.waitAndClick(e.joinAudio);
await this.modPage.waitAndClick(e.listenOnlyButton);
await this.modPage.wasRemoved(e.establishingAudioLabel);
await util.checkNotificationText(this.modPage, e.joinAudioToast);
await util.checkNotificationIcon(this.modPage, e.listenOnlyIcon);
2021-12-01 13:36:20 +08:00
}
async getUserJoinPopupResponse() {
2022-06-08 02:52:22 +08:00
await util.waitAndClearDefaultPresentationNotification(this.modPage);
2021-12-01 13:36:20 +08:00
await this.userJoinNotification(this.modPage);
2022-06-08 02:52:22 +08:00
await util.waitAndClearNotification(this.modPage);
2021-12-01 13:36:20 +08:00
await this.initUserPage();
await this.modPage.waitForSelector(e.smallToastMsg, ELEMENT_WAIT_LONGER_TIME);
2022-01-20 03:50:59 +08:00
await util.checkNotificationText(this.modPage, e.attendeeJoinedToast);
2021-12-01 13:36:20 +08:00
}
async raiseAndLowerHandNotification() {
2022-03-29 21:53:07 +08:00
const { raiseHandButton } = getSettings();
test.fail(!raiseHandButton, 'Raise/lower hand button is disabled');
2022-06-08 02:52:22 +08:00
await util.waitAndClearDefaultPresentationNotification(this.modPage);
await this.modPage.waitAndClick(e.raiseHandBtn);
await this.modPage.waitForSelector(e.smallToastMsg);
await util.checkNotificationText(this.modPage, e.raisingHandToast);
await util.waitAndClearNotification(this.modPage);
await this.modPage.waitAndClick(e.lowerHandBtn);
await util.checkNotificationText(this.modPage, e.loweringHandToast);
}
async userJoinNotification(page) {
await openSettings(page);
await util.enableUserJoinPopup(page);
await util.saveSettings(page);
2021-12-01 13:36:20 +08:00
}
}
2021-12-04 01:01:36 +08:00
exports.Notifications = Notifications;