@camunda/e2e-test-suite 0.0.1264 → 0.0.1265
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/SM-8.10/Authorization.js +7 -2
- package/dist/pages/SM-8.10/ManagementIdentityPage.js +8 -1
- package/dist/pages/SM-8.7/KeycloakLoginPage.js +5 -1
- package/dist/pages/SM-8.7/OptimizeHomePage.js +2 -2
- package/dist/tests/SM-8.10/connectors-user-flows.spec.js +12 -1
- package/dist/tests/SM-8.10/rba-enabled-user-flows.spec.js +3 -0
- package/package.json +1 -1
|
@@ -286,8 +286,13 @@ class Authorization {
|
|
|
286
286
|
console.warn(`Attempt ${attempt + 1} did not list the ` +
|
|
287
287
|
`${authorization.resourceType} authorization for ` +
|
|
288
288
|
`"${authorization.ownerId}". Retrying...`);
|
|
289
|
-
|
|
290
|
-
|
|
289
|
+
// A refused/reset connection while the gateway restarts must feed
|
|
290
|
+
// the next attempt, not abort the retry loop.
|
|
291
|
+
await this.page
|
|
292
|
+
.reload({ waitUntil: 'domcontentloaded' })
|
|
293
|
+
.catch((reloadError) => {
|
|
294
|
+
lastError = reloadError;
|
|
295
|
+
});
|
|
291
296
|
}
|
|
292
297
|
}
|
|
293
298
|
}
|
|
@@ -123,9 +123,16 @@ class ManagementIdentityPage {
|
|
|
123
123
|
.map((c) => `"${c}"`)
|
|
124
124
|
.join(' or ')} was found. The role may already be removed, or its ` +
|
|
125
125
|
`label may have changed in this version.`).toBeVisible({ timeout: 60000 });
|
|
126
|
+
// Click the Delete control inside the matched role's own table row. A
|
|
127
|
+
// `td:right-of(:text(...))` spatial match resolves to a neighbouring row's
|
|
128
|
+
// button once the roles table carries rows before the target (Orchestration
|
|
129
|
+
// is ordered above Hub), so it removed the wrong role and left the intended
|
|
130
|
+
// one still assigned.
|
|
126
131
|
await this.page
|
|
127
|
-
.locator(
|
|
132
|
+
.locator('tr')
|
|
133
|
+
.filter({ has: this.page.locator(rowSelector) })
|
|
128
134
|
.first()
|
|
135
|
+
.getByRole('button', { name: 'Delete' })
|
|
129
136
|
.click({ timeout: 60000 });
|
|
130
137
|
}
|
|
131
138
|
async clickConfirmDeleteButton() {
|
|
@@ -32,7 +32,11 @@ class KeycloakLoginPage {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
async clickLogin() {
|
|
35
|
-
|
|
35
|
+
// Submitting the Keycloak form starts a redirect chain that page.click
|
|
36
|
+
// implicitly waits on ("waiting for scheduled navigations to finish"), so
|
|
37
|
+
// the action inherits the 10s actionTimeout to cover a navigation. Give it
|
|
38
|
+
// the navigation budget the rest of the suite uses instead.
|
|
39
|
+
await this.page.click('button[type="submit"]', { timeout: 60000 });
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
42
|
exports.KeycloakLoginPage = KeycloakLoginPage;
|
|
@@ -31,10 +31,10 @@ class OptimizeHomePage {
|
|
|
31
31
|
await this.modalCloseButton.click({ timeout: 60000 });
|
|
32
32
|
}
|
|
33
33
|
async clickCollectionsLink() {
|
|
34
|
-
await this.collectionsLink.click({ timeout:
|
|
34
|
+
await this.collectionsLink.click({ timeout: 60000 });
|
|
35
35
|
}
|
|
36
36
|
async clickDashboardLink() {
|
|
37
|
-
await this.dashboardLink.click({ timeout:
|
|
37
|
+
await this.dashboardLink.click({ timeout: 60000 });
|
|
38
38
|
}
|
|
39
39
|
async assertProcessHasBeenImported(processId) {
|
|
40
40
|
await this.clickDashboardLink();
|
|
@@ -5,7 +5,18 @@ const SM_8_10_1 = require("../../fixtures/SM-8.10");
|
|
|
5
5
|
const _setup_1 = require("../../test-setup.js");
|
|
6
6
|
const UtilitiesPage_1 = require("../../pages/SM-8.10/UtilitiesPage");
|
|
7
7
|
const sleep_1 = require("../../utils/sleep");
|
|
8
|
-
|
|
8
|
+
// Serial: the two active webhook tests both fall back to importing the
|
|
9
|
+
// "Webhook Connector" marketplace package (which bundles the Boundary,
|
|
10
|
+
// Intermediate and Message-Start template variants) when the template is not
|
|
11
|
+
// already revealed in the change-element popup. Connector element-template IDs
|
|
12
|
+
// are unique per Workspace, and both tests create their own project inside the
|
|
13
|
+
// same shared "Cross Component Test Project" Workspace, so importing the same
|
|
14
|
+
// package concurrently makes the second import fail with HTTP 400
|
|
15
|
+
// "Template ID already in use" (surfaced as the marketplace "Try again" state).
|
|
16
|
+
// Running them serially lets the first import register the templates
|
|
17
|
+
// Workspace-wide; the second test then reveals them directly and skips the
|
|
18
|
+
// import, so there is no collision.
|
|
19
|
+
SM_8_10_1.test.describe.configure({ mode: 'serial' });
|
|
9
20
|
SM_8_10_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
10
21
|
const mtTenant = process.env.IS_MT === 'true' ? '<default>' : '';
|
|
11
22
|
SM_8_10_1.test.beforeEach(async ({ navigationPage }, testInfo) => {
|
|
@@ -245,6 +245,7 @@ if (node_process_1.default.env.IS_RBA === 'true') {
|
|
|
245
245
|
});
|
|
246
246
|
await SM_8_10_1.test.step('Open Cross Component Test Project', async () => {
|
|
247
247
|
await modelerHomePage.createCrossComponentProjectFolder(credentials);
|
|
248
|
+
await modelerHomePage.assignWorkspaceEnvironmentAsOrgAdmin(browser);
|
|
248
249
|
});
|
|
249
250
|
await SM_8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
|
|
250
251
|
await (0, UtilitiesPage_1.runMultipleProcesses)(page, modelerHomePage, modelerCreatePage, 2, processName, processName);
|
|
@@ -536,6 +537,7 @@ if (node_process_1.default.env.IS_RBA === 'true') {
|
|
|
536
537
|
});
|
|
537
538
|
await SM_8_10_1.test.step('Open Cross Component Test Project', async () => {
|
|
538
539
|
await modelerHomePage.createCrossComponentProjectFolder(credentials);
|
|
540
|
+
await modelerHomePage.assignWorkspaceEnvironmentAsOrgAdmin(browser);
|
|
539
541
|
});
|
|
540
542
|
await SM_8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
|
|
541
543
|
await (0, UtilitiesPage_1.runMultipleProcesses)(page, modelerHomePage, modelerCreatePage, 2, processName, processName);
|
|
@@ -660,6 +662,7 @@ if (node_process_1.default.env.IS_RBA === 'true') {
|
|
|
660
662
|
});
|
|
661
663
|
await SM_8_10_1.test.step('Open Cross Component Test Project', async () => {
|
|
662
664
|
await modelerHomePage.createCrossComponentProjectFolder(credentials);
|
|
665
|
+
await modelerHomePage.assignWorkspaceEnvironmentAsOrgAdmin(browser);
|
|
663
666
|
});
|
|
664
667
|
await SM_8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
|
|
665
668
|
await (0, UtilitiesPage_1.runMultipleProcesses)(page, modelerHomePage, modelerCreatePage, 2, processName, processName);
|