mirror of
https://github.com/suitenumerique/docs.git
synced 2026-09-22 09:35:08 +02:00
✅(e2e) fix flaky test
Improve: - checks redirect if unsync version - check the reorder of sub pages Add "show-report" command.
This commit is contained in:
@@ -16,10 +16,6 @@ import {
|
||||
|
||||
if (process.env.IS_INSTANCE !== 'true') {
|
||||
test.describe('Doc AI feature', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/');
|
||||
});
|
||||
|
||||
[
|
||||
{
|
||||
AI_FEATURE_ENABLED: false,
|
||||
@@ -190,6 +186,8 @@ if (process.env.IS_INSTANCE !== 'true') {
|
||||
}
|
||||
});
|
||||
|
||||
await page.goto('/');
|
||||
|
||||
await createDoc(page, 'doc-ai', browserName, 1);
|
||||
|
||||
await page.locator('.bn-block-outer').last().fill('Hello World');
|
||||
@@ -273,6 +271,8 @@ if (process.env.IS_INSTANCE !== 'true') {
|
||||
title: '',
|
||||
});
|
||||
|
||||
await page.goto('/');
|
||||
|
||||
await createDoc(page, 'doc-editor-ai', browserName, 1);
|
||||
|
||||
const editor = await writeInEditor({ page, text: 'Hello World' });
|
||||
@@ -342,6 +342,8 @@ if (process.env.IS_INSTANCE !== 'true') {
|
||||
title: '',
|
||||
});
|
||||
|
||||
await page.goto('/');
|
||||
|
||||
const [randomDoc] = await createDoc(
|
||||
page,
|
||||
'doc-editor-ai-proxy',
|
||||
|
||||
@@ -157,24 +157,25 @@ test.describe('Doc Routing', () => {
|
||||
RELEASE_VERSION: '0.0.0',
|
||||
});
|
||||
|
||||
await page.goto('/');
|
||||
|
||||
let counterReload = 0;
|
||||
await page.route(/.*\/users\/me\/$/, async (route) => {
|
||||
counterReload += 1;
|
||||
await route.continue();
|
||||
});
|
||||
|
||||
await page.waitForTimeout(1000);
|
||||
await page.goto('/');
|
||||
|
||||
await expect.poll(() => counterReload, { timeout: 10000 }).toBe(2);
|
||||
|
||||
await page.waitForLoadState('load');
|
||||
|
||||
// The sessionStorage guard should be set to the mismatched backend version.
|
||||
const reloadVersion = await page.evaluate(() =>
|
||||
sessionStorage.getItem('reload-version'),
|
||||
);
|
||||
expect(reloadVersion).toBe('0.0.0');
|
||||
|
||||
// The page should have reloaded once
|
||||
expect(counterReload).toBe(2);
|
||||
await expect
|
||||
.poll(
|
||||
() => page.evaluate(() => sessionStorage.getItem('reload-version')),
|
||||
{ timeout: 10000 },
|
||||
)
|
||||
.toBe('0.0.0');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -207,6 +207,13 @@ test.describe('Doc Tree', () => {
|
||||
{ steps: 20 },
|
||||
);
|
||||
|
||||
const responsePromiseMoveDoc = page.waitForResponse(
|
||||
(response) =>
|
||||
response.url().includes(`/move/`) &&
|
||||
response.status() === 200 &&
|
||||
response.request().method() === 'POST',
|
||||
);
|
||||
|
||||
await page.mouse.up();
|
||||
|
||||
// Wait for the reorder to be reflected in the tree before reloading —
|
||||
@@ -214,6 +221,9 @@ test.describe('Doc Tree', () => {
|
||||
await expect(allSubPageItems.nth(0).getByText(docChild2)).toBeVisible();
|
||||
await expect(allSubPageItems.nth(1).getByText(docChild1)).toBeVisible();
|
||||
|
||||
const responseMoveDoc = await responsePromiseMoveDoc;
|
||||
expect(responseMoveDoc.ok()).toBeTruthy();
|
||||
|
||||
// reload the page
|
||||
await page.reload();
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
"test:ui": "yarn test --ui",
|
||||
"test:ui::firefox": "yarn test:ui --project=firefox",
|
||||
"test:ui::webkit": "yarn test:ui --project=webkit",
|
||||
"test:ui::chromium": "yarn test:ui --project=chromium"
|
||||
"test:ui::chromium": "yarn test:ui --project=chromium",
|
||||
"show-report": "npx playwright show-report report"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "1.62.1",
|
||||
|
||||
Reference in New Issue
Block a user