Skip to content

Commit daf0ce7

Browse files
committed
refactor e2e : encapsulate image dialog selector in page object
1 parent 14b23d9 commit daf0ce7

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

js/modules/TipTap/SlashCommandsExtension.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ function showImageDialog(editor, existing_attrs = null) {
5050

5151
const dialog = document.createElement('div');
5252
dialog.className = 'image-dialog';
53-
dialog.dataset.testid = 'image-dialog';
5453

5554
const title = document.createElement('div');
5655
title.className = 'image-dialog-header';

tests/e2e/pages/KnowbaseItemPage.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ export class KnowbaseItemPage extends GlpiPage
7272
return this._bubbleMenuHelper;
7373
}
7474

75+
public get imageDialog(): Locator
76+
{
77+
// eslint-disable-next-line playwright/no-raw-locators -- custom TipTap dialog, no ARIA role available
78+
return this.page.locator('.image-dialog');
79+
}
80+
7581
public get subject(): Locator
7682
{
7783
// eslint-disable-next-line playwright/no-raw-locators -- Semantic data attribute used by ArticleController.js, not a test ID

tests/e2e/specs/Knowbase/Editor/image-insertion.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ test.describe('Knowledge Base Editor - Image Insertion', () => {
5757
await kb.slashMenu.open();
5858
await kb.slashMenu.selectByClick('Image');
5959

60-
const dialog = page.getByTestId('image-dialog');
60+
const dialog = kb.imageDialog;
6161
await expect(dialog).toBeVisible();
6262

6363
const dataUri = `data:image/png;base64,${TEST_IMAGE_BASE64}`;
@@ -86,7 +86,7 @@ test.describe('Knowledge Base Editor - Image Insertion', () => {
8686
await kb.slashMenu.open();
8787
await kb.slashMenu.selectByClick('Image');
8888

89-
const dialog = page.getByTestId('image-dialog');
89+
const dialog = kb.imageDialog;
9090
await expect(dialog).toBeVisible();
9191

9292
await dialog.getByRole('button', { name: 'Cancel' }).click();
@@ -112,7 +112,7 @@ test.describe('Knowledge Base Editor - Image Insertion', () => {
112112
await kb.slashMenu.open();
113113
await kb.slashMenu.selectByClick('Image');
114114

115-
const dialog = page.getByTestId('image-dialog');
115+
const dialog = kb.imageDialog;
116116
await expect(dialog).toBeVisible();
117117

118118
await page.keyboard.press('Escape');
@@ -136,7 +136,7 @@ test.describe('Knowledge Base Editor - Image Insertion', () => {
136136
await kb.slashMenu.open();
137137
await kb.slashMenu.selectByClick('Image');
138138

139-
const dialog = page.getByTestId('image-dialog');
139+
const dialog = kb.imageDialog;
140140
await expect(dialog).toBeVisible();
141141

142142
await dialog.getByRole('button', { name: 'Save' }).click();

0 commit comments

Comments
 (0)