@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
|
-
//
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
this
|
|
57
|
-
|
|
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
|
|
71
|
-
this.modelerAdminCheckbox = page.locator('label')
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
48
|
-
|
|
49
|
-
this.
|
|
50
|
-
|
|
51
|
-
|
|
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();
|