@camunda/e2e-test-suite 0.0.455 → 0.0.457
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/TaskPanelPage.d.ts +1 -1
- package/dist/pages/SM-8.10/TaskPanelPage.js +23 -1
- package/dist/pages/SM-8.6/TaskDetailsPage.js +1 -1
- package/dist/pages/SM-8.7/TaskDetailsPage.js +1 -1
- package/dist/pages/SM-8.8/TaskDetailsPage.js +1 -1
- package/dist/pages/SM-8.8/TaskPanelPage.d.ts +1 -1
- package/dist/pages/SM-8.8/TaskPanelPage.js +23 -1
- package/dist/pages/SM-8.8/optimizeReportUtils.js +2 -2
- package/dist/pages/SM-8.9/TaskPanelPage.d.ts +1 -1
- package/dist/pages/SM-8.9/TaskPanelPage.js +23 -1
- package/dist/pages/c8Run-8.10/TaskDetailsPage.js +1 -1
- package/dist/pages/c8Run-8.6/TaskDetailsPage.js +1 -1
- package/dist/pages/c8Run-8.7/TaskDetailsPage.js +1 -1
- package/dist/pages/c8Run-8.8/TaskDetailsPage.js +1 -1
- package/dist/pages/c8Run-8.9/TaskDetailsPage.js +1 -1
- package/package.json +1 -1
|
@@ -18,7 +18,7 @@ declare class TaskPanelPage {
|
|
|
18
18
|
scrollToFirstTask(name: string): Promise<void>;
|
|
19
19
|
clickCollapseFilter(): Promise<void>;
|
|
20
20
|
clickProcessesTab(): Promise<void>;
|
|
21
|
-
taskCount(name: string): Promise<number>;
|
|
21
|
+
taskCount(name: string, waitForStable?: boolean): Promise<number>;
|
|
22
22
|
clickTasksTab(): Promise<void>;
|
|
23
23
|
}
|
|
24
24
|
export { TaskPanelPage };
|
|
@@ -83,8 +83,30 @@ class TaskPanelPage {
|
|
|
83
83
|
await (0, test_1.expect)(this.processesPageTab).toBeVisible();
|
|
84
84
|
await this.processesPageTab.click();
|
|
85
85
|
}
|
|
86
|
-
async taskCount(name) {
|
|
86
|
+
async taskCount(name, waitForStable = true) {
|
|
87
87
|
await this.page.waitForLoadState('networkidle');
|
|
88
|
+
if (waitForStable) {
|
|
89
|
+
// Wait for the task list to stabilize: poll until count is unchanged for 2s
|
|
90
|
+
let previousCount = -1;
|
|
91
|
+
let stableIterations = 0;
|
|
92
|
+
const maxAttempts = 15; // 15 * 1s = 15s max wait
|
|
93
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
94
|
+
const currentCount = await this.availableTasks
|
|
95
|
+
.getByText(name, { exact: true })
|
|
96
|
+
.count();
|
|
97
|
+
if (currentCount === previousCount) {
|
|
98
|
+
stableIterations++;
|
|
99
|
+
if (stableIterations >= 2) {
|
|
100
|
+
return currentCount;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
stableIterations = 0;
|
|
105
|
+
previousCount = currentCount;
|
|
106
|
+
}
|
|
107
|
+
await this.page.waitForTimeout(1000);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
88
110
|
return this.availableTasks.getByText(name, { exact: true }).count();
|
|
89
111
|
}
|
|
90
112
|
async clickTasksTab() {
|
|
@@ -92,7 +92,7 @@ class TaskDetailsPage {
|
|
|
92
92
|
this.tagList = page.getByPlaceholder('Search');
|
|
93
93
|
this.detailsInfo = page.getByTestId('details-info');
|
|
94
94
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
95
|
-
this.taskCompletedBanner = this.page.getByText('Task completed');
|
|
95
|
+
this.taskCompletedBanner = this.page.getByText('Task completed').first();
|
|
96
96
|
this.assignedToMeText = page
|
|
97
97
|
.getByTestId('assignee')
|
|
98
98
|
.getByText('Assigned to me');
|
|
@@ -93,7 +93,7 @@ class TaskDetailsPage {
|
|
|
93
93
|
this.detailsInfo = page.getByTestId('details-info');
|
|
94
94
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
95
95
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
96
|
-
this.taskCompletedBanner = this.page.getByText('Task completed');
|
|
96
|
+
this.taskCompletedBanner = this.page.getByText('Task completed').first();
|
|
97
97
|
this.assignedToMeText = page
|
|
98
98
|
.getByTestId('assignee')
|
|
99
99
|
.getByText('Assigned to me');
|
|
@@ -94,7 +94,7 @@ class TaskDetailsPage {
|
|
|
94
94
|
this.detailsInfo = page.getByTestId('details-info');
|
|
95
95
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
96
96
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
97
|
-
this.taskCompletedBanner = this.page.getByText('Task completed');
|
|
97
|
+
this.taskCompletedBanner = this.page.getByText('Task completed').first();
|
|
98
98
|
this.assignedToMeText = page
|
|
99
99
|
.getByTestId('assignee')
|
|
100
100
|
.getByText('Assigned to me');
|
|
@@ -18,7 +18,7 @@ declare class TaskPanelPage {
|
|
|
18
18
|
scrollToFirstTask(name: string): Promise<void>;
|
|
19
19
|
clickCollapseFilter(): Promise<void>;
|
|
20
20
|
clickProcessesTab(): Promise<void>;
|
|
21
|
-
taskCount(name: string): Promise<number>;
|
|
21
|
+
taskCount(name: string, waitForStable?: boolean): Promise<number>;
|
|
22
22
|
clickTasksTab(): Promise<void>;
|
|
23
23
|
}
|
|
24
24
|
export { TaskPanelPage };
|
|
@@ -82,8 +82,30 @@ class TaskPanelPage {
|
|
|
82
82
|
await (0, test_1.expect)(this.processesPageTab).toBeVisible();
|
|
83
83
|
await this.processesPageTab.click();
|
|
84
84
|
}
|
|
85
|
-
async taskCount(name) {
|
|
85
|
+
async taskCount(name, waitForStable = true) {
|
|
86
86
|
await this.page.waitForLoadState('networkidle');
|
|
87
|
+
if (waitForStable) {
|
|
88
|
+
// Wait for the task list to stabilize: poll until count is unchanged for 2s
|
|
89
|
+
let previousCount = -1;
|
|
90
|
+
let stableIterations = 0;
|
|
91
|
+
const maxAttempts = 15; // 15 * 1s = 15s max wait
|
|
92
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
93
|
+
const currentCount = await this.availableTasks
|
|
94
|
+
.getByText(name, { exact: true })
|
|
95
|
+
.count();
|
|
96
|
+
if (currentCount === previousCount) {
|
|
97
|
+
stableIterations++;
|
|
98
|
+
if (stableIterations >= 2) {
|
|
99
|
+
return currentCount;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
stableIterations = 0;
|
|
104
|
+
previousCount = currentCount;
|
|
105
|
+
}
|
|
106
|
+
await this.page.waitForTimeout(1000);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
87
109
|
return this.availableTasks.getByText(name, { exact: true }).count();
|
|
88
110
|
}
|
|
89
111
|
async clickTasksTab() {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.assertReportWithRefreshes = exports.createReportForProcess = void 0;
|
|
4
4
|
const UtilitiesPage_1 = require("../SM-8.8/UtilitiesPage");
|
|
5
5
|
const createReportForProcess = async (page, optimizeCollectionsPage, optimizeReportPage, processName) => {
|
|
6
|
-
const TOTAL_TIMEOUT_MS =
|
|
6
|
+
const TOTAL_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes (OpenSearch ingestion can be slow)
|
|
7
7
|
const startTime = Date.now();
|
|
8
8
|
let attempt = 0;
|
|
9
9
|
let found = false;
|
|
@@ -38,7 +38,7 @@ const createReportForProcess = async (page, optimizeCollectionsPage, optimizeRep
|
|
|
38
38
|
};
|
|
39
39
|
exports.createReportForProcess = createReportForProcess;
|
|
40
40
|
const assertReportWithRefreshes = async (page, optimizeHomePage, optimizeCollectionsPage, optimizeReportPage, reportName, locator, text) => {
|
|
41
|
-
const TOTAL_TIMEOUT_MS =
|
|
41
|
+
const TOTAL_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes (OpenSearch ingestion can be slow)
|
|
42
42
|
const startTime = Date.now();
|
|
43
43
|
let attempt = 0;
|
|
44
44
|
let found = false;
|
|
@@ -18,7 +18,7 @@ declare class TaskPanelPage {
|
|
|
18
18
|
scrollToFirstTask(name: string): Promise<void>;
|
|
19
19
|
clickCollapseFilter(): Promise<void>;
|
|
20
20
|
clickProcessesTab(): Promise<void>;
|
|
21
|
-
taskCount(name: string): Promise<number>;
|
|
21
|
+
taskCount(name: string, waitForStable?: boolean): Promise<number>;
|
|
22
22
|
clickTasksTab(): Promise<void>;
|
|
23
23
|
}
|
|
24
24
|
export { TaskPanelPage };
|
|
@@ -83,8 +83,30 @@ class TaskPanelPage {
|
|
|
83
83
|
await (0, test_1.expect)(this.processesPageTab).toBeVisible();
|
|
84
84
|
await this.processesPageTab.click();
|
|
85
85
|
}
|
|
86
|
-
async taskCount(name) {
|
|
86
|
+
async taskCount(name, waitForStable = true) {
|
|
87
87
|
await this.page.waitForLoadState('networkidle');
|
|
88
|
+
if (waitForStable) {
|
|
89
|
+
// Wait for the task list to stabilize: poll until count is unchanged for 2s
|
|
90
|
+
let previousCount = -1;
|
|
91
|
+
let stableIterations = 0;
|
|
92
|
+
const maxAttempts = 15; // 15 * 1s = 15s max wait
|
|
93
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
94
|
+
const currentCount = await this.availableTasks
|
|
95
|
+
.getByText(name, { exact: true })
|
|
96
|
+
.count();
|
|
97
|
+
if (currentCount === previousCount) {
|
|
98
|
+
stableIterations++;
|
|
99
|
+
if (stableIterations >= 2) {
|
|
100
|
+
return currentCount;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
stableIterations = 0;
|
|
105
|
+
previousCount = currentCount;
|
|
106
|
+
}
|
|
107
|
+
await this.page.waitForTimeout(1000);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
88
110
|
return this.availableTasks.getByText(name, { exact: true }).count();
|
|
89
111
|
}
|
|
90
112
|
async clickTasksTab() {
|
|
@@ -91,7 +91,7 @@ class TaskDetailsPage {
|
|
|
91
91
|
this.tagList = page.getByPlaceholder('Search');
|
|
92
92
|
this.detailsInfo = page.getByTestId('details-info');
|
|
93
93
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
94
|
-
this.taskCompletedBanner = this.page.getByText('Task completed');
|
|
94
|
+
this.taskCompletedBanner = this.page.getByText('Task completed').first();
|
|
95
95
|
this.assignedToMeText = this.page
|
|
96
96
|
.getByTestId('assignee')
|
|
97
97
|
.getByText('Assigned to me');
|
|
@@ -91,7 +91,7 @@ class TaskDetailsPage {
|
|
|
91
91
|
this.tagList = page.getByPlaceholder('Search');
|
|
92
92
|
this.detailsInfo = page.getByTestId('details-info');
|
|
93
93
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
94
|
-
this.taskCompletedBanner = this.page.getByText('Task completed');
|
|
94
|
+
this.taskCompletedBanner = this.page.getByText('Task completed').first();
|
|
95
95
|
this.assignedToMeText = this.page
|
|
96
96
|
.getByTestId('assignee')
|
|
97
97
|
.getByText('Assigned to me');
|
|
@@ -91,7 +91,7 @@ class TaskDetailsPage {
|
|
|
91
91
|
this.tagList = page.getByPlaceholder('Search');
|
|
92
92
|
this.detailsInfo = page.getByTestId('details-info');
|
|
93
93
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
94
|
-
this.taskCompletedBanner = this.page.getByText('Task completed');
|
|
94
|
+
this.taskCompletedBanner = this.page.getByText('Task completed').first();
|
|
95
95
|
this.assignedToMeText = this.page
|
|
96
96
|
.getByTestId('assignee')
|
|
97
97
|
.getByText('Assigned to me');
|
|
@@ -91,7 +91,7 @@ class TaskDetailsPage {
|
|
|
91
91
|
this.tagList = page.getByPlaceholder('Search');
|
|
92
92
|
this.detailsInfo = page.getByTestId('details-info');
|
|
93
93
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
94
|
-
this.taskCompletedBanner = this.page.getByText('Task completed');
|
|
94
|
+
this.taskCompletedBanner = this.page.getByText('Task completed').first();
|
|
95
95
|
this.assignedToMeText = this.page
|
|
96
96
|
.getByTestId('assignee')
|
|
97
97
|
.getByText('Assigned to me');
|
|
@@ -91,7 +91,7 @@ class TaskDetailsPage {
|
|
|
91
91
|
this.tagList = page.getByPlaceholder('Search');
|
|
92
92
|
this.detailsInfo = page.getByTestId('details-info');
|
|
93
93
|
this.textInput = page.locator('[class="fjs-input"]');
|
|
94
|
-
this.taskCompletedBanner = this.page.getByText('Task completed');
|
|
94
|
+
this.taskCompletedBanner = this.page.getByText('Task completed').first();
|
|
95
95
|
this.assignedToMeText = this.page
|
|
96
96
|
.getByTestId('assignee')
|
|
97
97
|
.getByText('Assigned to me');
|