@camunda/e2e-test-suite 0.0.1007 → 0.0.1009

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.
@@ -637,8 +637,33 @@ class ModelerCreatePage {
637
637
  await this.renameDiagramNameButton.click({ timeout: 60000 });
638
638
  }
639
639
  async enterDiagramName(name) {
640
- await this.diagramNameInput.fill(name, { timeout: 90000 });
641
- await this.diagramNameInput.press('Enter', { timeout: 90000 });
640
+ // The inline name field stays in the DOM after the rename action closes,
641
+ // so `fill` can resolve it and then wait out its whole budget on an input
642
+ // that is present but no longer editable — an autosave landing between the
643
+ // dropdown opening and the fill is enough to drop it out of edit mode.
644
+ // Re-opening the rename action is what recovers it, so retry the whole
645
+ // open-and-fill sequence and confirm the breadcrumb actually took the name
646
+ // rather than trusting the fill.
647
+ const maxAttempts = 3;
648
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
649
+ try {
650
+ await this.diagramNameInput.fill(name, { timeout: 45000 });
651
+ await this.diagramNameInput.press('Enter', { timeout: 45000 });
652
+ await this.diagramNameBreadcrumb(name).waitFor({
653
+ state: 'visible',
654
+ timeout: 30000,
655
+ });
656
+ return;
657
+ }
658
+ catch (error) {
659
+ console.warn(`Diagram rename to "${name}" failed on attempt ${attempt}/${maxAttempts}: ${error}`);
660
+ if (attempt === maxAttempts) {
661
+ throw new Error(`Diagram name was not set to "${name}" after ${maxAttempts} attempts.`);
662
+ }
663
+ await this.clickDiagramBreadcrumb();
664
+ await this.clickEditDiagramNameButton();
665
+ }
666
+ }
642
667
  }
643
668
  async clickVariableInput() {
644
669
  await this.variableInput.click({ timeout: 60000 });
@@ -756,7 +781,12 @@ class ModelerCreatePage {
756
781
  */
757
782
  async hoverAppendPad(timeout) {
758
783
  if (!(await this.appendElementButton.isVisible())) {
759
- await this.appendIndicator.hover({ timeout });
784
+ // force: hovering the indicator is what opens the pad, and the pad's
785
+ // entries then cover the indicator while it hides itself. Without force
786
+ // Playwright reports the pad's own icon as intercepting pointer events
787
+ // and keeps retrying actionability against an element that is already
788
+ // gone, so the hover times out even though it worked.
789
+ await this.appendIndicator.hover({ force: true, timeout });
760
790
  }
761
791
  await this.appendElementButton.hover({ timeout, force: true });
762
792
  }
@@ -827,6 +827,10 @@ class ModelerCreatePage {
827
827
  // Design System editor has none: renaming moved to the breadcrumb's "More
828
828
  // actions" > "Rename" dialog. Use whichever the deployed shell offers.
829
829
  async enterDiagramName(name) {
830
+ // Same hazard as ModelerHomePage.enterFormName: the project page also has a
831
+ // "More actions" button, so the or() gate can be satisfied before the
832
+ // editor has loaded and the rename would target the project.
833
+ await this.page.waitForURL(/\/diagrams\//, { timeout: 60000 });
830
834
  await this.diagramNameInput
831
835
  .or(this.moreActionsButton)
832
836
  .first()
@@ -286,6 +286,13 @@ class ModelerHomePage {
286
286
  // no inline editable input and renames through the breadcrumb's "More
287
287
  // actions" > "Rename" dialog.
288
288
  async enterFormName(name) {
289
+ // Wait for the form editor itself before probing rename affordances. The
290
+ // project page also renders a "More actions" button, so the or() gate below
291
+ // is satisfied while the caller's navigation is still in flight -- which
292
+ // renamed the PROJECT to the form's name instead of the form. The Carbon
293
+ // shell could not hit this: editable-input existed only inside the editor,
294
+ // so the gate implicitly waited for navigation.
295
+ await this.page.waitForURL(/\/forms\//, { timeout: 60000 });
289
296
  await this.formNameInput
290
297
  .or(this.moreActionsButton)
291
298
  .first()
@@ -388,10 +388,7 @@ _8_7_1.test.describe('HTO User Flow Tests', () => {
388
388
  await (0, UtilitiesPage_1.assertPageTextWithRetry)(page, 'candidateGroupTask' + randomName + '2');
389
389
  });
390
390
  });
391
- // Temporarily skipped pending fix PR #3144:
392
- // https://github.com/camunda/c8-cross-component-e2e-tests/pull/3144
393
- // Re-enable in the same change that lands #3144.
394
- _8_7_1.test.skip('Zeebe User Task With Priority', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, taskPanelPage, taskDetailsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
391
+ (0, _8_7_1.test)('Zeebe User Task With Priority', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, taskPanelPage, taskDetailsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
395
392
  const randomName = await (0, _setup_1.generateRandomStringAsync)(3);
396
393
  const processName = 'Zeebe_User_Task_Process_With_Priority' + randomName;
397
394
  const taskName = 'priorityTest' + randomName;
@@ -37,10 +37,7 @@ _8_7_1.test.describe('Smoke Tests', () => {
37
37
  await (0, _setup_1.captureScreenshot)(page, testInfo);
38
38
  await (0, _setup_1.captureFailureVideo)(page, testInfo);
39
39
  });
40
- // Temporarily skipped pending fix PR #3144:
41
- // https://github.com/camunda/c8-cross-component-e2e-tests/pull/3144
42
- // Re-enable in the same change that lands #3144.
43
- _8_7_1.test.skip('Most Common Flow User Flow With All Apps', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, }) => {
40
+ (0, _8_7_1.test)('Most Common Flow User Flow With All Apps', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, }) => {
44
41
  _8_7_1.test.slow();
45
42
  const randomString = useFixedNames
46
43
  ? 'UpgradeTest'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.1007",
3
+ "version": "0.0.1009",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",