@camunda/e2e-test-suite 0.0.1003 → 0.0.1004
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.
|
@@ -40,6 +40,7 @@ declare class ModelerCreatePage {
|
|
|
40
40
|
readonly firstPlacedElement: Locator;
|
|
41
41
|
readonly secondPlacedElement: Locator;
|
|
42
42
|
readonly appendElementButton: Locator;
|
|
43
|
+
readonly appendIndicator: Locator;
|
|
43
44
|
readonly payloadInput: Locator;
|
|
44
45
|
readonly marketPlaceButton: Locator;
|
|
45
46
|
readonly publicHolidayConnectorOption: Locator;
|
|
@@ -176,6 +177,7 @@ declare class ModelerCreatePage {
|
|
|
176
177
|
clickFirstPlacedElement(): Promise<void>;
|
|
177
178
|
clickSecondPlacedElement(): Promise<void>;
|
|
178
179
|
clickSecondElement(): Promise<void>;
|
|
180
|
+
openAppendCreatePad(): Promise<void>;
|
|
179
181
|
clickAppendElementButton(): Promise<void>;
|
|
180
182
|
clickMarketPlaceButton(): Promise<void>;
|
|
181
183
|
clickPublicHolidayConnectorOption(): Promise<void>;
|
|
@@ -46,6 +46,7 @@ class ModelerCreatePage {
|
|
|
46
46
|
firstPlacedElement;
|
|
47
47
|
secondPlacedElement;
|
|
48
48
|
appendElementButton;
|
|
49
|
+
appendIndicator;
|
|
49
50
|
payloadInput;
|
|
50
51
|
marketPlaceButton;
|
|
51
52
|
publicHolidayConnectorOption;
|
|
@@ -120,6 +121,7 @@ class ModelerCreatePage {
|
|
|
120
121
|
this.appendElementButton = page
|
|
121
122
|
.locator('[class="djs-create-pad open djs-append-create-pad"]')
|
|
122
123
|
.first();
|
|
124
|
+
this.appendIndicator = page.locator('.djs-append-indicator.selected');
|
|
123
125
|
this.appendTaskButton = page.getByRole('button', { name: 'Append task' });
|
|
124
126
|
this.changeTypeButton = page.getByRole('button', {
|
|
125
127
|
name: 'Change element',
|
|
@@ -513,6 +515,7 @@ class ModelerCreatePage {
|
|
|
513
515
|
else if (parentElement == 'parallelGateway') {
|
|
514
516
|
await this.clickSecondPlacedGateway();
|
|
515
517
|
}
|
|
518
|
+
await this.openAppendCreatePad();
|
|
516
519
|
await this.appendElementButton.hover();
|
|
517
520
|
await this.appendEndEventButton.click({ timeout: 120000 });
|
|
518
521
|
}
|
|
@@ -835,6 +838,13 @@ class ModelerCreatePage {
|
|
|
835
838
|
await this.endEventCanvas.click({ timeout: 60000 });
|
|
836
839
|
}
|
|
837
840
|
async clickConnectToOtherElementButton() {
|
|
841
|
+
// 'Connect to other element' is a create-pad entry
|
|
842
|
+
// (`data-entry-id="connect"`), so the pad has to be open before the entry
|
|
843
|
+
// exists at all. The element this is called on already has an outgoing
|
|
844
|
+
// sequence flow, which is exactly the case that no longer auto-opens the
|
|
845
|
+
// pad since improved-canvas 1.11.0 — go through the append indicator
|
|
846
|
+
// first, which is what clickAppendElementButton does (with its retries).
|
|
847
|
+
await this.clickAppendElementButton();
|
|
838
848
|
await (0, test_1.expect)(this.connectToOtherElementButton).toBeVisible({
|
|
839
849
|
timeout: 60000,
|
|
840
850
|
});
|
|
@@ -851,11 +861,36 @@ class ModelerCreatePage {
|
|
|
851
861
|
await (0, test_1.expect)(this.secondElement).toBeVisible({ timeout: 60000 });
|
|
852
862
|
await this.secondElement.click({ timeout: 60000 });
|
|
853
863
|
}
|
|
864
|
+
// Selecting an element no longer opens the append create pad on its own.
|
|
865
|
+
// @camunda/improved-canvas gives the selected element a "+" overlay
|
|
866
|
+
// (.djs-append-indicator) instead, and only a mouseenter on that indicator
|
|
867
|
+
// opens the pad (AppendIndicator#_openMenu) — camunda-hub's own e2e suite
|
|
868
|
+
// does exactly this in its `openAppend` cypress command. The pad still opens
|
|
869
|
+
// by itself right after an append, and the indicator hides once the pad is
|
|
870
|
+
// open, so both lookups are best-effort and this is a no-op in that case.
|
|
871
|
+
async openAppendCreatePad() {
|
|
872
|
+
const padAlreadyOpen = await this.appendElementButton
|
|
873
|
+
.isVisible()
|
|
874
|
+
.catch(() => false);
|
|
875
|
+
if (padAlreadyOpen) {
|
|
876
|
+
return;
|
|
877
|
+
}
|
|
878
|
+
const indicator = this.appendIndicator.first();
|
|
879
|
+
const indicatorShown = await indicator
|
|
880
|
+
.waitFor({ state: 'visible', timeout: 10000 })
|
|
881
|
+
.then(() => true)
|
|
882
|
+
.catch(() => false);
|
|
883
|
+
if (!indicatorShown) {
|
|
884
|
+
return;
|
|
885
|
+
}
|
|
886
|
+
await indicator.hover({ force: true, timeout: 30000 });
|
|
887
|
+
}
|
|
854
888
|
async clickAppendElementButton() {
|
|
855
889
|
const maxRetries = 3;
|
|
856
890
|
for (let retries = 0; retries < maxRetries; retries++) {
|
|
857
891
|
try {
|
|
858
892
|
await this.page.waitForTimeout(1000);
|
|
893
|
+
await this.openAppendCreatePad();
|
|
859
894
|
await (0, test_1.expect)(this.appendElementButton).toBeVisible({ timeout: 10000 });
|
|
860
895
|
await this.appendElementButton.hover({ force: true });
|
|
861
896
|
return;
|
|
@@ -1065,6 +1100,7 @@ class ModelerCreatePage {
|
|
|
1065
1100
|
async clickFirstPlacedGateway() {
|
|
1066
1101
|
try {
|
|
1067
1102
|
await this.firstPlacedGateway.click({ timeout: 60000 });
|
|
1103
|
+
await this.openAppendCreatePad();
|
|
1068
1104
|
await (0, test_1.expect)(this.appendElementButton).toBeVisible({ timeout: 60000 });
|
|
1069
1105
|
}
|
|
1070
1106
|
catch (error) {
|
|
@@ -1101,6 +1137,7 @@ class ModelerCreatePage {
|
|
|
1101
1137
|
await this.page.reload();
|
|
1102
1138
|
await (0, sleep_1.sleep)(20000);
|
|
1103
1139
|
await this.clickFirstPlacedElement();
|
|
1140
|
+
await this.openAppendCreatePad();
|
|
1104
1141
|
await this.appendElementButton.hover();
|
|
1105
1142
|
}
|
|
1106
1143
|
await this.clickAppendGatewayButton();
|
|
@@ -301,10 +301,7 @@ _8_9_1.test.describe('HTO User Flow Tests', () => {
|
|
|
301
301
|
await (0, expectTextWithPagination_1.expectTextWithPagination)(page, processName + '2');
|
|
302
302
|
});
|
|
303
303
|
});
|
|
304
|
-
|
|
305
|
-
// https://github.com/camunda/c8-cross-component-e2e-tests/pull/3144
|
|
306
|
-
// Re-enable in the same change that lands #3144.
|
|
307
|
-
_8_9_1.test.skip('Zeebe User Task With Priority', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, taskPanelPage, taskDetailsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
304
|
+
(0, _8_9_1.test)('Zeebe User Task With Priority', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, taskPanelPage, taskDetailsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
308
305
|
const randomName = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
309
306
|
const processName = 'Zeebe_User_Task_Process_With_Priority' + randomName;
|
|
310
307
|
const taskName = 'priorityTest' + randomName;
|
|
@@ -36,10 +36,7 @@ _8_9_1.test.describe('Smoke Tests', () => {
|
|
|
36
36
|
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
37
37
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
38
38
|
});
|
|
39
|
-
|
|
40
|
-
// https://github.com/camunda/c8-cross-component-e2e-tests/pull/3144
|
|
41
|
-
// Re-enable in the same change that lands #3144.
|
|
42
|
-
_8_9_1.test.skip('Most Common Flow User Flow With All Apps', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, }) => {
|
|
39
|
+
(0, _8_9_1.test)('Most Common Flow User Flow With All Apps', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, }) => {
|
|
43
40
|
_8_9_1.test.slow();
|
|
44
41
|
const randomString = useFixedNames
|
|
45
42
|
? 'UpgradeTest'
|