mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 21:05:19 +00:00
95 lines
2.5 KiB
TypeScript
95 lines
2.5 KiB
TypeScript
import { expect } from '@playwright/test';
|
|
|
|
import * as actions from '../../utils/actions/edgeless.js';
|
|
import {
|
|
addBasicConnectorElement,
|
|
createConnectorElement,
|
|
createShapeElement,
|
|
dragBetweenCoords,
|
|
enterPlaygroundRoom,
|
|
initEmptyEdgelessState,
|
|
Shape,
|
|
switchEditorMode,
|
|
toModelCoord,
|
|
waitNextFrame,
|
|
} from '../../utils/actions/index.js';
|
|
import { test } from '../../utils/playwright.js';
|
|
|
|
test.describe('select multiple connectors', () => {
|
|
test('should show single selection rect', async ({ page }) => {
|
|
await enterPlaygroundRoom(page);
|
|
await initEmptyEdgelessState(page);
|
|
await switchEditorMode(page);
|
|
await actions.zoomResetByKeyboard(page);
|
|
|
|
await addBasicConnectorElement(
|
|
page,
|
|
{ x: 100, y: 200 },
|
|
{ x: 300, y: 200 }
|
|
);
|
|
await addBasicConnectorElement(
|
|
page,
|
|
{ x: 100, y: 230 },
|
|
{ x: 300, y: 230 }
|
|
);
|
|
await addBasicConnectorElement(
|
|
page,
|
|
{ x: 100, y: 260 },
|
|
{ x: 300, y: 260 }
|
|
);
|
|
|
|
await dragBetweenCoords(page, { x: 50, y: 50 }, { x: 400, y: 290 });
|
|
await waitNextFrame(page);
|
|
|
|
expect(
|
|
await page
|
|
.locator('.affine-edgeless-selected-rect')
|
|
.locator('.element-handle')
|
|
.count()
|
|
).toBe(0);
|
|
});
|
|
|
|
test('should disable resize when a connector is already connected', async ({
|
|
page,
|
|
}) => {
|
|
await enterPlaygroundRoom(page);
|
|
await initEmptyEdgelessState(page);
|
|
await switchEditorMode(page);
|
|
await actions.zoomResetByKeyboard(page);
|
|
|
|
const start = await toModelCoord(page, [100, 0]);
|
|
const end = await toModelCoord(page, [200, 100]);
|
|
await createShapeElement(page, start, end, Shape.Diamond);
|
|
const c1 = await toModelCoord(page, [200, 50]);
|
|
const c2 = await toModelCoord(page, [450, 50]);
|
|
await createConnectorElement(page, c1, c2);
|
|
|
|
await addBasicConnectorElement(
|
|
page,
|
|
{ x: 250, y: 200 },
|
|
{ x: 450, y: 200 }
|
|
);
|
|
await addBasicConnectorElement(
|
|
page,
|
|
{ x: 250, y: 230 },
|
|
{ x: 450, y: 230 }
|
|
);
|
|
await addBasicConnectorElement(
|
|
page,
|
|
{ x: 250, y: 260 },
|
|
{ x: 450, y: 260 }
|
|
);
|
|
|
|
await dragBetweenCoords(page, { x: 500, y: 20 }, { x: 400, y: 290 });
|
|
await waitNextFrame(page);
|
|
|
|
const selectedRectLocalor = page.locator('.affine-edgeless-selected-rect');
|
|
expect(await selectedRectLocalor.locator('.element-handle').count()).toBe(
|
|
0
|
|
);
|
|
expect(
|
|
await selectedRectLocalor.locator('.handle').locator('.resize').count()
|
|
).toBe(0);
|
|
});
|
|
});
|