@camunda/e2e-test-suite 0.0.795 → 0.0.797
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.10/ClusterPage.d.ts +1 -0
- package/dist/pages/8.10/ClusterPage.js +25 -8
- package/dist/pages/8.7/ClusterPage.d.ts +1 -0
- package/dist/pages/8.7/ClusterPage.js +14 -0
- package/dist/pages/8.8/ClusterPage.d.ts +1 -0
- package/dist/pages/8.8/ClusterPage.js +14 -0
- package/dist/pages/8.9/ClusterPage.d.ts +1 -0
- package/dist/pages/8.9/ClusterPage.js +25 -8
- package/package.json +1 -1
|
@@ -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;
|
|
@@ -26,6 +26,7 @@ class ClusterPage {
|
|
|
26
26
|
connectorSecretsTab;
|
|
27
27
|
createAClusterButton;
|
|
28
28
|
clusterVersionOption;
|
|
29
|
+
generationSearchInput;
|
|
29
30
|
g3DevClusterType;
|
|
30
31
|
alphaTab;
|
|
31
32
|
devTab;
|
|
@@ -85,6 +86,7 @@ class ClusterPage {
|
|
|
85
86
|
name: 'Create a Cluster',
|
|
86
87
|
});
|
|
87
88
|
this.clusterVersionOption = page.getByText(`${process.env.CLUSTER_VERSION}`, { exact: true });
|
|
89
|
+
this.generationSearchInput = page.getByPlaceholder('Search generations');
|
|
88
90
|
this.g3DevClusterType = page.locator('label').filter({
|
|
89
91
|
hasText: this.defaultClusterType,
|
|
90
92
|
});
|
|
@@ -304,14 +306,29 @@ class ClusterPage {
|
|
|
304
306
|
this.clickStableTab,
|
|
305
307
|
this.clickAlphaTab,
|
|
306
308
|
];
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
309
|
+
// The channel tabs no longer list every generation — the list is filtered
|
|
310
|
+
// by a "Search generations" box, and switching tabs clears that box. So on
|
|
311
|
+
// each channel we must (re)type the generation name before its option
|
|
312
|
+
// renders. A generation created via the API moments earlier can also take
|
|
313
|
+
// time to surface, so cycle through every channel repeatedly within a
|
|
314
|
+
// bounded budget (maxCycles * tabs * perTabTimeout) rather than a single
|
|
315
|
+
// pass, giving a late-propagating generation multiple chances on any channel.
|
|
316
|
+
const maxCycles = 6;
|
|
317
|
+
const perTabTimeout = 12000;
|
|
318
|
+
for (let cycle = 0; cycle < maxCycles; cycle++) {
|
|
319
|
+
for (const clickTab of tabs) {
|
|
320
|
+
try {
|
|
321
|
+
await clickTab.call(this);
|
|
322
|
+
await (0, test_1.expect)(this.generationSearchInput).toBeVisible({
|
|
323
|
+
timeout: perTabTimeout,
|
|
324
|
+
});
|
|
325
|
+
await this.generationSearchInput.fill(`${process.env.CLUSTER_VERSION}`);
|
|
326
|
+
await this.clusterVersionOption.click({ timeout: perTabTimeout });
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
console.error(`Cycle ${cycle + 1}/${maxCycles}: cluster generation not found on this tab yet:`, error);
|
|
331
|
+
}
|
|
315
332
|
}
|
|
316
333
|
}
|
|
317
334
|
throw new Error('Failed to find cluster generation');
|
|
@@ -20,6 +20,7 @@ declare class ClusterPage {
|
|
|
20
20
|
readonly connectorSecretsTab: Locator;
|
|
21
21
|
readonly createAClusterButton: Locator;
|
|
22
22
|
readonly clusterVersionOption: Locator;
|
|
23
|
+
readonly generationSearchInput: Locator;
|
|
23
24
|
readonly g3DevClusterType: Locator;
|
|
24
25
|
readonly alphaTab: Locator;
|
|
25
26
|
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;
|
|
@@ -76,6 +77,7 @@ class ClusterPage {
|
|
|
76
77
|
this.clusterVersionOption = page.getByText(process.env.CLUSTER_VERSION, {
|
|
77
78
|
exact: true,
|
|
78
79
|
});
|
|
80
|
+
this.generationSearchInput = page.getByPlaceholder('Search generations');
|
|
79
81
|
this.g3DevClusterType = page.locator('label').filter({
|
|
80
82
|
hasText: this.defaultClusterType,
|
|
81
83
|
});
|
|
@@ -309,6 +311,12 @@ class ClusterPage {
|
|
|
309
311
|
try {
|
|
310
312
|
if (version === clusterVersions_1.ClusterVersion.EIGHT_SEVEN_SNAPSHOT) {
|
|
311
313
|
await this.clickDevTab();
|
|
314
|
+
// The channel list is filtered by a "Search generations" box; type
|
|
315
|
+
// the generation name so its option renders before selecting it.
|
|
316
|
+
await (0, test_1.expect)(this.generationSearchInput).toBeVisible({
|
|
317
|
+
timeout: 60000,
|
|
318
|
+
});
|
|
319
|
+
await this.generationSearchInput.fill(version);
|
|
312
320
|
await this.clusterVersionOption.scrollIntoViewIfNeeded();
|
|
313
321
|
await (0, test_1.expect)(this.clusterVersionOption).toBeVisible({ timeout: 60000 });
|
|
314
322
|
await this.clusterVersionOption.click({ timeout: 60000 });
|
|
@@ -318,6 +326,12 @@ class ClusterPage {
|
|
|
318
326
|
for (const clickTab of tabs) {
|
|
319
327
|
try {
|
|
320
328
|
await clickTab.call(this);
|
|
329
|
+
// Switching channels clears the search box, so re-type the
|
|
330
|
+
// generation name each time to filter it into the truncated list.
|
|
331
|
+
await (0, test_1.expect)(this.generationSearchInput).toBeVisible({
|
|
332
|
+
timeout: 30000,
|
|
333
|
+
});
|
|
334
|
+
await this.generationSearchInput.fill(version);
|
|
321
335
|
await this.clusterVersionOption.click({ timeout: 30000 });
|
|
322
336
|
return;
|
|
323
337
|
}
|
|
@@ -18,6 +18,7 @@ declare class ClusterPage {
|
|
|
18
18
|
readonly connectorSecretsTab: Locator;
|
|
19
19
|
readonly createAClusterButton: Locator;
|
|
20
20
|
readonly clusterVersionOption: Locator;
|
|
21
|
+
readonly generationSearchInput: Locator;
|
|
21
22
|
readonly g3DevClusterType: Locator;
|
|
22
23
|
readonly belgiumRegion: Locator;
|
|
23
24
|
readonly londonRegion: Locator;
|
|
@@ -25,6 +25,7 @@ class ClusterPage {
|
|
|
25
25
|
connectorSecretsTab;
|
|
26
26
|
createAClusterButton;
|
|
27
27
|
clusterVersionOption;
|
|
28
|
+
generationSearchInput;
|
|
28
29
|
g3DevClusterType;
|
|
29
30
|
belgiumRegion;
|
|
30
31
|
londonRegion;
|
|
@@ -79,6 +80,7 @@ class ClusterPage {
|
|
|
79
80
|
name: 'Create a Cluster',
|
|
80
81
|
});
|
|
81
82
|
this.clusterVersionOption = page.getByText(`${process.env.CLUSTER_VERSION}`, { exact: true });
|
|
83
|
+
this.generationSearchInput = page.getByPlaceholder('Search generations');
|
|
82
84
|
this.g3DevClusterType = page.locator('label').filter({
|
|
83
85
|
hasText: this.defaultClusterType,
|
|
84
86
|
});
|
|
@@ -329,6 +331,12 @@ class ClusterPage {
|
|
|
329
331
|
try {
|
|
330
332
|
if (version === clusterVersions_1.ClusterVersion.EIGHT_EIGHT_SNAPSHOT) {
|
|
331
333
|
await this.clickDevTab();
|
|
334
|
+
// The channel list is filtered by a "Search generations" box; type
|
|
335
|
+
// the generation name so its option renders before selecting it.
|
|
336
|
+
await (0, test_1.expect)(this.generationSearchInput).toBeVisible({
|
|
337
|
+
timeout: 60000,
|
|
338
|
+
});
|
|
339
|
+
await this.generationSearchInput.fill(version);
|
|
332
340
|
await this.clusterVersionOption.scrollIntoViewIfNeeded();
|
|
333
341
|
await (0, test_1.expect)(this.clusterVersionOption).toBeVisible({ timeout: 60000 });
|
|
334
342
|
await this.clusterVersionOption.click({ timeout: 60000 });
|
|
@@ -337,6 +345,12 @@ class ClusterPage {
|
|
|
337
345
|
for (const clickTab of tabs) {
|
|
338
346
|
try {
|
|
339
347
|
await clickTab.call(this);
|
|
348
|
+
// Switching channels clears the search box, so re-type the
|
|
349
|
+
// generation name each time to filter it into the truncated list.
|
|
350
|
+
await (0, test_1.expect)(this.generationSearchInput).toBeVisible({
|
|
351
|
+
timeout: 30000,
|
|
352
|
+
});
|
|
353
|
+
await this.generationSearchInput.fill(version);
|
|
340
354
|
await this.clusterVersionOption.click({ timeout: 30000 });
|
|
341
355
|
return;
|
|
342
356
|
}
|
|
@@ -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');
|