@camunda/e2e-test-suite 0.0.288 → 0.0.290
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.9/ClusterDetailsPage.js +12 -0
- package/dist/pages/8.9/ClusterSecretsPage.js +2 -0
- package/dist/pages/8.9/OperateProcessInstancePage.d.ts +3 -0
- package/dist/pages/8.9/OperateProcessInstancePage.js +14 -0
- package/dist/pages/8.9/UtilitiesPage.js +1 -1
- package/dist/tests/8.9/connectors-user-flows.spec.js +5 -0
- package/dist/tests/8.9/console-user-flows.spec.js +11 -7
- package/dist/tests/8.9/hto-user-flows.spec.js +2 -0
- package/dist/tests/8.9/navigation.spec.js +0 -1
- package/dist/tests/8.9/optimize-user-flows.spec.js +62 -64
- package/dist/tests/8.9/smoke-tests.spec.js +1 -1
- package/dist/tests/8.9/test-setup.spec.js +0 -1
- package/dist/tests/8.9/web-modeler-user-flows.spec.js +4 -56
- package/package.json +1 -1
|
@@ -201,11 +201,13 @@ class ClusterDetailsPage {
|
|
|
201
201
|
// Click the second toggle switch element
|
|
202
202
|
await toggleSwitchElements[1].click();
|
|
203
203
|
if (await this.dialog.isVisible({ timeout: 15000 })) {
|
|
204
|
+
await (0, test_1.expect)(this.rbaEnableButton).toBeVisible({ timeout: 30000 });
|
|
204
205
|
await this.rbaEnableButton.click({ timeout: 30000 });
|
|
205
206
|
await (0, test_1.expect)(this.page.getByText('Enabling...')).not.toBeVisible({
|
|
206
207
|
timeout: 60000,
|
|
207
208
|
});
|
|
208
209
|
}
|
|
210
|
+
await (0, sleep_1.sleep)(10000);
|
|
209
211
|
console.log('Second toggle switch clicked.');
|
|
210
212
|
}
|
|
211
213
|
else {
|
|
@@ -237,6 +239,15 @@ class ClusterDetailsPage {
|
|
|
237
239
|
// Click the second toggle switch element
|
|
238
240
|
await toggleSwitchElements[1].click();
|
|
239
241
|
console.log('Second toggle switch clicked.');
|
|
242
|
+
if (await this.dialog.isVisible()) {
|
|
243
|
+
await (0, test_1.expect)(this.rbaDisableButton).toBeVisible({ timeout: 30000 });
|
|
244
|
+
await this.rbaDisableButton.click({ timeout: 30000 });
|
|
245
|
+
await (0, test_1.expect)(this.page.getByText('Disabling...')).not.toBeVisible({
|
|
246
|
+
timeout: 60000,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
console.log('Second toggle switch clicked.');
|
|
250
|
+
await (0, sleep_1.sleep)(10000);
|
|
240
251
|
}
|
|
241
252
|
else {
|
|
242
253
|
console.log('Second toggle switch not found or less than 2.');
|
|
@@ -308,6 +319,7 @@ class ClusterDetailsPage {
|
|
|
308
319
|
await (0, test_1.expect)(this.createAlertsDialog).toBeVisible();
|
|
309
320
|
await this.selectEmailRadioButton();
|
|
310
321
|
await this.clickCreateAlertButton();
|
|
322
|
+
await (0, sleep_1.sleep)(5000);
|
|
311
323
|
}
|
|
312
324
|
async selectEmailRadioButton() {
|
|
313
325
|
await (0, test_1.expect)(this.emailRadioButton).toBeVisible({ timeout: 60000 });
|
|
@@ -216,6 +216,8 @@ class ClusterSecretsPage {
|
|
|
216
216
|
await (0, test_1.expect)(this.createNewSecretButton).toBeVisible({
|
|
217
217
|
timeout: 60000,
|
|
218
218
|
});
|
|
219
|
+
await this.page.reload();
|
|
220
|
+
await (0, sleep_1.sleep)(5000);
|
|
219
221
|
}
|
|
220
222
|
}
|
|
221
223
|
exports.ClusterSecretsPage = ClusterSecretsPage;
|
|
@@ -11,9 +11,12 @@ declare class OperateProcessInstancePage {
|
|
|
11
11
|
readonly connectorResultVariableName: (name: string) => Locator;
|
|
12
12
|
readonly variablesList: Locator;
|
|
13
13
|
readonly messageVariable: Locator;
|
|
14
|
+
readonly whatsNewPopUp: Locator;
|
|
15
|
+
readonly gotItButton: Locator;
|
|
14
16
|
constructor(page: Page);
|
|
15
17
|
connectorResultVariableValue(variableName: string): Promise<Locator>;
|
|
16
18
|
reload(): Promise<void>;
|
|
19
|
+
closePopOverIfVisible(): Promise<void>;
|
|
17
20
|
assertProcessCompleteStatusWithRetry(timeout?: number, maxRetries?: number): Promise<void>;
|
|
18
21
|
assertProcessVariableContainsText(variableName: string, text: string): Promise<void>;
|
|
19
22
|
clickDiagramTask(taskName: string): Promise<void>;
|
|
@@ -15,6 +15,8 @@ class OperateProcessInstancePage {
|
|
|
15
15
|
connectorResultVariableName;
|
|
16
16
|
variablesList;
|
|
17
17
|
messageVariable;
|
|
18
|
+
whatsNewPopUp;
|
|
19
|
+
gotItButton;
|
|
18
20
|
constructor(page) {
|
|
19
21
|
this.page = page;
|
|
20
22
|
this.diagram = page.getByTestId('diagram');
|
|
@@ -35,6 +37,10 @@ class OperateProcessInstancePage {
|
|
|
35
37
|
this.connectorResultVariableName = (name) => page.getByTestId('variable-' + name);
|
|
36
38
|
this.variablesList = page.getByTestId('variables-list');
|
|
37
39
|
this.messageVariable = page.getByTestId('variable-message');
|
|
40
|
+
this.whatsNewPopUp = page.getByRole('heading', {
|
|
41
|
+
name: "Here's what moved in Operate",
|
|
42
|
+
});
|
|
43
|
+
this.gotItButton = page.getByRole('button', { name: 'Got it' });
|
|
38
44
|
}
|
|
39
45
|
async connectorResultVariableValue(variableName) {
|
|
40
46
|
return await this.page.getByTestId(variableName).locator('td').last();
|
|
@@ -42,6 +48,14 @@ class OperateProcessInstancePage {
|
|
|
42
48
|
async reload() {
|
|
43
49
|
await this.page.reload();
|
|
44
50
|
}
|
|
51
|
+
async closePopOverIfVisible() {
|
|
52
|
+
await (0, test_1.expect)(this.page.getByText('Instance History').first()).toBeVisible({
|
|
53
|
+
timeout: 60000,
|
|
54
|
+
});
|
|
55
|
+
if (await this.whatsNewPopUp.isVisible()) {
|
|
56
|
+
await this.gotItButton.click();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
45
59
|
async assertProcessCompleteStatusWithRetry(timeout = 60000, maxRetries = 10) {
|
|
46
60
|
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
47
61
|
try {
|
|
@@ -282,7 +282,7 @@ async function clickInvitationLinkInEmail(page, id) {
|
|
|
282
282
|
}
|
|
283
283
|
exports.clickInvitationLinkInEmail = clickInvitationLinkInEmail;
|
|
284
284
|
async function assertLatestAlertEmail(id, mailSlurp, processName, alertText) {
|
|
285
|
-
const maxRetries =
|
|
285
|
+
const maxRetries = 5;
|
|
286
286
|
for (let retries = 0; retries < maxRetries; retries++) {
|
|
287
287
|
try {
|
|
288
288
|
const email = await mailSlurp.waitForLatestEmail(id, 120000);
|
|
@@ -53,6 +53,7 @@ _8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
53
53
|
await modelerCreatePage.clickViewProcessInstanceLink();
|
|
54
54
|
const operateTab = await page.waitForEvent('popup', { timeout: 60000 });
|
|
55
55
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
56
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
56
57
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'Completed icon', 60000);
|
|
57
58
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTabProcessInstancePage.variablesList, 'Variable list', 30000);
|
|
58
59
|
await (0, test_1.expect)(operateTabProcessInstancePage.connectorResultVariableName('status')).toBeVisible({
|
|
@@ -94,6 +95,7 @@ _8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
94
95
|
await modelerCreatePage.clickViewProcessInstanceLink();
|
|
95
96
|
const operateTab = await page.waitForEvent('popup', { timeout: 60000 });
|
|
96
97
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
98
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
97
99
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'Completed icon', 60000);
|
|
98
100
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTabProcessInstancePage.variablesList, 'Variable list', 60000);
|
|
99
101
|
await (0, test_1.expect)(operateTabProcessInstancePage.connectorResultVariableName('message')).toBeVisible({
|
|
@@ -320,6 +322,7 @@ _8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
320
322
|
await modelerCreatePage.clickViewProcessInstanceLink();
|
|
321
323
|
const operateTab = await page.waitForEvent('popup');
|
|
322
324
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
325
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
323
326
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'Completed icon', 60000);
|
|
324
327
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTab.getByTestId('variables-list'), 'Variable list', 30000);
|
|
325
328
|
(0, test_1.expect)((await operateTabProcessInstancePage.connectorResultVariableName('publicHolidayList')).isVisible()).toBeTruthy();
|
|
@@ -424,6 +427,7 @@ _8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
424
427
|
const operateTabPromise = page.waitForEvent('popup', { timeout: 60000 });
|
|
425
428
|
const operateTab = await operateTabPromise;
|
|
426
429
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
430
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
427
431
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'completed icon');
|
|
428
432
|
await operateTabProcessInstancePage.assertProcessVariableContainsText('doc', 'gcp');
|
|
429
433
|
await operateTabProcessInstancePage.assertProcessVariableContainsText('doc', '14e564c347119f8bdde27c80ff5b3cb8d92709c5a6177b74cde568c5503c1f12');
|
|
@@ -463,6 +467,7 @@ _8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
463
467
|
const operateTabPromise = page.waitForEvent('popup', { timeout: 60000 });
|
|
464
468
|
const operateTab = await operateTabPromise;
|
|
465
469
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
470
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
466
471
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.activeIcon, 'Active icon', 60000);
|
|
467
472
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'Completed icon');
|
|
468
473
|
await (0, test_1.expect)(operateTab.getByText('["20A","20B"]')).toBeVisible({
|
|
@@ -9,6 +9,7 @@ const UtilitiesPage_1 = require("../../pages/8.9/UtilitiesPage");
|
|
|
9
9
|
const sleep_1 = require("../../utils/sleep");
|
|
10
10
|
const users_1 = require("../../utils/users");
|
|
11
11
|
const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
|
|
12
|
+
const constants_1 = require("../../utils/constants");
|
|
12
13
|
const testUser = (0, users_1.getTestUser)('eighteenthUser');
|
|
13
14
|
_8_9_1.test.describe.configure({ mode: 'parallel' });
|
|
14
15
|
_8_9_1.test.describe('Console User Flow Tests @tasklistV2', () => {
|
|
@@ -66,6 +67,7 @@ _8_9_1.test.describe('Console User Flow Tests @tasklistV2', () => {
|
|
|
66
67
|
const operateTabPromise = page.waitForEvent('popup', { timeout: 60000 });
|
|
67
68
|
const operateTab = await operateTabPromise;
|
|
68
69
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
70
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
69
71
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'completed icon in Operate', 60000);
|
|
70
72
|
});
|
|
71
73
|
});
|
|
@@ -90,11 +92,13 @@ _8_9_1.test.describe('Console User Flow Tests @tasklistV2', () => {
|
|
|
90
92
|
});
|
|
91
93
|
await _8_9_1.test.step('Create First Email Alert', async () => {
|
|
92
94
|
await clusterDetailsPage.createAlert(true);
|
|
93
|
-
(0, test_1.expect)(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
await (0, test_1.expect)(async () => {
|
|
96
|
+
(0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
|
|
97
|
+
await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(0)).toContainText(`Email`);
|
|
98
|
+
await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText(testUser.username);
|
|
99
|
+
await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText((0, formatDate_1.formatDate)());
|
|
100
|
+
await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText('Amount triggered0');
|
|
101
|
+
}).toPass(constants_1.defaultAssertionOptions);
|
|
98
102
|
});
|
|
99
103
|
await _8_9_1.test.step('Navigate to Web Modeler', async () => {
|
|
100
104
|
await appsPage.clickCamundaApps();
|
|
@@ -141,9 +145,9 @@ _8_9_1.test.describe('Console User Flow Tests @tasklistV2', () => {
|
|
|
141
145
|
timeout: 20000,
|
|
142
146
|
});
|
|
143
147
|
(0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
|
|
148
|
+
await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(0)).toContainText(`Email`);
|
|
149
|
+
await clusterDetailsPage.assertAlertText('Amount triggered1');
|
|
144
150
|
}).toPass({ timeout: 60000 });
|
|
145
|
-
await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(0)).toContainText(`Email`);
|
|
146
|
-
await clusterDetailsPage.assertAlertText('Amount triggered1');
|
|
147
151
|
});
|
|
148
152
|
await _8_9_1.test.step('Verify Alerts Received via Email for Incident', async () => {
|
|
149
153
|
await (0, sleep_1.sleep)(60000);
|
|
@@ -61,6 +61,7 @@ _8_9_1.test.describe('HTO User Flow Tests', () => {
|
|
|
61
61
|
const operateTabTaskPanelPage = new TaskPanelPage_1.TaskPanelPage(operateTab);
|
|
62
62
|
const operateTabTaskDetailsPage = new TaskDetailsPage_1.TaskDetailsPage(operateTab);
|
|
63
63
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
64
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
64
65
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.activeIcon, 'active icon');
|
|
65
66
|
await operateTabAppsPage.clickCamundaApps();
|
|
66
67
|
await operateTabAppsPage.clickTasklist(clusterName);
|
|
@@ -166,6 +167,7 @@ _8_9_1.test.describe('HTO User Flow Tests', () => {
|
|
|
166
167
|
const operateTabAppsPage = new AppsPage_1.AppsPage(operateTab);
|
|
167
168
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
168
169
|
const operateTabTaskPanelPage = new TaskPanelPage_1.TaskPanelPage(operateTab);
|
|
170
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
169
171
|
await (0, test_1.expect)(operateTabProcessInstancePage.activeIcon).toBeVisible({
|
|
170
172
|
timeout: 1200000,
|
|
171
173
|
});
|
|
@@ -8,7 +8,6 @@ const users_1 = require("../../utils/users");
|
|
|
8
8
|
const testUser = (0, users_1.getTestUser)('twentyFirstUser');
|
|
9
9
|
_8_9_1.test.describe.configure({ mode: 'parallel' });
|
|
10
10
|
_8_9_1.test.describe('Navigation Tests', () => {
|
|
11
|
-
_8_9_1.test.skip(process.env.IS_AG === 'true', 'Skipping Navigation Tests due to console breaking changes');
|
|
12
11
|
const clusterName = 'Test Cluster';
|
|
13
12
|
_8_9_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
|
|
14
13
|
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
|
|
@@ -7,9 +7,6 @@ const AppsPage_1 = require("../../pages/8.9/AppsPage");
|
|
|
7
7
|
const OptimizeCollectionsPage_1 = require("../../pages/8.9/OptimizeCollectionsPage");
|
|
8
8
|
const OperateProcessInstancePage_1 = require("../../pages/8.9/OperateProcessInstancePage");
|
|
9
9
|
const OptimizeHomePage_1 = require("../../pages/8.9/OptimizeHomePage");
|
|
10
|
-
const ModelerCreatePage_1 = require("../../pages/8.9/ModelerCreatePage");
|
|
11
|
-
const ModelerHomePage_1 = require("../../pages/8.9/ModelerHomePage");
|
|
12
|
-
const OptimizeReportPage_1 = require("../../pages/8.9/OptimizeReportPage");
|
|
13
10
|
const OptimizeDashboardPage_1 = require("../../pages/8.9/OptimizeDashboardPage");
|
|
14
11
|
const sleep_1 = require("../../utils/sleep");
|
|
15
12
|
const UtilitiesPage_1 = require("../../pages/8.9/UtilitiesPage");
|
|
@@ -25,7 +22,7 @@ _8_9_1.test.describe('Optimize User Flow Tests', () => {
|
|
|
25
22
|
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
26
23
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
27
24
|
});
|
|
28
|
-
(0, _8_9_1.test)('Job Worker User Task User Flow @tasklistV1', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, }) => {
|
|
25
|
+
(0, _8_9_1.test)('Job Worker User Task User Flow @tasklistV1', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, operateHomePage, operateProcessesPage, operateProcessInstancePage, optimizeCollectionsPage, optimizeReportPage, optimizeHomePage, }) => {
|
|
29
26
|
_8_9_1.test.slow();
|
|
30
27
|
const reportName = await (0, _setup_1.generateRandomStringAsync)(5);
|
|
31
28
|
const processName = 'Optimize Job Worker User Task Diagram' + reportName;
|
|
@@ -47,82 +44,81 @@ _8_9_1.test.describe('Optimize User Flow Tests', () => {
|
|
|
47
44
|
await _8_9_1.test.step('Create BPMN Diagram with User Task and Start Process Instance', async () => {
|
|
48
45
|
await modelerCreatePage.modelJobWorkerDiagram(processName);
|
|
49
46
|
await modelerCreatePage.runProcessInstance(clusterName);
|
|
47
|
+
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
48
|
+
timeout: 120000,
|
|
49
|
+
});
|
|
50
50
|
});
|
|
51
51
|
await _8_9_1.test.step('View Process Instance in Operate, Create User Task Report in Optimize, Start Another Process Instance in Modeler & Assert the Report Updates', async () => {
|
|
52
|
-
await
|
|
52
|
+
await appsPage.clickCamundaApps();
|
|
53
|
+
await appsPage.clickOperate(clusterName);
|
|
54
|
+
await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
|
|
55
|
+
timeout: 60000,
|
|
56
|
+
});
|
|
57
|
+
await operateHomePage.clickProcessesTab();
|
|
58
|
+
await operateProcessesPage.clickProcessInstanceLink(processName);
|
|
59
|
+
await (0, test_1.expect)(operateProcessInstancePage.activeIcon).toBeVisible({
|
|
53
60
|
timeout: 120000,
|
|
54
61
|
});
|
|
55
|
-
await
|
|
56
|
-
|
|
57
|
-
const operateTab = await operateTabPromise;
|
|
58
|
-
const operateTabAppsPage = new AppsPage_1.AppsPage(operateTab);
|
|
59
|
-
const operateTabOperateProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
60
|
-
await (0, test_1.expect)(operateTabOperateProcessInstancePage.activeIcon).toBeVisible({ timeout: 120000 });
|
|
61
|
-
await operateTabAppsPage.clickCamundaApps();
|
|
62
|
-
await operateTabAppsPage.clickOptimize(clusterName);
|
|
63
|
-
const optimizeTabOptimizeCollectionsPage = new OptimizeCollectionsPage_1.OptimizeCollectionsPage(operateTab);
|
|
64
|
-
const optimizeTabOptimizeReportPage = new OptimizeReportPage_1.OptimizeReportPage(operateTab);
|
|
65
|
-
const optimizeTabAppsPage = new AppsPage_1.AppsPage(operateTab);
|
|
66
|
-
const modelerTabModelerCreatePage = new ModelerCreatePage_1.ModelerCreatePage(operateTab);
|
|
67
|
-
const modelerTabModelerHomePage = new ModelerHomePage_1.ModelerHomePage(operateTab);
|
|
68
|
-
const optimizeHomePage = new OptimizeHomePage_1.OptimizeHomePage(operateTab);
|
|
62
|
+
await appsPage.clickCamundaApps();
|
|
63
|
+
await appsPage.clickOptimize(clusterName);
|
|
69
64
|
await (0, sleep_1.sleep)(120000);
|
|
70
|
-
await
|
|
71
|
-
await
|
|
72
|
-
await
|
|
73
|
-
await
|
|
74
|
-
await
|
|
75
|
-
await (0, test_1.expect)(
|
|
65
|
+
await page.reload();
|
|
66
|
+
await optimizeCollectionsPage.clickCreateNewButtonWithRetry();
|
|
67
|
+
await optimizeCollectionsPage.clickReportOption();
|
|
68
|
+
await optimizeReportPage.clickProcessSelectionButton();
|
|
69
|
+
await optimizeReportPage.clickUserTaskProcess(processName);
|
|
70
|
+
await (0, test_1.expect)(optimizeReportPage.versionSelection).toBeVisible({
|
|
76
71
|
timeout: 30000,
|
|
77
72
|
});
|
|
78
|
-
await
|
|
79
|
-
await
|
|
80
|
-
await
|
|
81
|
-
await
|
|
82
|
-
await
|
|
83
|
-
await
|
|
84
|
-
await
|
|
85
|
-
await (0, test_1.expect)(
|
|
73
|
+
await optimizeReportPage.clickVersionSelection();
|
|
74
|
+
await optimizeReportPage.clickAlwaysDisplayLatestSelection();
|
|
75
|
+
await optimizeReportPage.clickBlankReportButton();
|
|
76
|
+
await optimizeReportPage.clickCreateReportLink();
|
|
77
|
+
await optimizeReportPage.clickSelectDropdown();
|
|
78
|
+
await optimizeReportPage.clickUserTaskOption();
|
|
79
|
+
await optimizeReportPage.clickHeatMapButton();
|
|
80
|
+
await (0, test_1.expect)(optimizeReportPage.tableOption).toBeVisible({
|
|
86
81
|
timeout: 90000,
|
|
87
82
|
});
|
|
88
|
-
await
|
|
89
|
-
await
|
|
90
|
-
await
|
|
91
|
-
await
|
|
92
|
-
await
|
|
83
|
+
await optimizeReportPage.clickTableOption();
|
|
84
|
+
await optimizeReportPage.clickReportName();
|
|
85
|
+
await optimizeReportPage.clearReportName();
|
|
86
|
+
await optimizeReportPage.fillReportName(reportName);
|
|
87
|
+
await optimizeReportPage.clickSaveButton();
|
|
93
88
|
await optimizeHomePage.clickCollectionsLink();
|
|
94
|
-
await (0, test_1.expect)(
|
|
89
|
+
await (0, test_1.expect)(page.getByText(reportName)).toBeVisible({
|
|
95
90
|
timeout: 60000,
|
|
96
91
|
});
|
|
97
|
-
await
|
|
98
|
-
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(
|
|
99
|
-
await
|
|
100
|
-
await
|
|
101
|
-
await
|
|
102
|
-
await
|
|
103
|
-
await
|
|
104
|
-
await (0, test_1.expect)(
|
|
105
|
-
|
|
106
|
-
|
|
92
|
+
await optimizeCollectionsPage.clickMostRecentProcessReport(reportName);
|
|
93
|
+
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, optimizeReportPage.oneUserTaskInstance, 'One user task count', 30000);
|
|
94
|
+
await appsPage.clickCamundaApps();
|
|
95
|
+
await appsPage.clickModeler();
|
|
96
|
+
await modelerHomePage.clickCrossComponentProjectFolder();
|
|
97
|
+
await modelerHomePage.clickProcessDiagram(processName);
|
|
98
|
+
await modelerCreatePage.runProcessInstance(clusterName);
|
|
99
|
+
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
100
|
+
timeout: 120000,
|
|
101
|
+
});
|
|
102
|
+
await appsPage.clickCamundaApps();
|
|
103
|
+
await appsPage.clickOperate(clusterName);
|
|
104
|
+
await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
|
|
107
105
|
timeout: 60000,
|
|
108
106
|
});
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
await (0, test_1.expect)(newOperateTabOperateProcessInstancePage.diagramSpinner).not.toBeVisible({
|
|
107
|
+
await operateHomePage.clickProcessesTab();
|
|
108
|
+
await operateProcessesPage.clickProcessInstanceLink(processName);
|
|
109
|
+
await (0, test_1.expect)(operateProcessInstancePage.diagramSpinner).not.toBeVisible({
|
|
113
110
|
timeout: 60000,
|
|
114
111
|
});
|
|
115
|
-
await (0, test_1.expect)(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
await
|
|
122
|
-
await
|
|
123
|
-
await
|
|
124
|
-
await (0,
|
|
125
|
-
await (0, test_1.expect)(newOptimizeTabOptimizeReportPage.oneUserTaskInstance).not.toBeVisible();
|
|
112
|
+
await (0, test_1.expect)(operateProcessInstancePage.activeIcon).toBeVisible({
|
|
113
|
+
timeout: 60000,
|
|
114
|
+
});
|
|
115
|
+
await appsPage.clickCamundaApps();
|
|
116
|
+
await appsPage.clickOptimize(clusterName);
|
|
117
|
+
await optimizeHomePage.clickCollectionsLink();
|
|
118
|
+
await (0, test_1.expect)(page.getByText(reportName)).toBeVisible();
|
|
119
|
+
await optimizeCollectionsPage.clickMostRecentProcessReport(reportName);
|
|
120
|
+
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, optimizeReportPage.twoUserTaskInstance, 'Two user tasks count', 30000);
|
|
121
|
+
await (0, test_1.expect)(optimizeReportPage.oneUserTaskInstance).not.toBeVisible();
|
|
126
122
|
});
|
|
127
123
|
});
|
|
128
124
|
(0, _8_9_1.test)('New Instances Updated Flow @tasklistV1', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, optimizeCollectionsPage, optimizeReportPage, optimizeHomePage, }) => {
|
|
@@ -191,6 +187,7 @@ _8_9_1.test.describe('Optimize User Flow Tests', () => {
|
|
|
191
187
|
const newOperateTab = await page.waitForEvent('popup');
|
|
192
188
|
const newOperateTabAppsPage = new AppsPage_1.AppsPage(newOperateTab);
|
|
193
189
|
const newOperateTabOperateProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(newOperateTab);
|
|
190
|
+
await newOperateTabOperateProcessInstancePage.closePopOverIfVisible();
|
|
194
191
|
await (0, test_1.expect)(newOperateTabOperateProcessInstancePage.diagramSpinner).not.toBeVisible({
|
|
195
192
|
timeout: 60000,
|
|
196
193
|
});
|
|
@@ -238,6 +235,7 @@ _8_9_1.test.describe('Optimize User Flow Tests', () => {
|
|
|
238
235
|
const operateTabAppsPage = new AppsPage_1.AppsPage(operateTab);
|
|
239
236
|
const operateTabOperateProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
240
237
|
const operateTabOptimizeDashboardPage = new OptimizeDashboardPage_1.OptimizeDashboardPage(operateTab);
|
|
238
|
+
await operateTabOperateProcessInstancePage.closePopOverIfVisible();
|
|
241
239
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTabOperateProcessInstancePage.activeIcon, 'active icon');
|
|
242
240
|
await (0, test_1.expect)(operateTabOperateProcessInstancePage.activeIcon).toBeVisible({ timeout: 120000 });
|
|
243
241
|
await operateTabAppsPage.clickCamundaApps();
|
|
@@ -19,7 +19,6 @@ const sleep_1 = require("../../utils/sleep");
|
|
|
19
19
|
const testUser = (0, users_1.getTestUser)('thirteenthUser');
|
|
20
20
|
_8_9_1.test.describe.configure({ mode: 'parallel' });
|
|
21
21
|
_8_9_1.test.describe('Smoke Tests', () => {
|
|
22
|
-
_8_9_1.test.skip(process.env.IS_AG === 'true', 'Skipping Smoke Tests due to console breaking changes');
|
|
23
22
|
const clusterName = 'Test Cluster';
|
|
24
23
|
_8_9_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
|
|
25
24
|
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
|
|
@@ -89,6 +88,7 @@ _8_9_1.test.describe('Smoke Tests', () => {
|
|
|
89
88
|
await (0, test_1.expect)(operateTabProcessInstancePage.activeIcon).toBeVisible({
|
|
90
89
|
timeout: 300000,
|
|
91
90
|
});
|
|
91
|
+
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
92
92
|
await operateTabAppsPage.clickCamundaApps();
|
|
93
93
|
await operateTabAppsPage.clickTasklist(clusterName);
|
|
94
94
|
await (0, UtilitiesPage_1.completeTaskWithRetry)(operateTabTaskPanelPage, operateTabTaskDetailsPage, `${userTaskName}1`, 'Medium');
|
|
@@ -10,7 +10,6 @@ const UtilitiesPage_1 = require("../../pages/8.9/UtilitiesPage");
|
|
|
10
10
|
const users_1 = require("../../utils/users");
|
|
11
11
|
_8_9_1.test.describe.configure({ mode: 'parallel' });
|
|
12
12
|
_8_9_1.test.describe('Cluster Setup Tests', () => {
|
|
13
|
-
_8_9_1.test.skip(process.env.IS_AG === 'true', 'Skipping Cluster Setup Tests due to console breaking changes');
|
|
14
13
|
_8_9_1.test.afterEach(async ({ page }, testInfo) => {
|
|
15
14
|
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
16
15
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
@@ -78,6 +78,7 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
78
78
|
const operateTabOperateProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
79
79
|
const operateTabTaskPanelPage = new TaskPanelPage_1.TaskPanelPage(operateTab);
|
|
80
80
|
const operateTabTaskDetailsPage = new TaskDetailsPage_1.TaskDetailsPage(operateTab);
|
|
81
|
+
await operateTabOperateProcessInstancePage.closePopOverIfVisible();
|
|
81
82
|
await (0, test_1.expect)(operateTabOperateProcessInstancePage.activeIcon).toBeVisible({ timeout: 180000 });
|
|
82
83
|
await operateTabAppsPage.clickCamundaApps();
|
|
83
84
|
await operateTabAppsPage.clickTasklist(clusterName);
|
|
@@ -147,6 +148,7 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
147
148
|
await modelerCreatePage.clickViewProcessInstanceLink();
|
|
148
149
|
const operateTab = await page.waitForEvent('popup', { timeout: 60000 });
|
|
149
150
|
const operateTabOperateProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
151
|
+
await operateTabOperateProcessInstancePage.closePopOverIfVisible();
|
|
150
152
|
await operateTab.reload();
|
|
151
153
|
await (0, test_1.expect)(operateTabOperateProcessInstancePage.completedIcon).toBeVisible({
|
|
152
154
|
timeout: 1800000,
|
|
@@ -353,6 +355,7 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
353
355
|
const operateTabOperateProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
354
356
|
const operateTabTaskPanelPage = new TaskPanelPage_1.TaskPanelPage(operateTab);
|
|
355
357
|
const operateTabTaskDetailsPage = new TaskDetailsPage_1.TaskDetailsPage(operateTab);
|
|
358
|
+
await operateTabOperateProcessInstancePage.closePopOverIfVisible();
|
|
356
359
|
await (0, test_1.expect)(operateTabOperateProcessInstancePage.activeIcon).toBeVisible({ timeout: 180000 });
|
|
357
360
|
await operateTabAppsPage.clickCamundaApps();
|
|
358
361
|
await operateTabAppsPage.clickTasklist(clusterName);
|
|
@@ -412,62 +415,6 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
412
415
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateProcessInstancePage, operateProcessInstancePage.completedIcon, 'Completed icon', 60000, false, 5);
|
|
413
416
|
});
|
|
414
417
|
});
|
|
415
|
-
(0, _8_9_1.test)('Public Start Form @tasklistV2', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, browser, taskDetailsPage, }) => {
|
|
416
|
-
_8_9_1.test.slow();
|
|
417
|
-
const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
418
|
-
const processName = 'User_Task_Process_With_Public_Form' + randomString;
|
|
419
|
-
const formName = 'Public form' + randomString;
|
|
420
|
-
await _8_9_1.test.step('Navigate to Web Modeler', async () => {
|
|
421
|
-
await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
|
|
422
|
-
timeout: 120000,
|
|
423
|
-
});
|
|
424
|
-
await appsPage.clickCamundaApps();
|
|
425
|
-
await appsPage.clickModeler();
|
|
426
|
-
await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
|
|
427
|
-
timeout: 180000,
|
|
428
|
-
});
|
|
429
|
-
});
|
|
430
|
-
await _8_9_1.test.step('Open Cross Component Test Project', async () => {
|
|
431
|
-
await modelerHomePage.clickCrossComponentProjectFolder();
|
|
432
|
-
});
|
|
433
|
-
await _8_9_1.test.step('Create a Form with a Text Field', async () => {
|
|
434
|
-
await modelerHomePage.clickDiagramTypeDropdown();
|
|
435
|
-
await modelerHomePage.clickFormOption();
|
|
436
|
-
await modelerHomePage.enterFormName(formName);
|
|
437
|
-
await (0, sleep_1.sleep)(10000);
|
|
438
|
-
await formJsPage.dragAndDrop(formJsPage.textField, formJsPage.formEditor);
|
|
439
|
-
await (0, test_1.expect)(formJsPage.textFieldInForm).toBeVisible();
|
|
440
|
-
await (0, sleep_1.sleep)(10000);
|
|
441
|
-
await formJsPage.deployForm(clusterName);
|
|
442
|
-
});
|
|
443
|
-
await _8_9_1.test.step('Add A BPMN Template To The Project', async () => {
|
|
444
|
-
await modelerHomePage.clickProjectBreadcrumb();
|
|
445
|
-
await modelerHomePage.clickDiagramTypeDropdown();
|
|
446
|
-
await modelerHomePage.clickBpmnTemplateOption();
|
|
447
|
-
});
|
|
448
|
-
await _8_9_1.test.step('Create BPMN Diagram with a Public Start Form and Deploy the Process', async () => {
|
|
449
|
-
await modelerCreatePage.modelCamundaUserTaskDiagram(processName, processName);
|
|
450
|
-
await modelerCreatePage.linkFormToStartEvent(formName);
|
|
451
|
-
await modelerCreatePage.enablePublicAccessIfDisabled();
|
|
452
|
-
await modelerCreatePage.deployDiagram(clusterName);
|
|
453
|
-
await (0, sleep_1.sleep)(5000);
|
|
454
|
-
});
|
|
455
|
-
let publicFormLink;
|
|
456
|
-
await _8_9_1.test.step('Enable Public Access and Get Publication Link', async () => {
|
|
457
|
-
publicFormLink = await modelerCreatePage.getPublicationLink();
|
|
458
|
-
await (0, sleep_1.sleep)(1000);
|
|
459
|
-
});
|
|
460
|
-
await _8_9_1.test.step('Clear Cookies and Reset Session', async () => {
|
|
461
|
-
await (0, resetSession_1.resetSession)(browser, page);
|
|
462
|
-
});
|
|
463
|
-
await _8_9_1.test.step('Access Public Form After Session Reset', async () => {
|
|
464
|
-
console.log('Navigating to public form:', publicFormLink);
|
|
465
|
-
await page.goto(publicFormLink);
|
|
466
|
-
await (0, test_1.expect)(taskDetailsPage.publicFormsNotSupportedHeading).toBeVisible({
|
|
467
|
-
timeout: 30000,
|
|
468
|
-
});
|
|
469
|
-
});
|
|
470
|
-
});
|
|
471
418
|
(0, _8_9_1.test)('Public Start Form @tasklistV1', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, browser, taskDetailsPage, loginPage, taskPanelPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
472
419
|
const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
473
420
|
const processName = 'User_Task_Process_With_Public_Form' + randomString;
|
|
@@ -588,6 +535,7 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
588
535
|
// TODO: Uncomment when Optimize tests are re-enabled
|
|
589
536
|
// const operateTabAppsPage = new AppsPage(operateTab);
|
|
590
537
|
const operateProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
538
|
+
await operateProcessInstancePage.closePopOverIfVisible();
|
|
591
539
|
await operateProcessInstancePage.assertProcessCompleteStatusWithRetry(60000, 15);
|
|
592
540
|
await operateProcessInstancePage.assertProcessVariableContainsText('myVar', '8');
|
|
593
541
|
// //Skipped due to bug 46344: https://github.com/camunda/camunda/issues/46344
|