@camunda/e2e-test-suite 0.0.821 → 0.0.823
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.
- package/dist/pages/8.10/HomePage.js +10 -1
- package/dist/pages/8.10/ModelerHomePage.js +18 -3
- package/dist/tests/8.10/rba-enabled-v2-user-flows.spec.js +23 -15
- package/dist/tests/c8Run-8.10/connectors-user-flows.spec.js +1 -1
- package/dist/tests/c8Run-8.10/mcp-connector-authentication.spec.js +1 -1
- package/dist/tests/c8Run-8.10/mcp-user-flows.spec.js +1 -1
- package/package.json +1 -1
|
@@ -81,7 +81,16 @@ class HomePage {
|
|
|
81
81
|
if (!(await next.isVisible({ timeout: visibleTimeout }))) {
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
|
-
|
|
84
|
+
// The dialog can dismiss itself (e.g. an auto-closing banner) between
|
|
85
|
+
// the visibility check above and the click below. Re-check inside
|
|
86
|
+
// toPass() so that race resolves to "nothing left to close" instead of
|
|
87
|
+
// a hard click timeout on an element that already disappeared.
|
|
88
|
+
await (0, test_1.expect)(async () => {
|
|
89
|
+
if (!(await next.isVisible().catch(() => false))) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
await next.click({ timeout: 10000, force: true });
|
|
93
|
+
}).toPass({ timeout: 30000 });
|
|
85
94
|
}
|
|
86
95
|
}
|
|
87
96
|
organizationUuid() {
|
|
@@ -97,9 +97,24 @@ class ModelerHomePage {
|
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
async enterNewProjectName(name) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
// The inline rename silently drops the value when the editable title field
|
|
101
|
+
// is not yet in edit mode as fill() runs, leaving the project named
|
|
102
|
+
// "New project". Re-enter until the field reflects the requested name.
|
|
103
|
+
//
|
|
104
|
+
// Once the rename commits, the editable input unmounts and the title
|
|
105
|
+
// renders as a static heading (`[title="<name>"]`) instead. A retry that
|
|
106
|
+
// still assumes `[data-test="editable-input"]` is clickable then hangs on
|
|
107
|
+
// an element that will never reappear, even though the rename already
|
|
108
|
+
// succeeded. Treat the static title becoming visible as success.
|
|
109
|
+
await (0, test_1.expect)(async () => {
|
|
110
|
+
if (await this.page.getByTitle(name, { exact: true }).isVisible()) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
await this.projectNameInput.click({ timeout: 60000 });
|
|
114
|
+
await this.projectNameInput.fill(name);
|
|
115
|
+
await this.projectNameInput.press('Enter');
|
|
116
|
+
await (0, test_1.expect)(this.projectNameInput).toHaveValue(name, { timeout: 5000 });
|
|
117
|
+
}).toPass({ timeout: 120000 });
|
|
103
118
|
}
|
|
104
119
|
async enterIdpApplicationName(name) {
|
|
105
120
|
await this.idpApplicationNameInput.click({ timeout: 60000 });
|
|
@@ -5,7 +5,6 @@ const _8_10_1 = require("../../fixtures/8.10");
|
|
|
5
5
|
const _setup_1 = require("../../test-setup.js");
|
|
6
6
|
const UtilitiesPage_1 = require("../../pages/8.10/UtilitiesPage");
|
|
7
7
|
const sleep_1 = require("../../utils/sleep");
|
|
8
|
-
const resetSession_1 = require("../../utils/resetSession");
|
|
9
8
|
const roleAuthorizations_1 = require("../../utils/roleAuthorizations");
|
|
10
9
|
const expectTextWithRetry_1 = require("../../utils/assertionHelpers/expectTextWithRetry");
|
|
11
10
|
const expectTextWithPagination_1 = require("../../utils/assertionHelpers/expectTextWithPagination");
|
|
@@ -32,7 +31,7 @@ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () =>
|
|
|
32
31
|
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
33
32
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
34
33
|
});
|
|
35
|
-
(0, _8_10_1.test)('RBA On User Flow - No User Permission', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage, ocIdentityHomePage, ocIdentityAuthorizationsPage, ocIdentityRolesPage,
|
|
34
|
+
(0, _8_10_1.test)('RBA On User Flow - No User Permission', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage, ocIdentityHomePage, ocIdentityAuthorizationsPage, ocIdentityRolesPage, loginPage, settingsPage, }, testInfo) => {
|
|
36
35
|
_8_10_1.test.slow();
|
|
37
36
|
const clusterName = clusterNames[testInfo.title];
|
|
38
37
|
const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
@@ -69,9 +68,12 @@ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () =>
|
|
|
69
68
|
await ocIdentityAuthorizationsPage.clickAuthorizationTab();
|
|
70
69
|
await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.authorizationAllPermissions)(role));
|
|
71
70
|
});
|
|
72
|
-
await _8_10_1.test.step('
|
|
73
|
-
await
|
|
74
|
-
await
|
|
71
|
+
await _8_10_1.test.step('Log out and log in as Test User', async () => {
|
|
72
|
+
await appsPage.clickCamundaApps();
|
|
73
|
+
await appsPage.clickConsoleLink();
|
|
74
|
+
await settingsPage.clickOpenSettingsButton();
|
|
75
|
+
await settingsPage.clickLogoutButton();
|
|
76
|
+
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, 1000);
|
|
75
77
|
});
|
|
76
78
|
await _8_10_1.test.step('Navigate to Web Modeler', async () => {
|
|
77
79
|
await appsPage.clickCamundaApps();
|
|
@@ -103,8 +105,9 @@ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () =>
|
|
|
103
105
|
await (0, sleep_1.sleep)(20000);
|
|
104
106
|
});
|
|
105
107
|
await _8_10_1.test.step('Login as Test User', async () => {
|
|
106
|
-
await
|
|
107
|
-
await
|
|
108
|
+
await settingsPage.clickOpenSettingsButton();
|
|
109
|
+
await settingsPage.clickLogoutButton();
|
|
110
|
+
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, 1000);
|
|
108
111
|
});
|
|
109
112
|
await _8_10_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Not Accessible', async () => {
|
|
110
113
|
await appsPage.clickCamundaApps();
|
|
@@ -131,7 +134,7 @@ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () =>
|
|
|
131
134
|
await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2, { shouldBeVisible: false });
|
|
132
135
|
});
|
|
133
136
|
});
|
|
134
|
-
(0, _8_10_1.test)('RBA On User Flow - Permission for One Process', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage,
|
|
137
|
+
(0, _8_10_1.test)('RBA On User Flow - Permission for One Process', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage, loginPage, ocIdentityHomePage, ocIdentityAuthorizationsPage, ocIdentityRolesPage, settingsPage, }, testInfo) => {
|
|
135
138
|
_8_10_1.test.slow();
|
|
136
139
|
const clusterName = clusterNames[testInfo.title];
|
|
137
140
|
const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
@@ -176,10 +179,13 @@ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () =>
|
|
|
176
179
|
await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.roleAllAuthorization)(role1));
|
|
177
180
|
});
|
|
178
181
|
await _8_10_1.test.step('Clear cookies and reset session', async () => {
|
|
179
|
-
await
|
|
182
|
+
await appsPage.clickCamundaApps();
|
|
183
|
+
await appsPage.clickConsoleLink();
|
|
184
|
+
await settingsPage.clickOpenSettingsButton();
|
|
185
|
+
await settingsPage.clickLogoutButton();
|
|
180
186
|
});
|
|
181
187
|
await _8_10_1.test.step('Login as Test User', async () => {
|
|
182
|
-
await
|
|
188
|
+
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, 1000);
|
|
183
189
|
});
|
|
184
190
|
await _8_10_1.test.step('Navigate to Web Modeler', async () => {
|
|
185
191
|
await appsPage.clickCamundaApps();
|
|
@@ -211,8 +217,9 @@ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () =>
|
|
|
211
217
|
await (0, sleep_1.sleep)(20000);
|
|
212
218
|
});
|
|
213
219
|
await _8_10_1.test.step('Login as Test User', async () => {
|
|
214
|
-
await
|
|
215
|
-
await
|
|
220
|
+
await settingsPage.clickOpenSettingsButton();
|
|
221
|
+
await settingsPage.clickLogoutButton();
|
|
222
|
+
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, 1000);
|
|
216
223
|
});
|
|
217
224
|
await _8_10_1.test.step('Navigate to Tasklist and Only First Process Is Accessible', async () => {
|
|
218
225
|
await appsPage.clickCamundaApps();
|
|
@@ -349,7 +356,7 @@ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () =>
|
|
|
349
356
|
await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2);
|
|
350
357
|
});
|
|
351
358
|
});
|
|
352
|
-
(0, _8_10_1.test)('RBA On User Flow - Permission for Selected Processes Only', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage, ocIdentityHomePage, ocIdentityAuthorizationsPage, ocIdentityRolesPage,
|
|
359
|
+
(0, _8_10_1.test)('RBA On User Flow - Permission for Selected Processes Only', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage, ocIdentityHomePage, ocIdentityAuthorizationsPage, ocIdentityRolesPage, loginPage, settingsPage, }, testInfo) => {
|
|
353
360
|
_8_10_1.test.slow();
|
|
354
361
|
const clusterName = clusterNames[testInfo.title];
|
|
355
362
|
const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
@@ -389,8 +396,9 @@ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () =>
|
|
|
389
396
|
await (0, sleep_1.sleep)(20000);
|
|
390
397
|
});
|
|
391
398
|
await _8_10_1.test.step('Clear cookies and reset session', async () => {
|
|
392
|
-
await
|
|
393
|
-
await
|
|
399
|
+
await settingsPage.clickOpenSettingsButton();
|
|
400
|
+
await settingsPage.clickLogoutButton();
|
|
401
|
+
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, 1000);
|
|
394
402
|
});
|
|
395
403
|
await _8_10_1.test.step('Navigate to Web Modeler', async () => {
|
|
396
404
|
await appsPage.clickCamundaApps();
|
|
@@ -9,7 +9,7 @@ const sleep_1 = require("../../utils/sleep");
|
|
|
9
9
|
const constants_1 = require("../../utils/constants");
|
|
10
10
|
const apiHelpers_1 = require("../../utils/apiHelpers");
|
|
11
11
|
c8Run_8_10_1.test.beforeAll(async () => {
|
|
12
|
-
await (0, apiHelpers_1.waitForConnectorsReady)();
|
|
12
|
+
await (0, apiHelpers_1.waitForConnectorsReady)(undefined, 600000);
|
|
13
13
|
await Promise.all([
|
|
14
14
|
(0, zeebeClient_1.deploy)('./resources/Basic_Auth_REST_Connector.bpmn'),
|
|
15
15
|
(0, zeebeClient_1.deploy)('./resources/Intermediate_Event_Webhook_Connector_No_Auth_Process.bpmn'),
|
|
@@ -31,7 +31,7 @@ c8Run_8_10_1.test.beforeAll(async () => {
|
|
|
31
31
|
await (0, apiHelpers_1.validateMcpServerHealth)('http://127.0.0.1:12001'); // No auth
|
|
32
32
|
await (0, apiHelpers_1.validateMcpServerHealth)('http://127.0.0.1:12002'); // Basic auth
|
|
33
33
|
await (0, apiHelpers_1.validateMcpServerHealth)('http://127.0.0.1:12004'); // OAuth
|
|
34
|
-
await (0, apiHelpers_1.waitForConnectorsReady)();
|
|
34
|
+
await (0, apiHelpers_1.waitForConnectorsReady)(undefined, 600000);
|
|
35
35
|
await (0, keycloakHelpers_1.validateKeycloakHealth)();
|
|
36
36
|
bearerToken = await (0, keycloakHelpers_1.getAccessToken)();
|
|
37
37
|
await (0, zeebeClient_1.deploy)([
|
|
@@ -12,7 +12,7 @@ c8Run_8_10_1.test.beforeAll(async () => {
|
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
await (0, apiHelpers_1.validateMcpServerHealth)();
|
|
15
|
-
await (0, apiHelpers_1.waitForConnectorsReady)();
|
|
15
|
+
await (0, apiHelpers_1.waitForConnectorsReady)(undefined, 600000);
|
|
16
16
|
await (0, zeebeClient_1.deploy)(['./resources/mcp_server/mcp_remote_client_operations.bpmn']);
|
|
17
17
|
await (0, zeebeClient_1.createInstances)('mcp_remote_client', 1, 1);
|
|
18
18
|
await (0, sleep_1.sleep)(2000);
|