Files
AFFiNE-Mirror/tests/blocksuite/e2e/edgeless/frame/layer.spec.ts

68 lines
1.8 KiB
TypeScript

import { expect } from '@playwright/test';
import {
createFrame,
createNote,
createShapeElement,
edgelessCommonSetup,
getAllSortedIds,
getEdgelessSelectedRectModel,
Shape,
zoomResetByKeyboard,
} from '../../utils/actions/edgeless.js';
import {
pressEscape,
selectAllByKeyboard,
} from '../../utils/actions/keyboard.js';
import { test } from '../../utils/playwright.js';
test.beforeEach(async ({ page }) => {
await edgelessCommonSetup(page);
await zoomResetByKeyboard(page);
});
test.describe('layer logic of frame block', () => {
test('a new frame should be on the bottom layer', async ({ page }) => {
const shapeId = await createShapeElement(
page,
[100, 100],
[200, 200],
Shape.Square
);
const noteId = await createNote(page, [200, 200]);
await pressEscape(page, 3);
await selectAllByKeyboard(page);
const [x, y, w, h] = await getEdgelessSelectedRectModel(page);
await pressEscape(page);
const frameAId = await createFrame(
page,
[x - 10, y - 10],
[x + w + 10, y + h + 10]
);
let sortedIds = await getAllSortedIds(page);
expect(
sortedIds[0],
'a new frame created by frame-tool should be on the bottom layer'
).toBe(frameAId);
expect(sortedIds[1]).toBe(shapeId);
expect(sortedIds[2]).toBe(noteId);
await selectAllByKeyboard(page);
await page.keyboard.press('f');
sortedIds = await getAllSortedIds(page);
const frameBId = sortedIds.find(
id => ![frameAId, noteId, shapeId].includes(id)
);
expect(
sortedIds[0],
'a new frame created by short-cut should also be on the bottom layer'
).toBe(frameBId);
expect(sortedIds[1]).toBe(frameAId);
expect(sortedIds[2]).toBe(shapeId);
expect(sortedIds[3]).toBe(noteId);
});
});