6564659750
* test: all param tests on ci * test: remove check for notification on parameter test * test: remove 'Force restore presentation on new poll result' test - keep only one using the parameter -, fix selector and add all necessary assertions for the cases when the presentation should be restored * test: enable param test in CI * test: update tests tagging
129 lines
6.0 KiB
JavaScript
129 lines
6.0 KiB
JavaScript
const { test } = require('../fixtures');
|
|
const { encodeCustomParams } = require('../parameters/util');
|
|
const { Presentation } = require('./presentation');
|
|
const { linkIssue } = require('../core/helpers');
|
|
|
|
const customStyleAvoidUploadingNotifications = encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}`);
|
|
|
|
test.describe.parallel('Presentation', () => {
|
|
// https://docs.bigbluebutton.org/2.6/release-tests.html#navigation-automated
|
|
test('Skip slide', { tag: '@ci' }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.skipSlide();
|
|
});
|
|
|
|
test('Share Camera As Content', { tag: '@ci' }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.shareCameraAsContent();
|
|
});
|
|
|
|
// https://docs.bigbluebutton.org/2.6/release-tests.html#minimizerestore-presentation-automated
|
|
test('Hide/Restore presentation', { tag: '@ci' }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.hideAndRestorePresentation();
|
|
});
|
|
|
|
// https://docs.bigbluebutton.org/2.6/release-tests.html#start-youtube-video-sharing
|
|
test('Start external video', { tag: [ '@ci', '@flaky' ] }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.startExternalVideo();
|
|
});
|
|
|
|
// https://docs.bigbluebutton.org/2.6/release-tests.html#fit-to-width-option
|
|
test('Presentation fit to width', { tag: '@ci' }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initModPage(page, true, { createParameter: customStyleAvoidUploadingNotifications });
|
|
await presentation.initUserPage(true, context);
|
|
await presentation.fitToWidthTest();
|
|
});
|
|
|
|
test('Presentation fullscreen', { tag: '@ci' }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.presentationFullscreen();
|
|
});
|
|
|
|
test('Presentation snapshot', { tag: '@ci' }, async ({ browser, context, page }, testInfo) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.presentationSnapshot(testInfo);
|
|
});
|
|
|
|
test('Hide Presentation Toolbar', { tag: ['@ci', '@flaky'] }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.hidePresentationToolbar();
|
|
});
|
|
|
|
test('Zoom In, Zoom Out, Reset Zoom', { tag: '@ci' }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.zoom();
|
|
});
|
|
|
|
test('Select Slide', { tag: '@ci' }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.selectSlide();
|
|
});
|
|
|
|
test.describe.parallel('Manage', () => {
|
|
// https://docs.bigbluebutton.org/2.6/release-tests.html#uploading-a-presentation-automated
|
|
test('Upload single presentation', { tag: ['@ci'] }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page, true);
|
|
await presentation.uploadSinglePresentationTest();
|
|
});
|
|
|
|
test('Upload Other Presentations Format', { tag: ['@ci'] }, async ({ browser, context, page }) => {
|
|
linkIssue(18971);
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page, true);
|
|
await presentation.uploadOtherPresentationsFormat();
|
|
});
|
|
|
|
// https://docs.bigbluebutton.org/2.6/release-tests.html#uploading-multiple-presentations-automated
|
|
test('Upload multiple presentations', async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page, true);
|
|
await presentation.uploadMultiplePresentationsTest();
|
|
});
|
|
|
|
// https://docs.bigbluebutton.org/2.6/release-tests.html#enabling-and-disabling-presentation-download-automated
|
|
test('Enable and disable original presentation download', { tag: '@ci' }, async ({ browser, context, page }, testInfo) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.enableAndDisablePresentationDownload(testInfo);
|
|
});
|
|
|
|
test('Send presentation in the current state (with annotations) to chat for downloading', { tag: '@ci' }, async ({ browser, context, page }, testInfo) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.sendPresentationToDownload(testInfo);
|
|
});
|
|
|
|
test('Remove all presentation', { tag: '@ci' }, async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.removeAllPresentation();
|
|
});
|
|
|
|
test('Upload and remove all presentations', async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initPages(page);
|
|
await presentation.uploadAndRemoveAllPresentations();
|
|
});
|
|
|
|
test('Remove previous presentation from previous presenter', async ({ browser, context, page }) => {
|
|
const presentation = new Presentation(browser, context);
|
|
await presentation.initModPage(page, true, { createParameter: customStyleAvoidUploadingNotifications });
|
|
await presentation.initUserPage(true, context);
|
|
await presentation.removePreviousPresentationFromPreviousPresenter();
|
|
});
|
|
});
|
|
});
|