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

117 lines
5.5 KiB
JavaScript
Raw Normal View History

2021-11-23 05:51:16 +08:00
const { test } = require('@playwright/test');
const { Draw } = require('./draw');
2022-08-30 04:07:44 +08:00
const { DrawRectangle } = require('./drawRectangle');
const { DrawEllipse } = require('./drawEllipse');
const { DrawTriangle } = require('./drawTriangle');
const { DrawLine } = require('./drawLine');
const { DrawPencil } = require('./drawPencil');
const { DrawText } = require('./drawText');
const { DrawStickyNote } = require('./drawStickyNote');
2023-03-08 23:33:05 +08:00
const { Zoom } = require('./zoom');
const { Pan } = require('./pan');
const { Eraser } = require('./eraser');
const { DrawArrow } = require('./drawArrow');
2021-11-23 05:51:16 +08:00
const { MultiUsers } = require('../user/multiusers');
const { encodeCustomParams } = require('../customparameters/util');
2023-03-08 23:33:05 +08:00
const { PARAMETER_HIDE_PRESENTATION_TOAST } = require('../core/constants');
const hidePresentationToast = encodeCustomParams(PARAMETER_HIDE_PRESENTATION_TOAST);
2021-11-23 05:51:16 +08:00
2022-06-08 02:52:22 +08:00
test.describe.parallel('Whiteboard @ci', () => {
test('Draw rectangle', async ({ browser, page }) => {
2021-11-23 05:51:16 +08:00
const draw = new Draw(browser, page);
await draw.init(true, true);
await draw.test();
})
test('Give Additional Whiteboard Access', async ({ browser, context, page }) => {
const multiusers = new MultiUsers(browser, context);
await multiusers.initPages(page);
2021-11-23 05:51:16 +08:00
await multiusers.whiteboardAccess();
});
2021-12-04 01:01:36 +08:00
});
2022-08-30 04:07:44 +08:00
2023-03-08 23:33:05 +08:00
test.describe.parallel('Whiteboard tools - visual regression', () => {
2022-08-30 04:07:44 +08:00
test.beforeEach(({ browserName }) => {
test.skip(browserName !== 'chromium',
'Drawing visual regression tests are enabled for Chromium only');
});
test('Draw rectangle', async ({ browser, context, page }) => {
const drawRectangle = new DrawRectangle(browser, context);
2023-03-08 23:33:05 +08:00
await drawRectangle.initModPage(page, true, { customMeetingId: 'draw_rectangle_meeting', customParameter: hidePresentationToast });
await drawRectangle.initModPage2(true, context, { customParameter: hidePresentationToast });
2022-08-30 04:07:44 +08:00
await drawRectangle.test();
});
test('Draw ellipse', async ({ browser, context, page }) => {
const drawEllipse = new DrawEllipse(browser, context);
2023-03-08 23:33:05 +08:00
await drawEllipse.initModPage(page, true, { customMeetingId: 'draw_ellipse_meeting', customParameter: hidePresentationToast });
await drawEllipse.initModPage2(true, context, { customParameter: hidePresentationToast });
2022-08-30 04:07:44 +08:00
await drawEllipse.test();
});
test('Draw triangle', async ({ browser, context, page }) => {
const drawTriangle = new DrawTriangle(browser, context);
2023-03-08 23:33:05 +08:00
await drawTriangle.initModPage(page, true, { customMeetingId: 'draw_triangle_meeting', customParameter: hidePresentationToast });
await drawTriangle.initModPage2(true, context, { customParameter: hidePresentationToast });
2022-08-30 04:07:44 +08:00
await drawTriangle.test();
});
test('Draw line', async ({ browser, context, page }) => {
2022-11-26 03:54:32 +08:00
const drawLine = new DrawLine(browser, context);
2023-03-08 23:33:05 +08:00
await drawLine.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast });
await drawLine.initModPage2(true, context, { customParameter: hidePresentationToast });
2022-08-30 04:07:44 +08:00
await drawLine.test();
});
test('Draw with pencil', async ({ browser, context, page }) => {
const drawPencil = new DrawPencil(browser, context);
2023-03-08 23:33:05 +08:00
await drawPencil.initModPage(page, true, { customMeetingId: 'draw_pencil_meeting', customParameter: hidePresentationToast });
await drawPencil.initModPage2(true, context, { customParameter: hidePresentationToast });
await drawPencil.test();
});
test('Type text', async ({ browser, context, page }) => {
const drawText = new DrawText(browser, context);
2023-03-08 23:33:05 +08:00
await drawText.initModPage(page, true, { customMeetingId: 'draw_text_meeting', customParameter: hidePresentationToast });
await drawText.initModPage2(true, context, { customParameter: hidePresentationToast });
await drawText.test();
});
test('Create sticky note', async ({ browser, context, page }) => {
const drawStickyNote = new DrawStickyNote(browser, context);
2023-03-08 23:33:05 +08:00
await drawStickyNote.initModPage(page, true, { customMeetingId: 'draw_sticky_meeting', customParameter: hidePresentationToast });
await drawStickyNote.initModPage2(true, context, { customParameter: hidePresentationToast });
await drawStickyNote.test();
});
2023-03-08 23:33:05 +08:00
test('Zoom', async ({ browser, context, page }) => {
const zoom = new Zoom(browser, context);
await zoom.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast });
await zoom.initModPage2(true, context, { customParameter: hidePresentationToast });
await zoom.test();
});
test'Pan', async ({ browser, context, page }) => {
const pan = new Pan(browser, context);
await pan.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast });
await pan.initModPage2(true, context, { customParameter: hidePresentationToast });
await pan.test();
});
test('Eraser', async ({ browser, context, page }) => {
const eraser = new Eraser(browser, context);
await eraser.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast });
await eraser.initModPage2(true, context, { customParameter: hidePresentationToast });
await eraser.test();
});
test('Draw arrow', async ({ browser, context, page }) => {
const drawArrow = new DrawArrow(browser, context);
await drawArrow.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: hidePresentationToast });
await drawArrow.initModPage2(true, context, { customParameter: hidePresentationToast });
await drawArrow.test();
});
2022-08-30 04:07:44 +08:00
});