@camunda/e2e-test-suite 0.0.514 → 0.0.515
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.8/ClusterDetailsPage.js +11 -3
- package/dist/pages/8.8/ConsoleOrganizationPage.js +6 -4
- package/dist/pages/8.8/FormJsPage.js +1 -1
- package/dist/pages/8.8/LoginPage.js +22 -1
- package/dist/pages/8.8/UtilitiesPage.d.ts +1 -0
- package/dist/pages/8.8/UtilitiesPage.js +27 -1
- package/dist/tests/8.8/connectors-user-flows.spec.js +1 -0
- package/dist/tests/8.8/console-user-flows.spec.js +10 -2
- package/dist/tests/8.8/rba-enabled-v1-user-flows.spec.js +21 -31
- package/dist/tests/8.8/smoke-tests.spec.js +11 -2
- package/dist/tests/8.8/utr-enabled-user-flows.spec.js +15 -5
- package/dist/tests/8.8/web-modeler-user-flows.spec.js +8 -3
- package/package.json +1 -1
|
@@ -59,11 +59,18 @@ class ClusterDetailsPage {
|
|
|
59
59
|
name: 'Create your first Client',
|
|
60
60
|
});
|
|
61
61
|
this.clientNameTextbox = page.getByRole('textbox', { name: 'Client Name' });
|
|
62
|
-
this.tasklistCheckbox = page
|
|
62
|
+
this.tasklistCheckbox = page
|
|
63
|
+
.getByRole('dialog')
|
|
64
|
+
.locator('label')
|
|
65
|
+
.filter({ hasText: 'Tasklist' });
|
|
63
66
|
this.optimizeCheckbox = page
|
|
67
|
+
.getByRole('dialog')
|
|
64
68
|
.locator('label')
|
|
65
69
|
.filter({ hasText: /^Optimize API$/ });
|
|
66
|
-
this.operateCheckbox = page
|
|
70
|
+
this.operateCheckbox = page
|
|
71
|
+
.getByRole('dialog')
|
|
72
|
+
.locator('label')
|
|
73
|
+
.filter({ hasText: 'Operate' });
|
|
67
74
|
this.secretsCheckbox = page
|
|
68
75
|
.locator('label')
|
|
69
76
|
.filter({ hasText: /^Administration API - Resource: Secrets$/ });
|
|
@@ -474,7 +481,8 @@ class ClusterDetailsPage {
|
|
|
474
481
|
await (0, sleep_1.sleep)(1000);
|
|
475
482
|
await (0, test_1.expect)(this.apiClientNameTextbox).toBeVisible({ timeout: 60000 });
|
|
476
483
|
await this.apiClientNameTextbox.click();
|
|
477
|
-
await this.apiClientNameTextbox.
|
|
484
|
+
await this.apiClientNameTextbox.clear();
|
|
485
|
+
await this.apiClientNameTextbox.pressSequentially(name, { delay: 50 });
|
|
478
486
|
const inputValue = await this.apiClientNameTextbox.inputValue();
|
|
479
487
|
if (inputValue === name) {
|
|
480
488
|
return;
|
|
@@ -258,10 +258,12 @@ class ConsoleOrganizationPage {
|
|
|
258
258
|
name: 'Opt in to enable',
|
|
259
259
|
});
|
|
260
260
|
if (await alphaFeatureOptInButton.isVisible({ timeout: 10000 })) {
|
|
261
|
-
await alphaFeatureOptInButton.
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
261
|
+
if (await alphaFeatureOptInButton.isEnabled()) {
|
|
262
|
+
await alphaFeatureOptInButton.click({ timeout: 90000 });
|
|
263
|
+
await this.optInAICheckbox.scrollIntoViewIfNeeded();
|
|
264
|
+
await this.optInAICheckbox.check({ timeout: 90000 });
|
|
265
|
+
await (0, sleep_1.sleep)(3000);
|
|
266
|
+
}
|
|
265
267
|
}
|
|
266
268
|
//Enable Alpha Feature
|
|
267
269
|
const toggleText = await alphaFeature
|
|
@@ -100,7 +100,7 @@ class FormJsPage {
|
|
|
100
100
|
}
|
|
101
101
|
async selectCluster(clusterName) {
|
|
102
102
|
await (0, test_1.expect)(this.dialog).toBeVisible({ timeout: 30000 });
|
|
103
|
-
const healthCheckTimeout =
|
|
103
|
+
const healthCheckTimeout = 120000;
|
|
104
104
|
const healthyRegex = new RegExp(`${clusterName}[\\s\\S]*?HealthydevManage`);
|
|
105
105
|
const cluster = this.dialog.locator(`[title="${clusterName}"]`);
|
|
106
106
|
await (0, test_1.expect)(cluster).toBeVisible({ timeout: 30000 });
|
|
@@ -14,7 +14,9 @@ class LoginPage {
|
|
|
14
14
|
passwordHeading;
|
|
15
15
|
constructor(page) {
|
|
16
16
|
this.page = page;
|
|
17
|
-
this.usernameInput = page
|
|
17
|
+
this.usernameInput = page
|
|
18
|
+
.getByLabel('Email address')
|
|
19
|
+
.and(page.locator(':not([id="c4-invite-email"])'));
|
|
18
20
|
this.passwordInput = page.getByLabel('Password *');
|
|
19
21
|
this.continueButton = page.getByRole('button', {
|
|
20
22
|
name: 'Continue',
|
|
@@ -31,12 +33,14 @@ class LoginPage {
|
|
|
31
33
|
this.errorMessage = page.getByText('Wrong email or password');
|
|
32
34
|
}
|
|
33
35
|
async fillUsername(username) {
|
|
36
|
+
await this.usernameInput.waitFor({ state: 'visible', timeout: 60000 });
|
|
34
37
|
await this.usernameInput.fill(username);
|
|
35
38
|
}
|
|
36
39
|
async clickContinueButton() {
|
|
37
40
|
await this.continueButton.click({ timeout: 30000 });
|
|
38
41
|
}
|
|
39
42
|
async fillPassword(password) {
|
|
43
|
+
await this.passwordInput.waitFor({ state: 'visible', timeout: 60000 });
|
|
40
44
|
await this.passwordInput.fill(password);
|
|
41
45
|
}
|
|
42
46
|
async clickLoginButton() {
|
|
@@ -54,6 +58,23 @@ class LoginPage {
|
|
|
54
58
|
}
|
|
55
59
|
async loginWithTestUser(credentials = {}) {
|
|
56
60
|
const { username = process.env.C8_USERNAME_TEST, password = process.env.C8_PASSWORD_TEST, } = credentials;
|
|
61
|
+
// SSO re-auth may silently log us back in as the previous user after logout.
|
|
62
|
+
// Detect Console (settings button visible) and retry logout until Auth0 form appears.
|
|
63
|
+
const settingsBtn = this.page.getByLabel('Open Settings');
|
|
64
|
+
const logoutBtn = this.page.getByRole('button', { name: 'Log out' });
|
|
65
|
+
for (let i = 0; i < 3; i++) {
|
|
66
|
+
const onAuth0 = await this.usernameInput
|
|
67
|
+
.waitFor({ state: 'visible', timeout: 15000 })
|
|
68
|
+
.then(() => true)
|
|
69
|
+
.catch(() => false);
|
|
70
|
+
if (onAuth0)
|
|
71
|
+
break;
|
|
72
|
+
if (await settingsBtn.isVisible({ timeout: 3000 })) {
|
|
73
|
+
await settingsBtn.click({ timeout: 30000 });
|
|
74
|
+
await logoutBtn.click({ timeout: 30000 });
|
|
75
|
+
await this.page.waitForLoadState('domcontentloaded', { timeout: 30000 });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
57
78
|
await (0, test_1.expect)(this.usernameInput).toBeVisible({ timeout: 120000 });
|
|
58
79
|
await this.fillUsername(username);
|
|
59
80
|
await this.clickContinueButton();
|
|
@@ -14,6 +14,7 @@ import { ConnectorSettingsPage } from './ConnectorSettingsPage';
|
|
|
14
14
|
import { LoginPage } from './LoginPage';
|
|
15
15
|
import { ConnectorMarketplacePage } from './ConnectorMarketplacePage';
|
|
16
16
|
import { ConnectorTemplatePage } from './ConnectorTemplatePage';
|
|
17
|
+
export declare function forceLogoutIfNeeded(page: Page): Promise<void>;
|
|
17
18
|
export declare function loginWithRetry(page: Page, loginPage: LoginPage, testUser: {
|
|
18
19
|
username: string;
|
|
19
20
|
password: string;
|
|
@@ -1,17 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.waitForLoadingToFinish = exports.assertTestUsesCorrectOrganizationFromModeler = exports.expectCountToBeOneOf = exports.createAPIClient = exports.modelAndRunConnectorsTimerEventDiagram = exports.modelAndRunConnectorsDocHandlingDiagram = exports.deleteCluster = exports.deleteAllUserGroups = exports.assertTestUsesCorrectOrganization = exports.clickInvitationLinkInEmail = exports.assertLatestAlertEmail = exports.enableAuthorizations = exports.disableRBA = exports.runMultipleProcesses = exports.modelDiagramFromFile = exports.runProcess = exports.completeTaskWithRetry = exports.assertPageTextWithRetry = exports.assertLocatorVisibleWithRetry = exports.modelRestConnector = exports.loginWithRetry = void 0;
|
|
3
|
+
exports.waitForLoadingToFinish = exports.assertTestUsesCorrectOrganizationFromModeler = exports.expectCountToBeOneOf = exports.createAPIClient = exports.modelAndRunConnectorsTimerEventDiagram = exports.modelAndRunConnectorsDocHandlingDiagram = exports.deleteCluster = exports.deleteAllUserGroups = exports.assertTestUsesCorrectOrganization = exports.clickInvitationLinkInEmail = exports.assertLatestAlertEmail = exports.enableAuthorizations = exports.disableRBA = exports.runMultipleProcesses = exports.modelDiagramFromFile = exports.runProcess = exports.completeTaskWithRetry = exports.assertPageTextWithRetry = exports.assertLocatorVisibleWithRetry = exports.modelRestConnector = exports.loginWithRetry = exports.forceLogoutIfNeeded = void 0;
|
|
4
4
|
const test_1 = require("@playwright/test");
|
|
5
5
|
const ModelerHomePage_1 = require("./ModelerHomePage");
|
|
6
6
|
const HomePage_1 = require("./HomePage");
|
|
7
7
|
const sleep_1 = require("../../utils/sleep");
|
|
8
8
|
const randomSleep_1 = require("../../utils/randomSleep");
|
|
9
|
+
const SettingsPage_1 = require("./SettingsPage");
|
|
9
10
|
const fileUpload_1 = require("../../utils/fileUpload");
|
|
11
|
+
async function forceLogoutIfNeeded(page) {
|
|
12
|
+
const settingsPage = new SettingsPage_1.SettingsPage(page);
|
|
13
|
+
const loginMessage = page.getByText('Log in to continue to Camunda.');
|
|
14
|
+
try {
|
|
15
|
+
await Promise.race([
|
|
16
|
+
settingsPage.openSettingsButton.waitFor({
|
|
17
|
+
state: 'visible',
|
|
18
|
+
timeout: 30000,
|
|
19
|
+
}),
|
|
20
|
+
loginMessage.waitFor({
|
|
21
|
+
state: 'visible',
|
|
22
|
+
timeout: 30000,
|
|
23
|
+
}),
|
|
24
|
+
]);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// Neither appeared within 30s - continue without logout
|
|
28
|
+
}
|
|
29
|
+
if (await settingsPage.openSettingsButton.isVisible({ timeout: 1000 })) {
|
|
30
|
+
await settingsPage.clickOpenSettingsButton();
|
|
31
|
+
await settingsPage.clickLogoutButton();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.forceLogoutIfNeeded = forceLogoutIfNeeded;
|
|
10
35
|
async function loginWithRetry(page, loginPage, testUser, timeout, maxRetries = 3) {
|
|
11
36
|
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
12
37
|
try {
|
|
13
38
|
await page.goto('/');
|
|
14
39
|
await (0, sleep_1.sleep)(timeout);
|
|
40
|
+
await (0, test_1.expect)(loginPage.loginMessage).toBeVisible({ timeout: 60000 });
|
|
15
41
|
await loginPage.login(testUser);
|
|
16
42
|
return;
|
|
17
43
|
}
|
|
@@ -308,6 +308,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
308
308
|
await modelerCreatePage.clickViewProcessInstanceLink();
|
|
309
309
|
const operateTab = await page.waitForEvent('popup');
|
|
310
310
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
311
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
311
312
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'Completed icon', 60000);
|
|
312
313
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTab.getByTestId('variables-list'), 'Variable list', 30000);
|
|
313
314
|
(0, test_1.expect)((await operateTabProcessInstancePage.connectorResultVariableName('publicHolidayList')).isVisible()).toBeTruthy();
|
|
@@ -86,11 +86,19 @@ _8_8_1.test.describe('Console User Flow Tests @tasklistV2', () => {
|
|
|
86
86
|
await clusterPage.clickClusterLink(alertFlowClusterName);
|
|
87
87
|
await clusterDetailsPage.clickAlertsTab();
|
|
88
88
|
await clusterDetailsPage.deleteAlerts();
|
|
89
|
-
|
|
89
|
+
await test_1.expect
|
|
90
|
+
.poll(async () => clusterDetailsPage.alertsList.count(), {
|
|
91
|
+
timeout: 30000,
|
|
92
|
+
})
|
|
93
|
+
.toBe(0);
|
|
90
94
|
});
|
|
91
95
|
await _8_8_1.test.step('Create First Email Alert', async () => {
|
|
92
96
|
await clusterDetailsPage.createAlert(true);
|
|
93
|
-
|
|
97
|
+
await test_1.expect
|
|
98
|
+
.poll(async () => clusterDetailsPage.alertsList.count(), {
|
|
99
|
+
timeout: 30000,
|
|
100
|
+
})
|
|
101
|
+
.toBeGreaterThan(1);
|
|
94
102
|
await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(0)).toContainText(`Email`);
|
|
95
103
|
await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText(testUser.username);
|
|
96
104
|
await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText((0, formatDate_1.formatDate)());
|
|
@@ -68,12 +68,10 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
|
|
|
68
68
|
await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.authorizationAllPermissions)(role));
|
|
69
69
|
});
|
|
70
70
|
await _8_8_1.test.step('Clear cookies and reset session', async () => {
|
|
71
|
-
await
|
|
72
|
-
await
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
});
|
|
76
|
-
await page.goto('/');
|
|
71
|
+
await appsPage.clickCamundaApps();
|
|
72
|
+
await appsPage.clickConsoleLink();
|
|
73
|
+
await settingsPage.clickOpenSettingsButton();
|
|
74
|
+
await settingsPage.clickLogoutButton();
|
|
77
75
|
await loginPage.loginWithTestUser(testUser);
|
|
78
76
|
});
|
|
79
77
|
await _8_8_1.test.step('Navigate to Web Modeler', async () => {
|
|
@@ -106,12 +104,10 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
|
|
|
106
104
|
await (0, sleep_1.sleep)(20000);
|
|
107
105
|
});
|
|
108
106
|
await _8_8_1.test.step('Login as Test User', async () => {
|
|
109
|
-
await
|
|
110
|
-
await
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
});
|
|
114
|
-
await page.goto('/');
|
|
107
|
+
await appsPage.clickCamundaApps();
|
|
108
|
+
await appsPage.clickConsoleLink();
|
|
109
|
+
await settingsPage.clickOpenSettingsButton();
|
|
110
|
+
await settingsPage.clickLogoutButton();
|
|
115
111
|
await loginPage.loginWithTestUser(testUser);
|
|
116
112
|
});
|
|
117
113
|
await _8_8_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Accessible', async () => {
|
|
@@ -201,12 +197,10 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
|
|
|
201
197
|
await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.roleAllAuthorization)(role1));
|
|
202
198
|
});
|
|
203
199
|
await _8_8_1.test.step('Clear cookies and reset session', async () => {
|
|
204
|
-
await
|
|
205
|
-
await
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
});
|
|
209
|
-
await page.goto('/');
|
|
200
|
+
await appsPage.clickCamundaApps();
|
|
201
|
+
await appsPage.clickConsoleLink();
|
|
202
|
+
await settingsPage.clickOpenSettingsButton();
|
|
203
|
+
await settingsPage.clickLogoutButton();
|
|
210
204
|
});
|
|
211
205
|
await _8_8_1.test.step('Login as Test User', async () => {
|
|
212
206
|
await loginPage.loginWithTestUser(testUser);
|
|
@@ -241,12 +235,10 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
|
|
|
241
235
|
await (0, sleep_1.sleep)(20000);
|
|
242
236
|
});
|
|
243
237
|
await _8_8_1.test.step('Login as Test User', async () => {
|
|
244
|
-
await
|
|
245
|
-
await
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
});
|
|
249
|
-
await page.goto('/');
|
|
238
|
+
await appsPage.clickCamundaApps();
|
|
239
|
+
await appsPage.clickConsoleLink();
|
|
240
|
+
await settingsPage.clickOpenSettingsButton();
|
|
241
|
+
await settingsPage.clickLogoutButton();
|
|
250
242
|
await loginPage.loginWithTestUser(testUser);
|
|
251
243
|
});
|
|
252
244
|
await _8_8_1.test.step('Navigate to Tasklist and Both Processes Are Accessible', async () => {
|
|
@@ -382,7 +374,7 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
|
|
|
382
374
|
await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2);
|
|
383
375
|
});
|
|
384
376
|
});
|
|
385
|
-
(0, _8_8_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, }, testInfo) => {
|
|
377
|
+
(0, _8_8_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) => {
|
|
386
378
|
_8_8_1.test.slow();
|
|
387
379
|
const clusterName = clusterNames[testInfo.title];
|
|
388
380
|
const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
@@ -422,12 +414,10 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
|
|
|
422
414
|
await (0, sleep_1.sleep)(15000);
|
|
423
415
|
});
|
|
424
416
|
await _8_8_1.test.step('Clear cookies and reset session', async () => {
|
|
425
|
-
await
|
|
426
|
-
await
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
});
|
|
430
|
-
await page.goto('/');
|
|
417
|
+
await appsPage.clickCamundaApps();
|
|
418
|
+
await appsPage.clickConsoleLink();
|
|
419
|
+
await settingsPage.clickOpenSettingsButton();
|
|
420
|
+
await settingsPage.clickLogoutButton();
|
|
431
421
|
await loginPage.loginWithTestUser(testUser);
|
|
432
422
|
});
|
|
433
423
|
await _8_8_1.test.step('Navigate to Web Modeler', async () => {
|
|
@@ -201,8 +201,17 @@ _8_8_1.test.describe('Smoke Tests', () => {
|
|
|
201
201
|
timeout: TIMEOUT.navigation,
|
|
202
202
|
});
|
|
203
203
|
const operateProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
204
|
-
await
|
|
205
|
-
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(
|
|
204
|
+
await operateProcessInstancePage.closePopOverIfVisible();
|
|
205
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(operateTab, operateProcessInstancePage.completedIcon, { totalTimeout: TIMEOUT.processComplete, maxRetries: 5 });
|
|
206
|
+
await operateProcessInstancePage.closePopOverIfVisible();
|
|
207
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(operateTab, operateProcessInstancePage.variablesList, {
|
|
208
|
+
totalTimeout: TIMEOUT.navigation,
|
|
209
|
+
maxRetries: 7,
|
|
210
|
+
postAction: async () => {
|
|
211
|
+
await operateTab.reload();
|
|
212
|
+
await operateProcessInstancePage.closePopOverIfVisible();
|
|
213
|
+
},
|
|
214
|
+
});
|
|
206
215
|
await (0, test_1.expect)(operateProcessInstancePage.connectorResultVariableName('message')).toBeVisible({
|
|
207
216
|
timeout: TIMEOUT.short,
|
|
208
217
|
});
|
|
@@ -88,9 +88,19 @@ _8_8_1.test.describe.parallel('UTR Enabled User Flows Test @tasklistV1', () => {
|
|
|
88
88
|
await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
|
|
89
89
|
timeout: 60000,
|
|
90
90
|
});
|
|
91
|
-
await (0, expectTextWithRetry_1.expectTextWithRetry)(page, taskName1
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
await (0, expectTextWithRetry_1.expectTextWithRetry)(page, taskName1, {
|
|
92
|
+
totalTimeout: 120000,
|
|
93
|
+
maxRetries: 5,
|
|
94
|
+
});
|
|
95
|
+
await (0, expectTextWithRetry_1.expectTextWithRetry)(page, taskName2, {
|
|
96
|
+
shouldBeVisible: false,
|
|
97
|
+
totalTimeout: 120000,
|
|
98
|
+
maxRetries: 5,
|
|
99
|
+
});
|
|
100
|
+
await (0, expectTextWithRetry_1.expectTextWithRetry)(page, taskName3, {
|
|
101
|
+
totalTimeout: 180000,
|
|
102
|
+
maxRetries: 7,
|
|
103
|
+
});
|
|
94
104
|
});
|
|
95
105
|
});
|
|
96
106
|
(0, _8_8_1.test)('User Task Restrictions Enabled Flow - Candidate Group', async ({ page, modelerHomePage, appsPage, modelerCreatePage, taskPanelPage, ocIdentityGroupsPage, ocIdentityHomePage, }) => {
|
|
@@ -182,8 +192,8 @@ _8_8_1.test.describe.parallel('UTR Enabled User Flows Test @tasklistV1', () => {
|
|
|
182
192
|
});
|
|
183
193
|
await (0, expectTextWithRetry_1.expectTextWithRetry)(page, taskName1);
|
|
184
194
|
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, page.getByText(taskName2).first().or(page.getByText(taskName2).last()), {
|
|
185
|
-
totalTimeout:
|
|
186
|
-
maxRetries:
|
|
195
|
+
totalTimeout: 180000,
|
|
196
|
+
maxRetries: 8,
|
|
187
197
|
postAction: async () => {
|
|
188
198
|
await page.reload();
|
|
189
199
|
},
|
|
@@ -11,7 +11,6 @@ const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
|
|
|
11
11
|
const deleteOrg_1 = require("../../utils/deleteOrg");
|
|
12
12
|
const sleep_1 = require("../../utils/sleep");
|
|
13
13
|
const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
|
|
14
|
-
const resetSession_1 = require("../../utils/resetSession");
|
|
15
14
|
const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
|
|
16
15
|
const users_1 = require("../../utils/users");
|
|
17
16
|
const testUser = (0, users_1.getTestUser)('eleventhUser');
|
|
@@ -407,7 +406,8 @@ _8_8_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
407
406
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateProcessInstancePage, operateProcessInstancePage.completedIcon, 'Completed icon', 60000, false, 5);
|
|
408
407
|
});
|
|
409
408
|
});
|
|
410
|
-
|
|
409
|
+
//Skipped due to bug 22577: https://github.com/camunda/camunda-hub/issues/22577
|
|
410
|
+
_8_8_1.test.skip('Public Start Form @tasklistV1', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, taskDetailsPage, loginPage, taskPanelPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
411
411
|
const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
412
412
|
const processName = 'User_Task_Process_With_Public_Form' + randomString;
|
|
413
413
|
const formName = 'Public form' + randomString;
|
|
@@ -452,7 +452,12 @@ _8_8_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
452
452
|
await (0, sleep_1.sleep)(1000);
|
|
453
453
|
});
|
|
454
454
|
await _8_8_1.test.step('Clear Cookies and Reset Session', async () => {
|
|
455
|
-
await (
|
|
455
|
+
await page.context().clearCookies();
|
|
456
|
+
await page.evaluate(() => {
|
|
457
|
+
localStorage.clear();
|
|
458
|
+
sessionStorage.clear();
|
|
459
|
+
});
|
|
460
|
+
await page.goto('/');
|
|
456
461
|
});
|
|
457
462
|
await _8_8_1.test.step('Access Public Form After Session Reset and Submit the Form', async () => {
|
|
458
463
|
console.log('Navigating to public form:', publicFormLink);
|