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

94 lines
4.5 KiB
JavaScript
Raw Normal View History

2021-12-01 13:36:20 +08:00
const { test } = require('@playwright/test');
const { Notifications } = require('./notifications');
2022-01-20 03:50:59 +08:00
const { ChatNotifications } = require('./chatNotifications');
const { PresenterNotifications } = require('./presenterNotifications');
const { RecordingNotifications } = require('./recordingNotifications');
2023-07-08 01:05:06 +08:00
const c = require('../parameters/constants');
2021-12-01 13:36:20 +08:00
test.describe.parallel('Notifications', () => {
2022-06-08 02:52:22 +08:00
test('Save settings notification @ci', async ({ browser, context, page }) => {
2022-01-20 03:50:59 +08:00
const notifications = new Notifications(browser, context);
await notifications.initModPage(page);
await notifications.saveSettingsNotification();
2021-12-01 13:36:20 +08:00
});
2022-06-08 02:52:22 +08:00
test('Audio notifications @ci', async ({ browser, context, page }) => {
2022-01-20 03:50:59 +08:00
const notifications = new Notifications(browser, context);
await notifications.initModPage(page);
await notifications.audioNotification();
2021-12-01 13:36:20 +08:00
});
test('User join notification @ci', async ({ browser, context, page }) => {
2022-01-20 03:50:59 +08:00
const notifications = new Notifications(browser, context);
await notifications.initModPage(page);
await notifications.getUserJoinPopupResponse();
});
2023-09-26 01:40:11 +08:00
test('Raise and lower hand notification @ci', async ({ browser, context, page }) => {
const notifications = new Notifications(browser, context);
await notifications.initModPage(page);
await notifications.raiseAndLowerHandNotification();
});
2022-01-20 03:50:59 +08:00
test.describe.parallel('Chat', () => {
// both tests are flaky due to missing refactor to get data from GraphQL
test('Public Chat notification @ci @flaky', async ({ browser, context, page }) => {
2022-01-20 03:50:59 +08:00
const chatNotifications = new ChatNotifications(browser, context);
await chatNotifications.initPages(page, true);
2022-01-20 03:50:59 +08:00
await chatNotifications.publicChatNotification();
});
test('Private Chat notification @flaky', async ({ browser, context, page }) => {
2022-01-20 03:50:59 +08:00
const chatNotifications = new ChatNotifications(browser, context);
await chatNotifications.initPages(page, true);
2022-01-20 03:50:59 +08:00
await chatNotifications.privateChatNotification();
});
});
test.describe.parallel('Recording', () => {
test('Notification appearing when user is not in audio', async ({ browser, page }) => {
const recordingNotifications = new RecordingNotifications(browser, page);
2023-08-23 04:25:50 +08:00
await recordingNotifications.init(true, true, { createParameter: c.recordMeeting });
await recordingNotifications.notificationNoAudio();
});
test('Notification appearing when user is in listen only', async ({ browser, page }) => {
const recordingNotifications = new RecordingNotifications(browser, page);
2023-08-23 04:25:50 +08:00
await recordingNotifications.init(true, true, { createParameter: c.recordMeeting });
await recordingNotifications.notificationListenOnly();
});
test('No notification appearing when user is in audio', async ({ browser, page }) => {
const recordingNotifications = new RecordingNotifications(browser, page);
2023-08-23 04:25:50 +08:00
await recordingNotifications.init(true, true, { createParameter: c.recordMeeting });
await recordingNotifications.noNotificationInAudio();
});
test('Modal appearing when user wants to start recording', async ({ browser, page }) => {
const recordingNotifications = new RecordingNotifications(browser, page);
2023-08-23 04:25:50 +08:00
await recordingNotifications.init(true, true, { createParameter: c.recordMeeting });
await recordingNotifications.modalStartRecording();
});
2022-01-20 03:50:59 +08:00
});
2022-06-08 02:52:22 +08:00
test.describe.parallel('Presenter @ci', () => {
2024-02-28 22:34:23 +08:00
test('Poll results notification', async ({ browser, context, page }) => {
2022-01-20 03:50:59 +08:00
const presenterNotifications = new PresenterNotifications(browser, context);
await presenterNotifications.initModPage(page);
2024-02-28 22:34:23 +08:00
await presenterNotifications.initUserPage(true, context);
2022-01-20 03:50:59 +08:00
await presenterNotifications.publishPollResults();
});
test('Presentation upload notification @flaky', async ({ browser, context, page }) => {
2022-01-20 03:50:59 +08:00
const presenterNotifications = new PresenterNotifications(browser, context);
await presenterNotifications.initPages(page, true);
2022-01-20 03:50:59 +08:00
await presenterNotifications.fileUploaderNotification();
});
test('Screenshare notification', async ({ browser, browserName, context, page }) => {
test.skip(browserName === 'firefox' && process.env.DISPLAY === undefined,
2022-11-26 03:54:32 +08:00
"Screenshare tests not able in Firefox browser without desktop");
2022-01-20 03:50:59 +08:00
const presenterNotifications = new PresenterNotifications(browser, context);
await presenterNotifications.initModPage(page);
await presenterNotifications.screenshareToast();
});
2021-12-01 13:36:20 +08:00
});
2021-12-04 01:01:36 +08:00
});