@camunda/e2e-test-suite 0.0.1034 → 0.0.1035
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -169,7 +169,17 @@ class ModelerCreatePage {
|
|
|
169
169
|
this.diagramBreadcrumb = page.locator('[data-test="breadcrumb-diagram"]');
|
|
170
170
|
this.renameDiagramNameButton = page.getByText('Rename');
|
|
171
171
|
this.diagramNameInput = page.locator('[data-test="editable-input"]');
|
|
172
|
-
|
|
172
|
+
// The rename kebab sits beside the breadcrumb in the app header. The
|
|
173
|
+
// editor's action bar is a <header> too, so it also carries the banner
|
|
174
|
+
// role -- getByRole('banner') alone matches three headers in the editor
|
|
175
|
+
// and pulls in "Additional actions" and "Browse more actions". Only the
|
|
176
|
+
// app header holds the breadcrumb nav, so filter on that. The kebab's own
|
|
177
|
+
// name is shell-dependent ("More actions" today, "<segment label> actions"
|
|
178
|
+
// once the design system derives it from the label), so match either.
|
|
179
|
+
this.moreActionsButton = page
|
|
180
|
+
.getByRole('banner')
|
|
181
|
+
.filter({ has: page.getByRole('navigation') })
|
|
182
|
+
.getByRole('button', { name: /actions$/i });
|
|
173
183
|
this.renameMenuItem = page.getByRole('menuitem', { name: 'Rename' });
|
|
174
184
|
this.renameInput = page.locator('[data-test="rename-input"]');
|
|
175
185
|
this.renameSubmitButton = page.locator('[data-test="rename-submit"]');
|
|
@@ -852,10 +862,17 @@ class ModelerCreatePage {
|
|
|
852
862
|
await this.diagramNameInput.press('Enter', { timeout: 60000 });
|
|
853
863
|
return;
|
|
854
864
|
}
|
|
855
|
-
//
|
|
856
|
-
//
|
|
857
|
-
//
|
|
858
|
-
|
|
865
|
+
// Today the shell renders one kebab for the whole breadcrumb; camunda-hub
|
|
866
|
+
// #28045 gives every segment its own, so take the LAST -- the diagram is
|
|
867
|
+
// the deepest crumb. With one kebab last() is that same button.
|
|
868
|
+
//
|
|
869
|
+
// The header's license tags sit in an ml-auto flex sibling that overlaps
|
|
870
|
+
// the kebab once they render, so a mouse click lands on the tag instead.
|
|
871
|
+
// Open the menu from the keyboard -- same control, reached the way a
|
|
872
|
+
// keyboard user reaches it, and unaffected by what paints over it.
|
|
873
|
+
const diagramActions = this.moreActionsButton.last();
|
|
874
|
+
await diagramActions.focus();
|
|
875
|
+
await diagramActions.press('Enter');
|
|
859
876
|
await this.renameMenuItem.click();
|
|
860
877
|
await (0, test_1.expect)(this.renameInput).toBeVisible({ timeout: 10000 });
|
|
861
878
|
await this.renameInput.fill(name);
|
|
@@ -66,7 +66,17 @@ class ModelerHomePage {
|
|
|
66
66
|
name: 'New project',
|
|
67
67
|
}));
|
|
68
68
|
this.projectNameInput = page.locator('[data-test="editable-input"]');
|
|
69
|
-
|
|
69
|
+
// The rename kebab sits beside the breadcrumb in the app header. The
|
|
70
|
+
// editor's action bar is a <header> too, so it also carries the banner
|
|
71
|
+
// role -- getByRole('banner') alone matches three headers in the editor
|
|
72
|
+
// and pulls in "Additional actions" and "Browse more actions". Only the
|
|
73
|
+
// app header holds the breadcrumb nav, so filter on that. The kebab's own
|
|
74
|
+
// name is shell-dependent ("More actions" today, "<segment label> actions"
|
|
75
|
+
// once the design system derives it from the label), so match either.
|
|
76
|
+
this.moreActionsButton = page
|
|
77
|
+
.getByRole('banner')
|
|
78
|
+
.filter({ has: page.getByRole('navigation') })
|
|
79
|
+
.getByRole('button', { name: /actions$/i });
|
|
70
80
|
this.renameMenuItem = page.getByRole('menuitem', { name: 'Rename' });
|
|
71
81
|
this.renameInput = page.locator('[data-test="rename-input"]');
|
|
72
82
|
this.renameSubmitButton = page.locator('[data-test="rename-submit"]');
|
|
@@ -346,11 +356,18 @@ class ModelerHomePage {
|
|
|
346
356
|
}
|
|
347
357
|
await this.renameViaMoreActions(name);
|
|
348
358
|
}
|
|
349
|
-
//
|
|
350
|
-
//
|
|
351
|
-
//
|
|
359
|
+
// Today the shell renders one kebab for the whole breadcrumb; camunda-hub
|
|
360
|
+
// #28045 gives every segment its own, so take the LAST -- the entity being
|
|
361
|
+
// edited is the deepest crumb. With one kebab last() is that same button.
|
|
362
|
+
//
|
|
363
|
+
// The header's license tags sit in an ml-auto flex sibling that overlaps the
|
|
364
|
+
// kebab once they render, so a mouse click lands on the tag instead. Open the
|
|
365
|
+
// menu from the keyboard -- same control, reached the way a keyboard user
|
|
366
|
+
// reaches it, and unaffected by what paints over it.
|
|
352
367
|
async renameViaMoreActions(name) {
|
|
353
|
-
|
|
368
|
+
const entityActions = this.moreActionsButton.last();
|
|
369
|
+
await entityActions.focus();
|
|
370
|
+
await entityActions.press('Enter');
|
|
354
371
|
await this.renameMenuItem.click();
|
|
355
372
|
await (0, test_1.expect)(this.renameInput).toBeVisible({ timeout: 10000 });
|
|
356
373
|
await this.renameInput.fill(name);
|