@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
|
-
|
|
641
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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'
|