@camunda/e2e-test-suite 0.0.1022 → 0.0.1024

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.
@@ -46,16 +46,15 @@ class ManagementIdentityPage {
46
46
  this.optimizeCheckbox = page
47
47
  .locator('label')
48
48
  .filter({ hasText: 'Optimize (Grants full access to Optimize)' });
49
- // Mid-rename: camunda/identity#4541 moves these role descriptions from Web
50
- // Modeler to Hub, and the role names follow only later. Depending on which
51
- // Identity image the deployed chart carries, the same checkbox renders as
52
- // "Web Modeler (Grants full access to Web Modeler)", the half-renamed
53
- // "Web Modeler (Grants full access to Hub)", or "Hub (Grants full access to
54
- // Hub)". Match all three so the suite stays green on either side of the
55
- // rollout. The " (" after the name keeps this off the Admin row.
56
- this.modelerCheckbox = page.locator('label').filter({
57
- hasText: /(Web Modeler|Hub) \(Grants full access to (Web Modeler|Hub)\)/,
58
- });
49
+ // The chart's Keycloak preset (camunda-platform-helm#6896) renamed the Hub
50
+ // application and added "Hub"/"Hub Admin" roles while keeping the identical
51
+ // legacy "Web Modeler"/"Web Modeler Admin" roles for 8.10-alpha upgrades,
52
+ // so the straddle alternation that matched either wording now resolves to
53
+ // two rows and trips strict mode. Both roles grant the same permissions on
54
+ // the same application; target the go-forward "Hub" name, which is also
55
+ // what the chart assigns its own QA users. The `for` attribute is the role
56
+ // name, so this survives further description rewording.
57
+ this.modelerCheckbox = page.locator('label[for="Hub"]');
59
58
  this.identityCheckbox = page.locator('label').filter({
60
59
  hasText: 'ManagementIdentity (Provides full access to Management Identity)',
61
60
  });
@@ -67,10 +66,8 @@ class ManagementIdentityPage {
67
66
  this.licenseKeyTagNonCommercial = page.getByText('Non-commercial license');
68
67
  this.licenseKeyTagProduction = page.getByText('Production license').first();
69
68
  this.licenseKeyTagCommercial = page.getByText('Commercial license');
70
- // Same Web Modeler → Hub rename straddle as `modelerCheckbox` above.
71
- this.modelerAdminCheckbox = page.locator('label').filter({
72
- hasText: /(Web Modeler|Hub) Admin \(Grants elevated access to (Web Modeler|Hub)\)/,
73
- });
69
+ // Same two-role split as `modelerCheckbox` above.
70
+ this.modelerAdminCheckbox = page.locator('label[for="Hub Admin"]');
74
71
  this.openSidebarButton = page.getByLabel('Open User Sidebar');
75
72
  this.logoutButton = page.getByRole('button', { name: 'Log out' });
76
73
  this.orchestrationCheckbox = page.locator('label').filter({
@@ -21,19 +21,34 @@ class OCIdentityClusterVariablesPage {
21
21
  editModalHeading;
22
22
  constructor(page) {
23
23
  this.page = page;
24
- this.variablesList = page.locator('table.cds--data-table');
24
+ // The Admin UI is migrating off Carbon onto the Camunda design system:
25
+ // `identity/client/src/pages/cluster-variables/index.tsx` renders ListV2
26
+ // (design-system `DataTable`, Radix dialog/menu) when the
27
+ // `isNewDesignSystemEnabled` client config is on, which the orchestration
28
+ // server defaults to for Self-Managed. Released 8.10 alpha images predate
29
+ // ListV2 and still render Carbon, so the locators that differ between the
30
+ // two DOMs accept either.
31
+ this.variablesList = page.locator('table.cds--data-table, table[data-slot="table"]');
25
32
  this.variableRow = (variableName) => this.variablesList
26
33
  .locator('tbody')
27
34
  .getByRole('row')
28
35
  .filter({ hasText: variableName });
29
- this.editVariableButton = (variableName) => this.variableRow(variableName).getByRole('button', { name: 'Options' });
36
+ // Carbon's OverflowMenu labels its trigger "Options"; the design-system
37
+ // DataTable labels it "Row actions".
38
+ this.editVariableButton = (variableName) => this.variableRow(variableName).getByRole('button', {
39
+ name: /^(Options|Row actions)$/,
40
+ });
30
41
  this.editVariableModal = page.getByRole('dialog', {
31
42
  name: /Edit.*variable/i,
32
43
  });
33
44
  this.variableValueField = this.editVariableModal.getByRole('textbox', {
34
45
  name: 'Editor content',
35
46
  });
36
- this.saveVariableButton = this.editVariableModal.locator('.cds--modal-footer button.cds--btn--primary');
47
+ // Both modals pass `confirmLabel={t("save")}`, so the accessible name is
48
+ // stable across the two footers.
49
+ this.saveVariableButton = this.editVariableModal.getByRole('button', {
50
+ name: 'Save',
51
+ });
37
52
  this.closeEditVariableModal = this.editVariableModal.getByRole('button', {
38
53
  name: 'Close',
39
54
  });
@@ -44,11 +59,15 @@ class OCIdentityClusterVariablesPage {
44
59
  this.monacoEditorTextArea = this.monacoEditor.locator('textarea.inputarea');
45
60
  this.monacoSuggestWidget = this.monacoEditor.locator('.editor-widget.suggest-widget');
46
61
  this.successMessage = this.page.getByText('Cluster variable updated');
47
- this.editModalHeading =
48
- this.editVariableModal.locator('.cds--modal-header');
49
- this.editMenuItem = this.page
50
- .locator('button[role="menuitem"]')
51
- .filter({ hasText: /^Edit$/ });
62
+ // Carbon renders the modal title as an h3, the design-system dialog as an
63
+ // h2; the heading role covers both.
64
+ this.editModalHeading = this.editVariableModal.getByRole('heading').first();
65
+ // Carbon menu items are buttons, Radix menu items are divs — match on the
66
+ // role instead of the tag.
67
+ this.editMenuItem = this.page.getByRole('menuitem', {
68
+ name: 'Edit',
69
+ exact: true,
70
+ });
52
71
  }
53
72
  async editVariable(variableName, newValue) {
54
73
  await this.editVariableButton(variableName).click();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.1022",
3
+ "version": "0.0.1024",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",