test(editor): move blocksuite test to tests folder (#10917)

This commit is contained in:
Saul-Mirone
2025-03-17 06:40:25 +00:00
parent 0f83566504
commit d5a5df5e49
352 changed files with 47 additions and 44 deletions
@@ -0,0 +1,45 @@
import type { Page } from '@playwright/test';
export async function getRichTextBoundingBox(
page: Page,
blockId: string
): Promise<DOMRect> {
return page.evaluate(id => {
const paragraph = document.querySelector(
`[data-block-id="${id}"] .inline-editor`
);
const bbox = paragraph?.getBoundingClientRect() as DOMRect;
return bbox;
}, blockId);
}
interface Rect {
x: number;
y: number;
width: number;
height: number;
}
export async function clickInEdge(page: Page, rect: Rect) {
const edgeX = rect.x + rect.width / 2;
const edgeY = rect.y + rect.height - 5;
await page.mouse.click(edgeX, edgeY);
}
export async function clickInCenter(page: Page, rect: Rect) {
const centerX = rect.x + rect.width / 2;
const centerY = rect.y + rect.height / 2;
await page.mouse.click(centerX, centerY);
}
export async function getBoundingRect(
page: Page,
selector: string
): Promise<Rect> {
const div = page.locator(selector);
const boundingRect = await div.boundingBox();
if (!boundingRect) {
throw new Error(`Missing ${selector}`);
}
return boundingRect;
}