2024-03-06 22:26:03 +08:00
|
|
|
const { test } = require('../fixtures');
|
2021-12-02 12:12:14 +08:00
|
|
|
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');
|
2022-12-16 23:39:21 +08:00
|
|
|
const { DrawPencil } = require('./drawPencil');
|
|
|
|
const { DrawText } = require('./drawText');
|
|
|
|
const { DrawStickyNote } = require('./drawStickyNote');
|
2023-03-08 23:33:05 +08:00
|
|
|
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');
|
2023-07-08 01:05:06 +08:00
|
|
|
const { encodeCustomParams } = require('../parameters/util');
|
2023-03-08 23:33:05 +08:00
|
|
|
const { PARAMETER_HIDE_PRESENTATION_TOAST } = require('../core/constants');
|
2023-04-12 21:29:25 +08:00
|
|
|
const { DeleteDrawing } = require('./deleteDrawing');
|
|
|
|
const { UndoDrawing } = require('./undoDraw');
|
|
|
|
const { RedoDrawing } = require('./redoDraw');
|
|
|
|
const { ChangeStyles } = require('./changeStyles');
|
|
|
|
const { RealTimeText } = require('./realTimeText');
|
2023-08-17 22:14:08 +08:00
|
|
|
const { ShapeOptions } = require('./shapeOptions');
|
2023-03-08 23:33:05 +08:00
|
|
|
|
|
|
|
const hidePresentationToast = encodeCustomParams(PARAMETER_HIDE_PRESENTATION_TOAST);
|
2021-11-23 05:51:16 +08:00
|
|
|
|
2024-07-08 21:42:57 +08:00
|
|
|
test.describe.parallel('Whiteboard', { tag: '@ci' }, () => {
|
|
|
|
test('Draw rectangle', { tag: '@flaky' }, 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();
|
2023-08-08 01:08:26 +08:00
|
|
|
});
|
2021-12-04 01:01:36 +08:00
|
|
|
});
|
2022-08-30 04:07:44 +08:00
|
|
|
|
2024-03-02 02:15:18 +08:00
|
|
|
test.describe.parallel('Whiteboard tools - visual regression', () => {
|
2022-08-30 04:07:44 +08:00
|
|
|
test.beforeEach(({ browserName }) => {
|
|
|
|
test.skip(browserName !== 'chromium',
|
2024-03-02 02:15:18 +08:00
|
|
|
'Drawing visual regression tests are enabled for Chromium');
|
2022-08-30 04:07:44 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
test('Draw rectangle', async ({ browser, context, page }) => {
|
|
|
|
const drawRectangle = new DrawRectangle(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await drawRectangle.initModPage(page, true, { customMeetingId: 'draw_rectangle_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await drawRectangle.initUserPage(true, context, { joinParameter: 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);
|
2024-03-21 21:22:02 +08:00
|
|
|
await drawEllipse.initModPage(page, true, { customMeetingId: 'draw_ellipse_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await drawEllipse.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2022-08-30 04:07:44 +08:00
|
|
|
await drawEllipse.test();
|
|
|
|
});
|
|
|
|
|
2024-03-02 02:15:18 +08:00
|
|
|
test('Draw triangle', async ({ browser, context, page }) => {
|
2022-08-30 04:07:44 +08:00
|
|
|
const drawTriangle = new DrawTriangle(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await drawTriangle.initModPage(page, true, { customMeetingId: 'draw_triangle_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await drawTriangle.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2022-08-30 04:07:44 +08:00
|
|
|
await drawTriangle.test();
|
|
|
|
});
|
|
|
|
|
2024-03-02 02:15:18 +08:00
|
|
|
test('Draw line', async ({ browser, context, page }) => {
|
2022-11-26 03:54:32 +08:00
|
|
|
const drawLine = new DrawLine(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await drawLine.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await drawLine.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2022-08-30 04:07:44 +08:00
|
|
|
await drawLine.test();
|
|
|
|
});
|
2022-12-16 23:39:21 +08:00
|
|
|
|
2024-03-02 02:15:18 +08:00
|
|
|
test('Draw with pencil', async ({ browser, context, page }) => {
|
2022-12-16 23:39:21 +08:00
|
|
|
const drawPencil = new DrawPencil(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await drawPencil.initModPage(page, true, { customMeetingId: 'draw_pencil_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await drawPencil.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2022-12-16 23:39:21 +08:00
|
|
|
await drawPencil.test();
|
|
|
|
});
|
|
|
|
|
2024-03-02 02:15:18 +08:00
|
|
|
test('Type text', async ({ browser, context, page }) => {
|
2022-12-16 23:39:21 +08:00
|
|
|
const drawText = new DrawText(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await drawText.initModPage(page, true, { customMeetingId: 'draw_text_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await drawText.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2022-12-16 23:39:21 +08:00
|
|
|
await drawText.test();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Create sticky note', async ({ browser, context, page }) => {
|
|
|
|
const drawStickyNote = new DrawStickyNote(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await drawStickyNote.initModPage(page, true, { customMeetingId: 'draw_sticky_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await drawStickyNote.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2022-12-16 23:39:21 +08:00
|
|
|
await drawStickyNote.test();
|
|
|
|
});
|
2023-03-08 23:33:05 +08:00
|
|
|
|
2024-03-02 02:15:18 +08:00
|
|
|
test('Pan', async ({ browser, context, page }) => {
|
2023-03-08 23:33:05 +08:00
|
|
|
const pan = new Pan(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await pan.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await pan.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-03-08 23:33:05 +08:00
|
|
|
await pan.test();
|
|
|
|
});
|
|
|
|
|
2024-03-02 02:15:18 +08:00
|
|
|
test('Eraser', async ({ browser, context, page }) => {
|
2023-03-08 23:33:05 +08:00
|
|
|
const eraser = new Eraser(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await eraser.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await eraser.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-03-08 23:33:05 +08:00
|
|
|
await eraser.test();
|
|
|
|
});
|
|
|
|
|
2024-03-02 02:15:18 +08:00
|
|
|
test('Draw arrow', async ({ browser, context, page }) => {
|
2023-03-08 23:33:05 +08:00
|
|
|
const drawArrow = new DrawArrow(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await drawArrow.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await drawArrow.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-03-08 23:33:05 +08:00
|
|
|
await drawArrow.test();
|
|
|
|
});
|
2023-04-12 21:29:25 +08:00
|
|
|
|
2024-02-27 22:45:04 +08:00
|
|
|
test('Delete drawing', async ({ browser, context, page }) => {
|
2023-04-12 21:29:25 +08:00
|
|
|
const deleteDrawing = new DeleteDrawing(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await deleteDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await deleteDrawing.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-04-12 21:29:25 +08:00
|
|
|
await deleteDrawing.test();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Undo drawing', async ({ browser, context, page }) => {
|
|
|
|
const undoDrawing = new UndoDrawing(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await undoDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await undoDrawing.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-04-12 21:29:25 +08:00
|
|
|
await undoDrawing.test();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Redo drawing', async ({ browser, context, page }) => {
|
|
|
|
const redoDrawing = new RedoDrawing(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await redoDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await redoDrawing.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-04-12 21:29:25 +08:00
|
|
|
await redoDrawing.test();
|
|
|
|
});
|
|
|
|
|
2024-03-02 02:15:18 +08:00
|
|
|
test('Change color', async ({ browser, context, page }) => {
|
2023-04-12 21:29:25 +08:00
|
|
|
const changeColor = new ChangeStyles(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await changeColor.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await changeColor.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-04-12 21:29:25 +08:00
|
|
|
await changeColor.changingColor();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Fill drawing', async ({ browser, context, page }) => {
|
|
|
|
const fillDrawing = new ChangeStyles(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await fillDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await fillDrawing.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-04-12 21:29:25 +08:00
|
|
|
await fillDrawing.fillDrawing();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Dash drawing', async ({ browser, context, page }) => {
|
|
|
|
const dashDrawing = new ChangeStyles(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await dashDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await dashDrawing.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-04-12 21:29:25 +08:00
|
|
|
await dashDrawing.dashDrawing();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Size drawing', async ({ browser, context, page }) => {
|
|
|
|
const sizeDrawing = new ChangeStyles(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await sizeDrawing.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await sizeDrawing.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-04-12 21:29:25 +08:00
|
|
|
await sizeDrawing.sizeDrawing();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Real time text typing', async ({ browser, context, page }) => {
|
|
|
|
const realTimeText = new RealTimeText(browser, context);
|
2024-03-21 21:22:02 +08:00
|
|
|
await realTimeText.initModPage(page, true, { customMeetingId: 'draw_line_meeting', joinParameter: hidePresentationToast });
|
|
|
|
await realTimeText.initUserPage(true, context, { joinParameter: hidePresentationToast });
|
2023-04-12 21:29:25 +08:00
|
|
|
await realTimeText.realTimeTextTyping();
|
|
|
|
});
|
2023-08-17 22:14:08 +08:00
|
|
|
|
|
|
|
test.describe.parallel('Shape Options', () => {
|
|
|
|
test('Duplicate', async ({ browser, context, page }) => {
|
|
|
|
const shapeOptions = new ShapeOptions(browser, context);
|
|
|
|
await shapeOptions.initModPage(page, true);
|
|
|
|
await shapeOptions.initUserPage(true, context);
|
|
|
|
await shapeOptions.duplicate();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Rotate', async ({ browser, context, page }) => {
|
|
|
|
const shapeOptions = new ShapeOptions(browser, context);
|
|
|
|
await shapeOptions.initModPage(page, true);
|
|
|
|
await shapeOptions.initUserPage(true, context);
|
|
|
|
await shapeOptions.rotate();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Move Shape Backward/Forward', async ({ browser, context, page }) => {
|
|
|
|
const shapeOptions = new ShapeOptions(browser, context);
|
|
|
|
await shapeOptions.initModPage(page, true);
|
|
|
|
await shapeOptions.initUserPage(true, context);
|
|
|
|
await shapeOptions.movingShape();
|
|
|
|
});
|
|
|
|
});
|
2022-08-30 04:07:44 +08:00
|
|
|
});
|