Skip to content

Commit a2fca72

Browse files
committed
fixup! ✨(frontend) make components accessible to screen readers
1 parent e760b24 commit a2fca72

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

src/frontend/apps/e2e/__tests__/app-impress/doc-tree.spec.ts

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
updateDocTitle,
1010
verifyDocName,
1111
} from './utils-common';
12+
import { addNewMember } from './utils-share';
1213
import { clickOnAddRootSubPage, createRootSubPage } from './utils-sub-pages';
1314

1415
test.describe('Doc Tree', () => {
@@ -184,13 +185,14 @@ test.describe('Doc Tree', () => {
184185
const docTree = page.getByTestId('doc-tree');
185186
await expect(docTree.getByText(docChild)).toBeVisible();
186187
await docTree.click();
187-
const child = docTree.locator('.--docs-sub-page-item').filter({
188-
hasText: docChild,
189-
});
188+
const child = docTree
189+
.getByRole('treeitem')
190+
.locator('.--docs-sub-page-item')
191+
.filter({
192+
hasText: docChild,
193+
});
190194
await child.hover();
191-
// Wait a bit for the hover effect to take place
192195
const menu = child.getByText(`more_horiz`);
193-
await expect(menu).toBeVisible();
194196
await menu.click();
195197
await page.getByText('Move to my docs').click();
196198

@@ -213,38 +215,43 @@ test.describe('Doc Tree', () => {
213215

214216
await verifyDocName(page, docParent);
215217

216-
// Create a child document first
218+
await page.getByRole('button', { name: 'Share' }).click();
219+
220+
await addNewMember(page, 0, 'Owner', 'impress');
221+
222+
const list = page.getByTestId('doc-share-quick-search');
223+
const currentUser = list.getByTestId(
224+
`doc-share-member-row-user@${browserName}.test`,
225+
);
226+
const currentUserRole = currentUser.getByLabel('doc-role-dropdown');
227+
await currentUserRole.click();
228+
await page.getByLabel('Administrator').click();
229+
await list.click();
230+
231+
await page.getByRole('button', { name: 'Ok' }).click();
232+
217233
const { name: docChild } = await createRootSubPage(
218234
page,
219235
browserName,
220236
'doc-tree-detach-child',
221237
);
222238

223-
// Now try to detach the child document - this should work for the owner
224239
const docTree = page.getByTestId('doc-tree');
225240
await expect(docTree.getByText(docChild)).toBeVisible();
226241
await docTree.click();
227-
const child = docTree.locator('.--docs-sub-page-item').filter({
228-
hasText: docChild,
229-
});
242+
const child = docTree
243+
.getByRole('treeitem')
244+
.locator('.--docs-sub-page-item')
245+
.filter({
246+
hasText: docChild,
247+
});
230248
await child.hover();
231-
// Wait a bit for the hover effect to take place
232249
const menu = child.getByText(`more_horiz`);
233-
await expect(menu).toBeVisible();
234250
await menu.click();
235251

236-
// The owner should be able to detach the document
237-
await page.getByRole('menuitem', { name: 'Move to my docs' }).click();
238-
239-
// Verify the document was detached - it should no longer be in the current tree
240252
await expect(
241-
page.getByRole('textbox', { name: 'doc title input' }),
242-
).not.toHaveText(docChild);
243-
244-
// Verify the document is now on the home page
245-
const header = page.locator('header').first();
246-
await header.locator('h1').getByText('Docs').click();
247-
await expect(page.getByText(docChild)).toBeVisible();
253+
page.getByRole('menuitem', { name: 'Move to my docs' }),
254+
).toHaveAttribute('aria-disabled', 'true');
248255
});
249256
});
250257

0 commit comments

Comments
 (0)