mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-07 04:20:11 +08:00
chore: bump playwright (#13947)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated Playwright test tooling to 1.58.2 across the repository and test packages. * **Tests** * Improved end-to-end robustness: replaced fragile timing/coordinate logic with element-based interactions, added polling/retry checks for flaky asserts and async state, and simplified input/rename flows to reduce test flakiness. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -143,17 +143,20 @@ async function assertSelection(
|
||||
rangeIndex: number,
|
||||
rangeLength = 0
|
||||
) {
|
||||
const actual = await page.evaluate(
|
||||
([richTextIndex]) => {
|
||||
const richText =
|
||||
document?.querySelectorAll('test-rich-text')[richTextIndex];
|
||||
// @ts-expect-error getInlineRange
|
||||
const inlineEditor = richText.inlineEditor;
|
||||
return inlineEditor?.getInlineRange();
|
||||
},
|
||||
[richTextIndex]
|
||||
);
|
||||
expect(actual).toEqual({ index: rangeIndex, length: rangeLength });
|
||||
await expect
|
||||
.poll(async () => {
|
||||
return page.evaluate(
|
||||
([richTextIndex]) => {
|
||||
const richText =
|
||||
document?.querySelectorAll('test-rich-text')[richTextIndex];
|
||||
// @ts-expect-error getInlineRange
|
||||
const inlineEditor = richText.inlineEditor;
|
||||
return inlineEditor?.getInlineRange();
|
||||
},
|
||||
[richTextIndex]
|
||||
);
|
||||
})
|
||||
.toEqual({ index: rangeIndex, length: rangeLength });
|
||||
}
|
||||
|
||||
test('basic input', async ({ page, browserName }) => {
|
||||
@@ -1113,16 +1116,14 @@ test('embed', async ({ page }) => {
|
||||
await assertSelection(page, 0, 3, 1);
|
||||
|
||||
// try to update cursor position and select embed element by clicking embed element
|
||||
let rect = await getInlineRangeIndexRect(page, [0, 1]);
|
||||
await page.mouse.click(rect.x + 3, rect.y);
|
||||
const embeds = page.locator('[data-v-embed="true"]');
|
||||
await embeds.nth(0).click();
|
||||
await assertSelection(page, 0, 1, 1);
|
||||
|
||||
rect = await getInlineRangeIndexRect(page, [0, 2]);
|
||||
await page.mouse.click(rect.x + 3, rect.y);
|
||||
await embeds.nth(1).click();
|
||||
await assertSelection(page, 0, 2, 1);
|
||||
|
||||
rect = await getInlineRangeIndexRect(page, [0, 3]);
|
||||
await page.mouse.click(rect.x + 3, rect.y);
|
||||
await embeds.nth(2).click();
|
||||
await assertSelection(page, 0, 3, 1);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user