@camunda/e2e-test-suite 0.0.1087 → 0.0.1088
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.
|
@@ -26,6 +26,7 @@ declare class ClusterDetailsPage {
|
|
|
26
26
|
readonly alertsList: Locator;
|
|
27
27
|
readonly createFirstAlertButton: Locator;
|
|
28
28
|
readonly createNewAlertButton: Locator;
|
|
29
|
+
readonly alertsPanel: Locator;
|
|
29
30
|
readonly emailRadioButton: Locator;
|
|
30
31
|
readonly createAlertsDialog: Locator;
|
|
31
32
|
readonly createAlertButton: Locator;
|
|
@@ -31,6 +31,7 @@ class ClusterDetailsPage {
|
|
|
31
31
|
alertsList;
|
|
32
32
|
createFirstAlertButton;
|
|
33
33
|
createNewAlertButton;
|
|
34
|
+
alertsPanel;
|
|
34
35
|
emailRadioButton;
|
|
35
36
|
createAlertsDialog;
|
|
36
37
|
createAlertButton;
|
|
@@ -117,6 +118,9 @@ class ClusterDetailsPage {
|
|
|
117
118
|
this.createNewAlertButton = page.getByRole('button', {
|
|
118
119
|
name: 'Create new alert',
|
|
119
120
|
});
|
|
121
|
+
// The Alerts panel offers "Create an alert" while empty and "Create new
|
|
122
|
+
// alert" once it holds one, so either proves the panel itself mounted.
|
|
123
|
+
this.alertsPanel = this.createFirstAlertButton.or(this.createNewAlertButton);
|
|
120
124
|
this.emailRadioButton = page.getByRole('radio', {
|
|
121
125
|
name: 'Email',
|
|
122
126
|
});
|
|
@@ -371,6 +375,22 @@ class ClusterDetailsPage {
|
|
|
371
375
|
async clickAlertsTab() {
|
|
372
376
|
await (0, test_1.expect)(this.alertsTab).toBeVisible({ timeout: 40000 });
|
|
373
377
|
await this.alertsTab.click();
|
|
378
|
+
// The tab bar remounts while the cluster payload is still arriving, which
|
|
379
|
+
// discards the click and leaves Overview selected -- and the tab is a
|
|
380
|
+
// button, not a route, so nothing later re-selects it. Callers then read
|
|
381
|
+
// the Overview "Cluster Details" rows through the page-wide alertsList
|
|
382
|
+
// locator and see a row count that never changes. Confirm the panel
|
|
383
|
+
// mounted, re-selecting the tab after a reload between attempts.
|
|
384
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.alertsPanel, {
|
|
385
|
+
visibilityTimeout: 60000,
|
|
386
|
+
totalTimeout: 240000,
|
|
387
|
+
maxRetries: 4,
|
|
388
|
+
postAction: async () => {
|
|
389
|
+
await this.page.reload({ waitUntil: 'domcontentloaded' });
|
|
390
|
+
await this.alertsTab.waitFor({ state: 'visible', timeout: 60000 });
|
|
391
|
+
await this.alertsTab.click({ timeout: 60000 });
|
|
392
|
+
},
|
|
393
|
+
});
|
|
374
394
|
}
|
|
375
395
|
async clickExpandButton() {
|
|
376
396
|
await this.expandButton.click({ timeout: 60000 });
|
|
@@ -219,7 +219,26 @@ class FormJsPage {
|
|
|
219
219
|
await (0, test_1.expect)(this.dialog).toBeVisible({
|
|
220
220
|
timeout: 30000,
|
|
221
221
|
});
|
|
222
|
-
|
|
222
|
+
// Same recovery as ModelerCreatePage.runProcessInstance: selectCluster
|
|
223
|
+
// clears the stage binding when the dialog does not offer the cluster, so
|
|
224
|
+
// ensureStageCluster rebinds here and reports that it navigated. Any other
|
|
225
|
+
// failure leaves the binding in place, it returns false, and the original
|
|
226
|
+
// error stands. This path has no surrounding retry loop, hence the one
|
|
227
|
+
// explicit second attempt.
|
|
228
|
+
try {
|
|
229
|
+
await this.selectCluster(clusterName);
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
const rebound = await this.processApplicationPage.ensureStageCluster(clusterName);
|
|
233
|
+
if (!rebound) {
|
|
234
|
+
throw error;
|
|
235
|
+
}
|
|
236
|
+
await this.clickDeployButton();
|
|
237
|
+
await (0, test_1.expect)(this.dialog).toBeVisible({
|
|
238
|
+
timeout: 30000,
|
|
239
|
+
});
|
|
240
|
+
await this.selectCluster(clusterName);
|
|
241
|
+
}
|
|
223
242
|
await this.selectOnlyThisResource();
|
|
224
243
|
await this.clickDeploySubButton();
|
|
225
244
|
await (0, test_1.expect)(this.deploySuccessNotification).toBeVisible({ timeout: 60000 });
|