@camunda/e2e-test-suite 0.0.1407 → 0.0.1409

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.
@@ -583,8 +583,27 @@ class ModelerCreatePage {
583
583
  await this.changeTypeButton.click();
584
584
  }
585
585
  async clickUserTaskOption() {
586
- await (0, test_1.expect)(this.userTaskOption).toBeVisible({ timeout: 15000 });
587
- await this.userTaskOption.click();
586
+ // The change-element popup repaints its result list as it settles, so the
587
+ // already-selected `replace-with-user-task` entry can detach mid-click
588
+ // ("element is not visible" then "element was detached from the DOM"). Mirror
589
+ // clickServiceTaskOption: on a failed click re-open the popup via the Change
590
+ // element button and re-resolve the same entry, instead of clicking a stale
591
+ // handle.
592
+ const maxRetries = 3;
593
+ for (let retries = 0; retries < maxRetries; retries++) {
594
+ try {
595
+ if (retries > 0) {
596
+ await this.changeTypeButton.click({ force: true, timeout: 30000 });
597
+ }
598
+ await this.userTaskOption.click({ timeout: 30000, force: true });
599
+ return;
600
+ }
601
+ catch (error) {
602
+ console.error(`Click attempt ${retries + 1} failed: ${error}`);
603
+ await new Promise((resolve) => setTimeout(resolve, 10000));
604
+ }
605
+ }
606
+ throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
588
607
  }
589
608
  async clickForm(name) {
590
609
  // Baseline upgrade runs use fixed form names, so a Playwright retry re-creates
@@ -44,12 +44,16 @@ _8_10_1.test.describe('Navigation Tests', () => {
44
44
  timeout: 120000,
45
45
  });
46
46
  });
47
- (0, _8_10_1.test)('Navigate to Tasklist', async ({ appsPage, taskPanelPage }) => {
47
+ (0, _8_10_1.test)('Navigate to Tasklist', async ({ page, appsPage, taskPanelPage }) => {
48
48
  await appsPage.clickCamundaApps();
49
49
  await appsPage.clickTasklist(clusterName);
50
- await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
51
- timeout: 120000,
52
- });
50
+ // Tasklist renders inside the Vite SPA web shell, and the header "Camunda
51
+ // logo" link lives in that shell. When a shell module chunk fails to load
52
+ // (observed as an HTTP 525 on assets/notifications.store-*.js) the shell
53
+ // never mounts and the page stays blank, so no amount of waiting surfaces
54
+ // the logo. Reload between attempts so the next one re-fetches the chunk,
55
+ // matching the Operate navigation above.
56
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, taskPanelPage.taskListPageBanner, 'Tasklist banner', 60000, false, 3);
53
57
  });
54
58
  (0, _8_10_1.test)('Navigate to Admin', async ({ appsPage, ocIdentityHomePage }) => {
55
59
  await appsPage.clickCamundaApps();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.1407",
3
+ "version": "0.0.1409",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",