@camunda/e2e-test-suite 0.0.795 → 0.0.796
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.
|
@@ -21,6 +21,7 @@ declare class ClusterPage {
|
|
|
21
21
|
readonly connectorSecretsTab: Locator;
|
|
22
22
|
readonly createAClusterButton: Locator;
|
|
23
23
|
readonly clusterVersionOption: Locator;
|
|
24
|
+
readonly generationSearchInput: Locator;
|
|
24
25
|
readonly g3DevClusterType: Locator;
|
|
25
26
|
readonly alphaTab: Locator;
|
|
26
27
|
readonly devTab: Locator;
|
|
@@ -27,6 +27,7 @@ class ClusterPage {
|
|
|
27
27
|
connectorSecretsTab;
|
|
28
28
|
createAClusterButton;
|
|
29
29
|
clusterVersionOption;
|
|
30
|
+
generationSearchInput;
|
|
30
31
|
g3DevClusterType;
|
|
31
32
|
alphaTab;
|
|
32
33
|
devTab;
|
|
@@ -87,6 +88,7 @@ class ClusterPage {
|
|
|
87
88
|
name: 'Create a Cluster',
|
|
88
89
|
});
|
|
89
90
|
this.clusterVersionOption = page.getByText(`${process.env.CLUSTER_VERSION}`, { exact: true });
|
|
91
|
+
this.generationSearchInput = page.getByPlaceholder('Search generations');
|
|
90
92
|
this.g3DevClusterType = page.locator('label').filter({
|
|
91
93
|
hasText: this.defaultClusterType,
|
|
92
94
|
});
|
|
@@ -305,14 +307,29 @@ class ClusterPage {
|
|
|
305
307
|
this.clickStableTab,
|
|
306
308
|
this.clickAlphaTab,
|
|
307
309
|
];
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
310
|
+
// The channel tabs no longer list every generation — the list is filtered
|
|
311
|
+
// by a "Search generations" box, and switching tabs clears that box. So on
|
|
312
|
+
// each channel we must (re)type the generation name before its option
|
|
313
|
+
// renders. A generation created via the API moments earlier can also take
|
|
314
|
+
// time to surface, so cycle through every channel repeatedly within a
|
|
315
|
+
// bounded budget (maxCycles * tabs * perTabTimeout) rather than a single
|
|
316
|
+
// pass, giving a late-propagating generation multiple chances on any channel.
|
|
317
|
+
const maxCycles = 6;
|
|
318
|
+
const perTabTimeout = 12000;
|
|
319
|
+
for (let cycle = 0; cycle < maxCycles; cycle++) {
|
|
320
|
+
for (const clickTab of tabs) {
|
|
321
|
+
try {
|
|
322
|
+
await clickTab.call(this);
|
|
323
|
+
await (0, test_1.expect)(this.generationSearchInput).toBeVisible({
|
|
324
|
+
timeout: perTabTimeout,
|
|
325
|
+
});
|
|
326
|
+
await this.generationSearchInput.fill(`${process.env.CLUSTER_VERSION}`);
|
|
327
|
+
await this.clusterVersionOption.click({ timeout: perTabTimeout });
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
catch (error) {
|
|
331
|
+
console.error(`Cycle ${cycle + 1}/${maxCycles}: cluster generation not found on this tab yet:`, error);
|
|
332
|
+
}
|
|
316
333
|
}
|
|
317
334
|
}
|
|
318
335
|
throw new Error('Failed to find cluster generation');
|