@camunda/e2e-test-suite 0.0.1034 → 0.0.1036

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
- this.moreActionsButton = page.getByRole('button', { name: 'More actions' });
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
- // Two "More actions" buttons render here -- the project crumb's and the
856
- // diagram's. first() is the diagram's; the Rename click fails loudly
857
- // rather than renaming the wrong entity if that order ever changes.
858
- await this.moreActionsButton.first().click();
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
- this.moreActionsButton = page.getByRole('button', { name: 'More actions' });
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
- // The editors show two "More actions" buttons -- one for the project crumb
350
- // and one for the entity being edited. first() is the entity's; the Rename
351
- // click fails loudly rather than renaming the wrong thing if that changes.
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
- await this.moreActionsButton.first().click();
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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.1034",
3
+ "version": "0.0.1036",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",