@camunda/e2e-test-suite 0.0.922 → 0.0.924
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/ModelerCreatePage.d.ts +1 -0
- package/dist/pages/8.10/ModelerCreatePage.js +65 -9
- package/dist/pages/8.7/ModelerCreatePage.js +14 -4
- package/dist/pages/8.8/ModelerCreatePage.js +14 -4
- package/dist/pages/8.9/ModelerCreatePage.js +10 -6
- package/dist/pages/SM-8.10/ModelerCreatePage.js +10 -4
- package/package.json +1 -1
|
@@ -107,6 +107,7 @@ declare class ModelerCreatePage {
|
|
|
107
107
|
constructor(page: Page);
|
|
108
108
|
clickSecondDeployButton(): Promise<void>;
|
|
109
109
|
modelJobWorkerDiagram(processName: string, embedFrom?: boolean, processId?: string): Promise<void>;
|
|
110
|
+
private waitForDiagramEditorToLoad;
|
|
110
111
|
modelCamundaUserTaskDiagram(processName: string, processId?: string, formName?: string): Promise<void>;
|
|
111
112
|
assignToCandidateGroup(taskName: string, candidateGroup: string, assignee?: string): Promise<void>;
|
|
112
113
|
assignToCandidateUser(taskName: string, candidateUser: string, assignee?: string): Promise<void>;
|
|
@@ -357,10 +357,29 @@ class ModelerCreatePage {
|
|
|
357
357
|
await this.clickAppendEndEventButton();
|
|
358
358
|
await (0, sleep_1.sleep)(20000);
|
|
359
359
|
}
|
|
360
|
+
// Opening the freshly created diagram occasionally lands on a bare gateway
|
|
361
|
+
// error page instead of the editor (the nightly captured Envoy's "upstream
|
|
362
|
+
// connect error or disconnect/reset before headers" plain-text response). That
|
|
363
|
+
// page never renders the properties panel, so one long wait just burns the
|
|
364
|
+
// whole budget before failing; reload between attempts so the blip recovers.
|
|
365
|
+
async waitForDiagramEditorToLoad() {
|
|
366
|
+
const maxAttempts = 3;
|
|
367
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
368
|
+
try {
|
|
369
|
+
await (0, test_1.expect)(this.generalPanel).toBeVisible({ timeout: 60000 });
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
catch (error) {
|
|
373
|
+
if (attempt === maxAttempts - 1) {
|
|
374
|
+
throw error;
|
|
375
|
+
}
|
|
376
|
+
console.warn(`Diagram editor did not load on attempt ${attempt + 1}; reloading.`);
|
|
377
|
+
await this.page.reload();
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
360
381
|
async modelCamundaUserTaskDiagram(processName, processId = '', formName = '') {
|
|
361
|
-
await
|
|
362
|
-
timeout: 180000,
|
|
363
|
-
});
|
|
382
|
+
await this.waitForDiagramEditorToLoad();
|
|
364
383
|
await this.enterDiagramName(processName);
|
|
365
384
|
await (0, sleep_1.sleep)(15000);
|
|
366
385
|
if (processId.length > 0) {
|
|
@@ -663,9 +682,36 @@ class ModelerCreatePage {
|
|
|
663
682
|
async clickEditDiagramNameButton() {
|
|
664
683
|
await this.renameDiagramNameButton.click({ timeout: 10000 });
|
|
665
684
|
}
|
|
685
|
+
// The rename can silently no-op: camunda-hub's breadcrumb name editor
|
|
686
|
+
// (InlineEditable) resets its input back to the stored diagram name whenever
|
|
687
|
+
// the diagram store pushes a new value, and `renameDiagram` returns early when
|
|
688
|
+
// the submitted name equals the stored one — so an Enter that races the
|
|
689
|
+
// editor's initial autosave commits nothing. The diagram then keeps its
|
|
690
|
+
// "New BPMN diagram" default name, and every later lookup by process name
|
|
691
|
+
// (Operate's instance list, Tasklist, Play) can never match, which is what the
|
|
692
|
+
// nightly showed: three instances deployed as "New BPMN diagram". Confirm the
|
|
693
|
+
// name landed in the breadcrumb and re-open the editor to retry if it didn't.
|
|
666
694
|
async enterDiagramName(name) {
|
|
667
|
-
|
|
668
|
-
|
|
695
|
+
const maxAttempts = 3;
|
|
696
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
697
|
+
if (attempt > 0) {
|
|
698
|
+
await this.clickDiagramBreadcrumb();
|
|
699
|
+
await this.clickEditDiagramNameButton();
|
|
700
|
+
}
|
|
701
|
+
await this.diagramNameInput.fill(name, { timeout: 90000 });
|
|
702
|
+
await this.diagramNameInput.press('Enter', { timeout: 90000 });
|
|
703
|
+
try {
|
|
704
|
+
await this.diagramNameBreadcrumb(name).waitFor({
|
|
705
|
+
state: 'visible',
|
|
706
|
+
timeout: 30000,
|
|
707
|
+
});
|
|
708
|
+
return;
|
|
709
|
+
}
|
|
710
|
+
catch {
|
|
711
|
+
console.warn(`Diagram rename to "${name}" did not commit on attempt ${attempt + 1}.`);
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
throw new Error(`Diagram name was not set to "${name}".`);
|
|
669
715
|
}
|
|
670
716
|
async clickVariableInput() {
|
|
671
717
|
await this.variableInput.click({ timeout: 60000 });
|
|
@@ -1151,10 +1197,20 @@ class ModelerCreatePage {
|
|
|
1151
1197
|
.getByText('Deploy process')
|
|
1152
1198
|
.locator('..')
|
|
1153
1199
|
.getByRole('button', { name: 'Deploy' });
|
|
1154
|
-
//
|
|
1155
|
-
//
|
|
1156
|
-
//
|
|
1157
|
-
|
|
1200
|
+
// Both attributes on this button have been renamed by camunda-hub, in
|
|
1201
|
+
// separate commits: a90fd06 changed the label from "Configure scenario" to
|
|
1202
|
+
// "Configure test case", and b3958a1649 (#27259, 2026-08-07) then changed
|
|
1203
|
+
// the test id from `play-configuration-configure-scenario-button` to
|
|
1204
|
+
// `configure-test-case-button`. Match current test id, then pre-rename test
|
|
1205
|
+
// id, then either label, so a further rename of any single attribute cannot
|
|
1206
|
+
// break the step.
|
|
1207
|
+
const configureScenarioButton = this.page
|
|
1208
|
+
.getByTestId('configure-test-case-button')
|
|
1209
|
+
.or(this.page.getByTestId('play-configuration-configure-scenario-button'))
|
|
1210
|
+
.or(this.page.getByRole('button', {
|
|
1211
|
+
name: /^Configure (test case|scenario)$/,
|
|
1212
|
+
}))
|
|
1213
|
+
.first();
|
|
1158
1214
|
// Wait up to 15s for EITHER the new-flow setup panel OR the legacy Continue
|
|
1159
1215
|
// button to appear. Using .or() avoids separate sequential timeouts that would
|
|
1160
1216
|
// both expire before the page finishes loading on a slow cluster.
|
|
@@ -1049,10 +1049,20 @@ class ModelerCreatePage {
|
|
|
1049
1049
|
.getByText('Deploy process')
|
|
1050
1050
|
.locator('..')
|
|
1051
1051
|
.getByRole('button', { name: 'Deploy' });
|
|
1052
|
-
//
|
|
1053
|
-
//
|
|
1054
|
-
//
|
|
1055
|
-
|
|
1052
|
+
// Both attributes on this button have been renamed by camunda-hub, in
|
|
1053
|
+
// separate commits: a90fd06 changed the label from "Configure scenario" to
|
|
1054
|
+
// "Configure test case", and b3958a1649 (#27259, 2026-08-07) then changed
|
|
1055
|
+
// the test id from `play-configuration-configure-scenario-button` to
|
|
1056
|
+
// `configure-test-case-button`. Match current test id, then pre-rename test
|
|
1057
|
+
// id, then either label, so a further rename of any single attribute cannot
|
|
1058
|
+
// break the step.
|
|
1059
|
+
const configureScenarioButton = this.page
|
|
1060
|
+
.getByTestId('configure-test-case-button')
|
|
1061
|
+
.or(this.page.getByTestId('play-configuration-configure-scenario-button'))
|
|
1062
|
+
.or(this.page.getByRole('button', {
|
|
1063
|
+
name: /^Configure (test case|scenario)$/,
|
|
1064
|
+
}))
|
|
1065
|
+
.first();
|
|
1056
1066
|
// Wait up to 15s for EITHER the new-flow setup panel OR the legacy Continue
|
|
1057
1067
|
// button to appear.
|
|
1058
1068
|
const setupOrContinue = setupDeployButton.or(this.continueToPlayButton);
|
|
@@ -1198,10 +1198,20 @@ class ModelerCreatePage {
|
|
|
1198
1198
|
.getByText('Deploy process')
|
|
1199
1199
|
.locator('..')
|
|
1200
1200
|
.getByRole('button', { name: 'Deploy' });
|
|
1201
|
-
//
|
|
1202
|
-
//
|
|
1203
|
-
//
|
|
1204
|
-
|
|
1201
|
+
// Both attributes on this button have been renamed by camunda-hub, in
|
|
1202
|
+
// separate commits: a90fd06 changed the label from "Configure scenario" to
|
|
1203
|
+
// "Configure test case", and b3958a1649 (#27259, 2026-08-07) then changed
|
|
1204
|
+
// the test id from `play-configuration-configure-scenario-button` to
|
|
1205
|
+
// `configure-test-case-button`. Match current test id, then pre-rename test
|
|
1206
|
+
// id, then either label, so a further rename of any single attribute cannot
|
|
1207
|
+
// break the step.
|
|
1208
|
+
const configureScenarioButton = this.page
|
|
1209
|
+
.getByTestId('configure-test-case-button')
|
|
1210
|
+
.or(this.page.getByTestId('play-configuration-configure-scenario-button'))
|
|
1211
|
+
.or(this.page.getByRole('button', {
|
|
1212
|
+
name: /^Configure (test case|scenario)$/,
|
|
1213
|
+
}))
|
|
1214
|
+
.first();
|
|
1205
1215
|
// Wait up to 15s for EITHER the new-flow setup panel OR the legacy Continue
|
|
1206
1216
|
// button to appear. Using .or() avoids separate sequential timeouts that would
|
|
1207
1217
|
// both expire before the page finishes loading on a slow cluster.
|
|
@@ -1146,15 +1146,19 @@ class ModelerCreatePage {
|
|
|
1146
1146
|
.getByText('Deploy process')
|
|
1147
1147
|
.locator('..')
|
|
1148
1148
|
.getByRole('button', { name: 'Deploy' });
|
|
1149
|
-
//
|
|
1150
|
-
//
|
|
1151
|
-
// test
|
|
1152
|
-
// `configure-
|
|
1153
|
-
//
|
|
1154
|
-
//
|
|
1149
|
+
// Both attributes on this button have been renamed by camunda-hub, in
|
|
1150
|
+
// separate commits: a90fd06 changed the label from "Configure scenario" to
|
|
1151
|
+
// "Configure test case", and b3958a1649 (#27259, 2026-08-07) then changed
|
|
1152
|
+
// the test id from `play-configuration-configure-scenario-button` to
|
|
1153
|
+
// `configure-test-case-button`. Match current test id, then pre-rename test
|
|
1154
|
+
// id, then either label, so a further rename of any single attribute cannot
|
|
1155
|
+
// break the step.
|
|
1155
1156
|
const configureScenarioButton = this.page
|
|
1156
1157
|
.getByTestId('configure-test-case-button')
|
|
1157
1158
|
.or(this.page.getByTestId('play-configuration-configure-scenario-button'))
|
|
1159
|
+
.or(this.page.getByRole('button', {
|
|
1160
|
+
name: /^Configure (test case|scenario)$/,
|
|
1161
|
+
}))
|
|
1158
1162
|
.first();
|
|
1159
1163
|
// Wait up to 15s for EITHER the new-flow setup panel OR the legacy Continue
|
|
1160
1164
|
// button to appear. Using .or() avoids separate sequential timeouts that would
|
|
@@ -890,13 +890,19 @@ class ModelerCreatePage {
|
|
|
890
890
|
.getByText('Deploy process')
|
|
891
891
|
.locator('..')
|
|
892
892
|
.getByRole('button', { name: 'Deploy' });
|
|
893
|
-
//
|
|
894
|
-
//
|
|
895
|
-
//
|
|
896
|
-
//
|
|
893
|
+
// Both attributes on this button have been renamed by camunda-hub, in
|
|
894
|
+
// separate commits: a90fd06 changed the label from "Configure scenario" to
|
|
895
|
+
// "Configure test case", and b3958a1649 (#27259, 2026-08-07) then changed
|
|
896
|
+
// the test id from `play-configuration-configure-scenario-button` to
|
|
897
|
+
// `configure-test-case-button`. Match current test id, then pre-rename test
|
|
898
|
+
// id, then either label, so a further rename of any single attribute cannot
|
|
899
|
+
// break the step.
|
|
897
900
|
const configureScenarioButton = this.page
|
|
898
901
|
.getByTestId('configure-test-case-button')
|
|
899
902
|
.or(this.page.getByTestId('play-configuration-configure-scenario-button'))
|
|
903
|
+
.or(this.page.getByRole('button', {
|
|
904
|
+
name: /^Configure (test case|scenario)$/,
|
|
905
|
+
}))
|
|
900
906
|
.first();
|
|
901
907
|
// Wait up to 15s for EITHER the new-flow setup panel OR the legacy Continue
|
|
902
908
|
// button to appear. Using .or() avoids separate sequential timeouts that would
|