(e2e) reduce flakinees

- Because of parallel test execution, some tests
were flaky when using goToGridDoc, the title
changed between the time we got the document list
and the time we clicked on the document.
- Improve addChild function.
This commit is contained in:
Anthony LC
2025-10-17 22:44:35 +02:00
parent 2777488d24
commit 18feab10cb
3 changed files with 20 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
import { expect, test } from '@playwright/test'; import { expect, test } from '@playwright/test';
import { createDoc, goToGridDoc, verifyDocName } from './utils-common'; import { createDoc, verifyDocName } from './utils-common';
import { addNewMember } from './utils-share'; import { addNewMember } from './utils-share';
test.beforeEach(async ({ page }) => { test.beforeEach(async ({ page }) => {
@@ -8,8 +8,14 @@ test.beforeEach(async ({ page }) => {
}); });
test.describe('Document list members', () => { test.describe('Document list members', () => {
test('it checks a big list of members', async ({ page }) => { test('it checks a big list of members', async ({ page, browserName }) => {
const docTitle = await goToGridDoc(page); const [docTitle] = await createDoc(
page,
'members-big-members-list',
browserName,
1,
);
await verifyDocName(page, docTitle); await verifyDocName(page, docTitle);
// Get the current URL and extract the last part // Get the current URL and extract the last part
@@ -73,7 +79,7 @@ test.describe('Document list members', () => {
await expect(loadMore).toBeHidden(); await expect(loadMore).toBeHidden();
}); });
test('it checks a big list of invitations', async ({ page }) => { test('it checks a big list of invitations', async ({ page, browserName }) => {
await page.route( await page.route(
/.*\/documents\/.*\/invitations\/\?page=.*/, /.*\/documents\/.*\/invitations\/\?page=.*/,
async (route) => { async (route) => {
@@ -108,7 +114,12 @@ test.describe('Document list members', () => {
}, },
); );
const docTitle = await goToGridDoc(page); const [docTitle] = await createDoc(
page,
'members-big-invitation-list',
browserName,
1,
);
await verifyDocName(page, docTitle); await verifyDocName(page, docTitle);
await page.getByRole('button', { name: 'Share' }).click(); await page.getByRole('button', { name: 'Share' }).click();

View File

@@ -102,6 +102,7 @@ test.describe('Doc Trashbin', () => {
page, page,
browserName, browserName,
docParent: subDocName, docParent: subDocName,
docName: 'my-trash-editor-subsubdoc',
}); });
await verifyDocName(page, subsubDocName); await verifyDocName(page, subsubDocName);

View File

@@ -72,10 +72,12 @@ export const addChild = async ({
page, page,
browserName, browserName,
docParent, docParent,
docName,
}: { }: {
page: Page; page: Page;
browserName: BrowserName; browserName: BrowserName;
docParent: string; docParent: string;
docName: string;
}) => { }) => {
let item = page.getByTestId('doc-tree-root-item'); let item = page.getByTestId('doc-tree-root-item');
@@ -99,7 +101,7 @@ export const addChild = async ({
await item.hover(); await item.hover();
await item.getByTestId('doc-tree-item-actions-add-child').click(); await item.getByTestId('doc-tree-item-actions-add-child').click();
const [name] = randomName(docParent, browserName, 1); const [name] = randomName(docName, browserName, 1);
await updateDocTitle(page, name); await updateDocTitle(page, name);
return name; return name;