(e2e) adds an end to end test for heading accessibility in doc editor

adds an end to end test to verify progressive heading suggestions

Signed-off-by: Cyril <c.gromoff@gmail.com>
This commit is contained in:
Cyril
2025-07-31 17:21:08 +02:00
parent 0c8bf4013a
commit 012b06f3b1
2 changed files with 77 additions and 1 deletions

View File

@@ -23,7 +23,9 @@ and this project adheres to
- ♻️(frontend) redirect to doc after duplicate #1175
- 🔧(project) change env.d system by using local files #1200
- ⚡️(frontend) improve tree stability #1207
- ⚡️(frontend) improve accessibility #1232
- ⚡️(frontend) improve accessibility
- #1232
- #1251
- 🛂(frontend) block drag n drop when not desktop #1239
### Fixed

View File

@@ -0,0 +1,74 @@
import { expect, test } from '@playwright/test';
test.describe('Doc Editor - Heading Accessibility', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/');
});
test('should filter heading options progressively (h1 -> h2 -> h3)', async ({
page,
}) => {
await page.getByRole('button', { name: 'Nouveau doc' }).click();
await page.waitForURL('**/docs/**', {
timeout: 10000,
waitUntil: 'domcontentloaded',
});
const input = page.getByLabel('doc title input');
await input.fill('heading-accessibility-test');
await input.blur();
const editor = page.locator('.ProseMirror');
await editor.click();
await page.keyboard.type('/');
await expect(page.getByText('Titre 1')).toBeVisible();
await expect(page.getByText('Titre 2')).toBeHidden();
await expect(page.getByText('Titre 3')).toBeHidden();
await page.getByText('Titre 1').click();
await page.keyboard.type('Main Title');
await page.keyboard.press('Enter');
await editor.click();
await page.keyboard.type('/');
await expect(page.getByText('Titre 1')).toBeHidden();
await expect(page.getByText('Titre 2')).toBeVisible();
await expect(page.getByText('Titre 3')).toBeHidden();
await page.getByText('Titre 2').click();
await page.keyboard.type('Sub Title');
await page.keyboard.press('Enter');
await editor.click();
await page.keyboard.type('/');
await expect(page.getByText('Titre 1')).toBeHidden();
await expect(page.getByText('Titre 2')).toBeVisible();
await expect(page.getByText('Titre 3')).toBeVisible();
await page.getByText('Titre 3').click();
await page.keyboard.type('Sub Sub Title');
await page.keyboard.press('Enter');
await editor.click();
await page.keyboard.type('/');
await expect(page.getByText('Titre 1')).toBeHidden();
await expect(page.getByText('Titre 2')).toBeHidden();
await expect(page.getByText('Titre 3')).toBeVisible();
await page.getByText('Titre 3').click();
await page.keyboard.type('Another Sub Sub Title');
await page.keyboard.press('Enter');
await editor.click();
await page.keyboard.type('/');
await expect(page.getByText('Titre 1')).toBeHidden();
await expect(page.getByText('Titre 2')).toBeHidden();
await expect(page.getByText('Titre 3')).toBeVisible();
});
});