@camunda/e2e-test-suite 0.0.713 → 0.0.715
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/.github/c8_versions.json +0 -3
- package/README.md +0 -6
- package/dist/pages/8.8/ClusterDetailsPage.js +5 -2
- package/dist/pages/8.8/ModelerCreatePage.js +10 -14
- package/dist/utils/clusterVersions.d.ts +0 -1
- package/dist/utils/clusterVersions.js +0 -1
- package/package.json +1 -1
- package/dist/fixtures/8.6.d.ts +0 -63
- package/dist/fixtures/8.6.js +0 -162
- package/dist/fixtures/SM-8.6.d.ts +0 -63
- package/dist/fixtures/SM-8.6.js +0 -149
- package/dist/fixtures/c8Run-8.6.d.ts +0 -20
- package/dist/fixtures/c8Run-8.6.js +0 -56
- package/dist/pages/8.6/AppsPage.d.ts +0 -33
- package/dist/pages/8.6/AppsPage.js +0 -337
- package/dist/pages/8.6/ClientCredentialsDetailsPage.d.ts +0 -12
- package/dist/pages/8.6/ClientCredentialsDetailsPage.js +0 -36
- package/dist/pages/8.6/ClusterDetailsPage.d.ts +0 -75
- package/dist/pages/8.6/ClusterDetailsPage.js +0 -443
- package/dist/pages/8.6/ClusterPage.d.ts +0 -59
- package/dist/pages/8.6/ClusterPage.js +0 -320
- package/dist/pages/8.6/ClusterSecretsPage.d.ts +0 -28
- package/dist/pages/8.6/ClusterSecretsPage.js +0 -134
- package/dist/pages/8.6/ConnectorMarketplacePage.d.ts +0 -19
- package/dist/pages/8.6/ConnectorMarketplacePage.js +0 -60
- package/dist/pages/8.6/ConnectorSettingsPage.d.ts +0 -38
- package/dist/pages/8.6/ConnectorSettingsPage.js +0 -133
- package/dist/pages/8.6/ConnectorTemplatePage.d.ts +0 -11
- package/dist/pages/8.6/ConnectorTemplatePage.js +0 -34
- package/dist/pages/8.6/ConsoleOrganizationPage.d.ts +0 -87
- package/dist/pages/8.6/ConsoleOrganizationPage.js +0 -495
- package/dist/pages/8.6/FormJsPage.d.ts +0 -30
- package/dist/pages/8.6/FormJsPage.js +0 -112
- package/dist/pages/8.6/HomePage.d.ts +0 -27
- package/dist/pages/8.6/HomePage.js +0 -101
- package/dist/pages/8.6/LoginPage.d.ts +0 -30
- package/dist/pages/8.6/LoginPage.js +0 -85
- package/dist/pages/8.6/ModelerCreatePage.d.ts +0 -211
- package/dist/pages/8.6/ModelerCreatePage.js +0 -1125
- package/dist/pages/8.6/ModelerHomePage.d.ts +0 -48
- package/dist/pages/8.6/ModelerHomePage.js +0 -213
- package/dist/pages/8.6/ModelerUserInvitePage.d.ts +0 -28
- package/dist/pages/8.6/ModelerUserInvitePage.js +0 -106
- package/dist/pages/8.6/OperateHomePage.d.ts +0 -21
- package/dist/pages/8.6/OperateHomePage.js +0 -57
- package/dist/pages/8.6/OperateProcessInstancePage.d.ts +0 -17
- package/dist/pages/8.6/OperateProcessInstancePage.js +0 -58
- package/dist/pages/8.6/OperateProcessesPage.d.ts +0 -21
- package/dist/pages/8.6/OperateProcessesPage.js +0 -77
- package/dist/pages/8.6/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/8.6/OptimizeCollectionsPage.js +0 -44
- package/dist/pages/8.6/OptimizeDashboardPage.d.ts +0 -11
- package/dist/pages/8.6/OptimizeDashboardPage.js +0 -65
- package/dist/pages/8.6/OptimizeHomePage.d.ts +0 -12
- package/dist/pages/8.6/OptimizeHomePage.js +0 -32
- package/dist/pages/8.6/OptimizeReportPage.d.ts +0 -48
- package/dist/pages/8.6/OptimizeReportPage.js +0 -163
- package/dist/pages/8.6/PlayPage.d.ts +0 -14
- package/dist/pages/8.6/PlayPage.js +0 -66
- package/dist/pages/8.6/SettingsPage.d.ts +0 -10
- package/dist/pages/8.6/SettingsPage.js +0 -43
- package/dist/pages/8.6/SignUpPage.d.ts +0 -43
- package/dist/pages/8.6/SignUpPage.js +0 -136
- package/dist/pages/8.6/TaskDetailsPage.d.ts +0 -66
- package/dist/pages/8.6/TaskDetailsPage.js +0 -214
- package/dist/pages/8.6/TaskPanelPage.d.ts +0 -18
- package/dist/pages/8.6/TaskPanelPage.js +0 -54
- package/dist/pages/8.6/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/8.6/TaskProcessesPage.js +0 -35
- package/dist/pages/8.6/UtilitiesPage.d.ts +0 -38
- package/dist/pages/8.6/UtilitiesPage.js +0 -328
- package/dist/pages/SM-8.6/ConnectorMarketplacePage.d.ts +0 -16
- package/dist/pages/SM-8.6/ConnectorMarketplacePage.js +0 -48
- package/dist/pages/SM-8.6/ConnectorSettingsPage.d.ts +0 -28
- package/dist/pages/SM-8.6/ConnectorSettingsPage.js +0 -82
- package/dist/pages/SM-8.6/ConnectorTemplatePage.d.ts +0 -11
- package/dist/pages/SM-8.6/ConnectorTemplatePage.js +0 -34
- package/dist/pages/SM-8.6/ConsoleHomePage.d.ts +0 -9
- package/dist/pages/SM-8.6/ConsoleHomePage.js +0 -22
- package/dist/pages/SM-8.6/ConsoleOrganizationPage.d.ts +0 -22
- package/dist/pages/SM-8.6/ConsoleOrganizationPage.js +0 -68
- package/dist/pages/SM-8.6/FormJsPage.d.ts +0 -13
- package/dist/pages/SM-8.6/FormJsPage.js +0 -30
- package/dist/pages/SM-8.6/HomePage.d.ts +0 -20
- package/dist/pages/SM-8.6/HomePage.js +0 -49
- package/dist/pages/SM-8.6/IdentityPage.d.ts +0 -67
- package/dist/pages/SM-8.6/IdentityPage.js +0 -266
- package/dist/pages/SM-8.6/IdentityTenantPage.d.ts +0 -50
- package/dist/pages/SM-8.6/IdentityTenantPage.js +0 -196
- package/dist/pages/SM-8.6/IdentityUsersPage.d.ts +0 -90
- package/dist/pages/SM-8.6/IdentityUsersPage.js +0 -505
- package/dist/pages/SM-8.6/KeycloakAdminPage.d.ts +0 -15
- package/dist/pages/SM-8.6/KeycloakAdminPage.js +0 -56
- package/dist/pages/SM-8.6/KeycloakLoginPage.d.ts +0 -11
- package/dist/pages/SM-8.6/KeycloakLoginPage.js +0 -25
- package/dist/pages/SM-8.6/KeycloakUtils.d.ts +0 -15
- package/dist/pages/SM-8.6/KeycloakUtils.js +0 -58
- package/dist/pages/SM-8.6/LoginPage.d.ts +0 -22
- package/dist/pages/SM-8.6/LoginPage.js +0 -123
- package/dist/pages/SM-8.6/ModelerCreatePage.d.ts +0 -167
- package/dist/pages/SM-8.6/ModelerCreatePage.js +0 -852
- package/dist/pages/SM-8.6/ModelerHomePage.d.ts +0 -41
- package/dist/pages/SM-8.6/ModelerHomePage.js +0 -150
- package/dist/pages/SM-8.6/NavigationPage.d.ts +0 -42
- package/dist/pages/SM-8.6/NavigationPage.js +0 -119
- package/dist/pages/SM-8.6/OperateHomePage.d.ts +0 -23
- package/dist/pages/SM-8.6/OperateHomePage.js +0 -65
- package/dist/pages/SM-8.6/OperateProcessInstancePage.d.ts +0 -22
- package/dist/pages/SM-8.6/OperateProcessInstancePage.js +0 -139
- package/dist/pages/SM-8.6/OperateProcessesPage.d.ts +0 -33
- package/dist/pages/SM-8.6/OperateProcessesPage.js +0 -166
- package/dist/pages/SM-8.6/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/SM-8.6/OptimizeCollectionsPage.js +0 -44
- package/dist/pages/SM-8.6/OptimizeDashboardPage.d.ts +0 -14
- package/dist/pages/SM-8.6/OptimizeDashboardPage.js +0 -56
- package/dist/pages/SM-8.6/OptimizeHomePage.d.ts +0 -19
- package/dist/pages/SM-8.6/OptimizeHomePage.js +0 -62
- package/dist/pages/SM-8.6/OptimizeReportPage.d.ts +0 -50
- package/dist/pages/SM-8.6/OptimizeReportPage.js +0 -162
- package/dist/pages/SM-8.6/PlayPage.d.ts +0 -19
- package/dist/pages/SM-8.6/PlayPage.js +0 -103
- package/dist/pages/SM-8.6/SettingsPage.d.ts +0 -10
- package/dist/pages/SM-8.6/SettingsPage.js +0 -20
- package/dist/pages/SM-8.6/TaskDetailsPage.d.ts +0 -64
- package/dist/pages/SM-8.6/TaskDetailsPage.js +0 -240
- package/dist/pages/SM-8.6/TaskPanelPage.d.ts +0 -22
- package/dist/pages/SM-8.6/TaskPanelPage.js +0 -68
- package/dist/pages/SM-8.6/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/SM-8.6/TaskProcessesPage.js +0 -31
- package/dist/pages/SM-8.6/UtlitiesPage.d.ts +0 -21
- package/dist/pages/SM-8.6/UtlitiesPage.js +0 -207
- package/dist/pages/SM-8.6/optimizeReportUtils.d.ts +0 -6
- package/dist/pages/SM-8.6/optimizeReportUtils.js +0 -42
- package/dist/pages/c8Run-8.6/OperateHomePage.d.ts +0 -20
- package/dist/pages/c8Run-8.6/OperateHomePage.js +0 -52
- package/dist/pages/c8Run-8.6/OperateLoginPage.d.ts +0 -14
- package/dist/pages/c8Run-8.6/OperateLoginPage.js +0 -37
- package/dist/pages/c8Run-8.6/OperateProcessInstancePage.d.ts +0 -17
- package/dist/pages/c8Run-8.6/OperateProcessInstancePage.js +0 -76
- package/dist/pages/c8Run-8.6/OperateProcessesPage.d.ts +0 -20
- package/dist/pages/c8Run-8.6/OperateProcessesPage.js +0 -84
- package/dist/pages/c8Run-8.6/TaskDetailsPage.d.ts +0 -65
- package/dist/pages/c8Run-8.6/TaskDetailsPage.js +0 -219
- package/dist/pages/c8Run-8.6/TaskListLoginPage.d.ts +0 -14
- package/dist/pages/c8Run-8.6/TaskListLoginPage.js +0 -37
- package/dist/pages/c8Run-8.6/TaskPanelPage.d.ts +0 -23
- package/dist/pages/c8Run-8.6/TaskPanelPage.js +0 -76
- package/dist/pages/c8Run-8.6/UtilitiesPage.d.ts +0 -6
- package/dist/pages/c8Run-8.6/UtilitiesPage.js +0 -45
- package/dist/tests/8.6/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/connectors-user-flows.spec.js +0 -435
- package/dist/tests/8.6/console-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/console-user-flows.spec.js +0 -193
- package/dist/tests/8.6/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/hto-user-flows.spec.js +0 -365
- package/dist/tests/8.6/login.spec.d.ts +0 -1
- package/dist/tests/8.6/login.spec.js +0 -27
- package/dist/tests/8.6/navigation.spec.d.ts +0 -1
- package/dist/tests/8.6/navigation.spec.js +0 -57
- package/dist/tests/8.6/operate-access-flow.spec.d.ts +0 -1
- package/dist/tests/8.6/operate-access-flow.spec.js +0 -57
- package/dist/tests/8.6/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/optimize-user-flows.spec.js +0 -231
- package/dist/tests/8.6/play.spec.d.ts +0 -1
- package/dist/tests/8.6/play.spec.js +0 -94
- package/dist/tests/8.6/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/rba-enabled-user-flows.spec.js +0 -288
- package/dist/tests/8.6/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/8.6/smoke-tests.spec.js +0 -188
- package/dist/tests/8.6/test-setup.spec.d.ts +0 -1
- package/dist/tests/8.6/test-setup.spec.js +0 -68
- package/dist/tests/8.6/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/web-modeler-user-flows.spec.js +0 -692
- package/dist/tests/SM-8.6/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/connectors-user-flows.spec.js +0 -247
- package/dist/tests/SM-8.6/console-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/console-user-flows.spec.js +0 -55
- package/dist/tests/SM-8.6/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/hto-user-flows.spec.js +0 -393
- package/dist/tests/SM-8.6/license-key-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/license-key-user-flows.spec.js +0 -462
- package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.js +0 -500
- package/dist/tests/SM-8.6/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/optimize-user-flows.spec.js +0 -186
- package/dist/tests/SM-8.6/play.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/play.spec.js +0 -87
- package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.js +0 -242
- package/dist/tests/SM-8.6/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/smoke-tests.spec.js +0 -158
- package/dist/tests/SM-8.6/test-setup.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/test-setup.spec.js +0 -134
- package/dist/tests/SM-8.6/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/web-modeler-user-flows.spec.js +0 -126
- package/dist/tests/c8Run-8.6/api-tests.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/api-tests.spec.js +0 -67
- package/dist/tests/c8Run-8.6/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/connectors-user-flows.spec.js +0 -119
- package/dist/tests/c8Run-8.6/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/hto-user-flows.spec.js +0 -199
- package/dist/tests/c8Run-8.6/login.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/login.spec.js +0 -22
|
@@ -1,852 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelerCreatePage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
const ConnectorMarketplacePage_1 = require("./ConnectorMarketplacePage");
|
|
6
|
-
const sleep_1 = require("../../utils/sleep");
|
|
7
|
-
class ModelerCreatePage {
|
|
8
|
-
page;
|
|
9
|
-
generalPanel;
|
|
10
|
-
idInput;
|
|
11
|
-
taskDefinitionPanel;
|
|
12
|
-
processIdInput;
|
|
13
|
-
elemendIdInput;
|
|
14
|
-
startEventElement;
|
|
15
|
-
appendTaskButton;
|
|
16
|
-
changeTypeButton;
|
|
17
|
-
userTaskOption;
|
|
18
|
-
serviceTaskOption;
|
|
19
|
-
appendEndEventButton;
|
|
20
|
-
appendGatewayButton;
|
|
21
|
-
parallelGatewayOption;
|
|
22
|
-
startInstanceMainButton;
|
|
23
|
-
startInstanceSubButton;
|
|
24
|
-
viewProcessInstanceLink;
|
|
25
|
-
nameInput;
|
|
26
|
-
jobTypeInput;
|
|
27
|
-
diagramBreadcrumb;
|
|
28
|
-
editDiagramNameButton;
|
|
29
|
-
diagramNameInput;
|
|
30
|
-
variableInput;
|
|
31
|
-
embedFormButton;
|
|
32
|
-
embedButton;
|
|
33
|
-
newForm;
|
|
34
|
-
deployMainButton;
|
|
35
|
-
deploySubButton;
|
|
36
|
-
cancelButton;
|
|
37
|
-
restConnectorOption;
|
|
38
|
-
marketPlaceButton;
|
|
39
|
-
clusterEndpointTextbox;
|
|
40
|
-
operateBaseUrlTextbox;
|
|
41
|
-
tasklistBaseUrlTextbox;
|
|
42
|
-
zeebeRestUrlTextbox;
|
|
43
|
-
clientIdTextbox;
|
|
44
|
-
clientSecretTextbox;
|
|
45
|
-
oauthUrlTextbox;
|
|
46
|
-
audienceTextbox;
|
|
47
|
-
operateAudienceTextbox;
|
|
48
|
-
tasklistAudienceTextbox;
|
|
49
|
-
rememberCredentialsCheckbox;
|
|
50
|
-
oAuthCheckbox;
|
|
51
|
-
webhookMessageStartEventConnectorOption;
|
|
52
|
-
webhookIdInput;
|
|
53
|
-
implementationSection;
|
|
54
|
-
assignmentSection;
|
|
55
|
-
priorityInput;
|
|
56
|
-
implementationOptions;
|
|
57
|
-
secondElement;
|
|
58
|
-
firstElement;
|
|
59
|
-
appendElementButton;
|
|
60
|
-
firstPlacedGateway;
|
|
61
|
-
secondPlacedGateway;
|
|
62
|
-
connectToOtherElementButton;
|
|
63
|
-
canvas;
|
|
64
|
-
playTab;
|
|
65
|
-
continueToPlayButton;
|
|
66
|
-
intermediateBoundaryEvent;
|
|
67
|
-
intermediateWebhookConnectorOption;
|
|
68
|
-
correlationKeyProcessInput;
|
|
69
|
-
correlationKeyPayloadInput;
|
|
70
|
-
candidateUsersInput;
|
|
71
|
-
assigneeInput;
|
|
72
|
-
candidateGroupsInput;
|
|
73
|
-
thirdElement;
|
|
74
|
-
tenantIdInput;
|
|
75
|
-
dialog;
|
|
76
|
-
timerEventOption;
|
|
77
|
-
timerEventSettings;
|
|
78
|
-
timerType;
|
|
79
|
-
timerValue;
|
|
80
|
-
eighthPlacedElement;
|
|
81
|
-
processIdSecondLocator;
|
|
82
|
-
constructor(page) {
|
|
83
|
-
this.page = page;
|
|
84
|
-
this.generalPanel = page.locator('[data-group-id="group-general"]');
|
|
85
|
-
this.idInput = page.getByLabel('ID', { exact: true });
|
|
86
|
-
this.taskDefinitionPanel = page.getByTitle('Task definition').first();
|
|
87
|
-
this.processIdInput = page.getByLabel('ID', { exact: true });
|
|
88
|
-
this.elemendIdInput = page.getByLabel('ID', { exact: true });
|
|
89
|
-
this.startEventElement = page.locator('.djs-hit').first();
|
|
90
|
-
this.appendTaskButton = page.getByTitle('Append task');
|
|
91
|
-
this.changeTypeButton = page.getByRole('button', {
|
|
92
|
-
name: 'Change element',
|
|
93
|
-
exact: true,
|
|
94
|
-
});
|
|
95
|
-
this.userTaskOption = page
|
|
96
|
-
.getByRole('listitem', { name: 'User task' })
|
|
97
|
-
.locator('span')
|
|
98
|
-
.first();
|
|
99
|
-
this.serviceTaskOption = page.getByRole('listitem', { name: 'Service Task' });
|
|
100
|
-
this.appendEndEventButton = page.getByTitle('Append end event');
|
|
101
|
-
this.appendGatewayButton = page.getByTitle('append gateway');
|
|
102
|
-
this.parallelGatewayOption = page.getByText('parallel gateway');
|
|
103
|
-
this.startInstanceMainButton = page.locator('[data-test="start-instance-button"]');
|
|
104
|
-
this.startInstanceSubButton = page
|
|
105
|
-
.getByLabel('Start instance')
|
|
106
|
-
.getByRole('button', { name: 'Run' });
|
|
107
|
-
this.viewProcessInstanceLink = page.getByRole('link', {
|
|
108
|
-
name: 'View process instance',
|
|
109
|
-
});
|
|
110
|
-
this.nameInput = page.getByLabel('Name', { exact: true });
|
|
111
|
-
this.jobTypeInput = page.getByRole('textbox', { name: /job type/i });
|
|
112
|
-
this.diagramBreadcrumb = page.locator('[data-test="breadcrumb-diagram"]');
|
|
113
|
-
this.editDiagramNameButton = page.getByText('Edit name');
|
|
114
|
-
this.diagramNameInput = page.locator('[data-test="editable-input"]');
|
|
115
|
-
this.variableInput = page.getByLabel('Variables');
|
|
116
|
-
this.embedFormButton = page.getByRole('button', { name: 'Link form' });
|
|
117
|
-
this.embedButton = page.locator('[data-test="confirm-move"]');
|
|
118
|
-
this.newForm = page.locator('[data-test="item-New Form"]');
|
|
119
|
-
this.deployMainButton = page.locator('[data-test="deploy-button"]');
|
|
120
|
-
this.continueToPlayButton = page.getByRole('button', { name: 'Continue' });
|
|
121
|
-
this.deploySubButton = page
|
|
122
|
-
.getByLabel('Deploy diagram')
|
|
123
|
-
.getByRole('button', { name: 'Deploy' });
|
|
124
|
-
this.cancelButton = page.getByRole('button', { name: 'Cancel' });
|
|
125
|
-
this.restConnectorOption = page.getByRole('listitem', {
|
|
126
|
-
name: 'REST Outbound Connector',
|
|
127
|
-
});
|
|
128
|
-
this.marketPlaceButton = page.getByTitle('Browse Marketplace for more Connectors');
|
|
129
|
-
this.clusterEndpointTextbox = page.getByLabel('Cluster endpoint');
|
|
130
|
-
this.operateBaseUrlTextbox = page.getByLabel('Operate base url');
|
|
131
|
-
this.tasklistBaseUrlTextbox = page.getByLabel('Tasklist base url');
|
|
132
|
-
this.zeebeRestUrlTextbox = page.getByLabel('Zeebe rest url');
|
|
133
|
-
this.clientIdTextbox = page.getByLabel('Client ID');
|
|
134
|
-
this.clientSecretTextbox = page.getByLabel('Client secret');
|
|
135
|
-
this.oauthUrlTextbox = page.getByLabel('OAuth Token URL');
|
|
136
|
-
this.audienceTextbox = page.getByLabel('OAuth Audience');
|
|
137
|
-
this.operateAudienceTextbox = page.getByLabel('Operate Audience');
|
|
138
|
-
this.tasklistAudienceTextbox = page.getByLabel('Tasklist Audience');
|
|
139
|
-
this.rememberCredentialsCheckbox = page.getByText('Remember credentials');
|
|
140
|
-
this.oAuthCheckbox = page.getByLabel('OAuth', { exact: true });
|
|
141
|
-
this.webhookMessageStartEventConnectorOption = page.getByRole('listitem', {
|
|
142
|
-
name: 'Webhook Message Start Event Connector',
|
|
143
|
-
exact: true,
|
|
144
|
-
});
|
|
145
|
-
this.webhookIdInput = page.getByLabel('Webhook ID');
|
|
146
|
-
this.firstElement = page.locator('[class="djs-element djs-shape"]').nth(0);
|
|
147
|
-
this.secondElement = page.locator('[class="djs-element djs-shape"]').nth(1);
|
|
148
|
-
this.thirdElement = page.locator('[class="djs-element djs-shape"]').nth(2);
|
|
149
|
-
this.implementationSection = page.locator('[data-group-id="group-userTaskImplementation"]');
|
|
150
|
-
this.implementationOptions = page.locator('#bio-properties-panel-userTaskImplementation');
|
|
151
|
-
this.assignmentSection = page.locator('[data-group-id="group-assignmentDefinition"]');
|
|
152
|
-
this.priorityInput = page.getByRole('textbox', { name: 'priority' });
|
|
153
|
-
this.appendElementButton = page
|
|
154
|
-
.locator('[class="djs-create-pad open djs-append-create-pad"]')
|
|
155
|
-
.first();
|
|
156
|
-
this.firstPlacedGateway = page
|
|
157
|
-
.locator('[data-element-id*="Gateway"]')
|
|
158
|
-
.first();
|
|
159
|
-
this.secondPlacedGateway = page
|
|
160
|
-
.locator('[data-element-id*="Gateway"]')
|
|
161
|
-
.last();
|
|
162
|
-
this.connectToOtherElementButton = page
|
|
163
|
-
.getByLabel('Connect to other element')
|
|
164
|
-
.locator('path');
|
|
165
|
-
this.canvas = page.locator('rect').nth(1);
|
|
166
|
-
this.playTab = page.getByRole('tab', {
|
|
167
|
-
name: 'Play',
|
|
168
|
-
});
|
|
169
|
-
this.intermediateBoundaryEvent = page.getByTitle('Append intermediate/boundary');
|
|
170
|
-
this.intermediateWebhookConnectorOption = page.getByRole('listitem', {
|
|
171
|
-
name: 'Webhook Intermediate Event',
|
|
172
|
-
});
|
|
173
|
-
this.correlationKeyPayloadInput = page.getByLabel('Correlation key (payload)');
|
|
174
|
-
this.correlationKeyProcessInput = page.getByLabel('Correlation key (process)');
|
|
175
|
-
this.candidateUsersInput = page.getByRole('textbox', {
|
|
176
|
-
name: 'candidate users',
|
|
177
|
-
});
|
|
178
|
-
this.assigneeInput = page.getByRole('textbox', { name: 'assignee' });
|
|
179
|
-
this.candidateGroupsInput = page.getByRole('textbox', {
|
|
180
|
-
name: 'candidate groups',
|
|
181
|
-
});
|
|
182
|
-
this.dialog = page.getByRole('dialog');
|
|
183
|
-
this.tenantIdInput = page.getByLabel('Tenant ID');
|
|
184
|
-
this.timerEventOption = page.getByRole('listitem', {
|
|
185
|
-
name: 'Timer intermediate catch event',
|
|
186
|
-
exact: true,
|
|
187
|
-
});
|
|
188
|
-
this.timerEventSettings = page.getByText(/^Timer$/).first();
|
|
189
|
-
this.timerType = page.getByLabel('Type');
|
|
190
|
-
this.timerValue = page.getByLabel('Value');
|
|
191
|
-
this.eighthPlacedElement = page
|
|
192
|
-
.locator('g:nth-child(8) > .djs-element > .djs-hit')
|
|
193
|
-
.first();
|
|
194
|
-
this.processIdSecondLocator = page.getByLabel('Process ID');
|
|
195
|
-
}
|
|
196
|
-
async switchToPlay() {
|
|
197
|
-
await this.playTab.click();
|
|
198
|
-
}
|
|
199
|
-
async clickGeneralPropertiesPanel() {
|
|
200
|
-
const isExpanded = (await this.generalPanel
|
|
201
|
-
.locator('.bio-properties-panel-group-header.open')
|
|
202
|
-
.count()) > 0;
|
|
203
|
-
if (!isExpanded) {
|
|
204
|
-
await this.generalPanel.click({ timeout: 60000 });
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
async expandAssignmentSection() {
|
|
208
|
-
const isExpanded = (await this.assignmentSection
|
|
209
|
-
.locator('[data-group-id="group-assignmentDefinition"] .bio-properties-panel-group-header.open')
|
|
210
|
-
.count()) > 0;
|
|
211
|
-
if (!isExpanded) {
|
|
212
|
-
await this.assignmentSection.click({ timeout: 60000 });
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
async clickTaskDefinitionPropertiesPanel() {
|
|
216
|
-
await this.taskDefinitionPanel.click();
|
|
217
|
-
}
|
|
218
|
-
async clickProcessIdInput() {
|
|
219
|
-
await this.processIdInput.click();
|
|
220
|
-
}
|
|
221
|
-
async clickIdInput() {
|
|
222
|
-
try {
|
|
223
|
-
await this.processIdInput.click();
|
|
224
|
-
}
|
|
225
|
-
catch {
|
|
226
|
-
await this.processIdSecondLocator.click();
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
async fillIdInput(id) {
|
|
230
|
-
try {
|
|
231
|
-
await this.processIdInput.fill(id);
|
|
232
|
-
}
|
|
233
|
-
catch {
|
|
234
|
-
await this.processIdSecondLocator.fill(id);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
async clickElemendIdInput() {
|
|
238
|
-
await this.elemendIdInput.click();
|
|
239
|
-
}
|
|
240
|
-
async fillElementIdInput(id) {
|
|
241
|
-
await (0, test_1.expect)(this.elemendIdInput).toBeVisible();
|
|
242
|
-
await this.elemendIdInput.fill(id);
|
|
243
|
-
await (0, test_1.expect)(this.elemendIdInput).toHaveValue(id);
|
|
244
|
-
await (0, sleep_1.sleep)(1000);
|
|
245
|
-
}
|
|
246
|
-
async clickStartEventElement() {
|
|
247
|
-
await this.startEventElement.click({ force: true });
|
|
248
|
-
}
|
|
249
|
-
async selectStartEventElement() {
|
|
250
|
-
await this.startEventElement.click({ force: true });
|
|
251
|
-
}
|
|
252
|
-
async clickAppendTaskButton() {
|
|
253
|
-
await this.appendTaskButton.click({ timeout: 90000 });
|
|
254
|
-
}
|
|
255
|
-
async clickAppendGatewayButton() {
|
|
256
|
-
await this.appendGatewayButton.click({ timeout: 90000 });
|
|
257
|
-
}
|
|
258
|
-
async clickChangeTypeButton() {
|
|
259
|
-
try {
|
|
260
|
-
await this.changeTypeButton.click({ timeout: 180000, force: true });
|
|
261
|
-
}
|
|
262
|
-
catch {
|
|
263
|
-
await this.page.reload();
|
|
264
|
-
if (await this.secondElement.isVisible({ timeout: 6000 })) {
|
|
265
|
-
await this.secondElement.click({ timeout: 90000, force: true });
|
|
266
|
-
await this.changeTypeButton.click({ timeout: 90000, force: true });
|
|
267
|
-
}
|
|
268
|
-
else {
|
|
269
|
-
await this.firstElement.click({ timeout: 90000, force: true });
|
|
270
|
-
await this.changeTypeButton.click({ timeout: 90000, force: true });
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
async clickUserTaskOption() {
|
|
275
|
-
const maxRetries = 3;
|
|
276
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
277
|
-
try {
|
|
278
|
-
if (retries === 0) {
|
|
279
|
-
await this.userTaskOption.click({ timeout: 30000, force: true });
|
|
280
|
-
}
|
|
281
|
-
else {
|
|
282
|
-
await this.changeTypeButton.click({ force: true, timeout: 30000 });
|
|
283
|
-
await this.userTaskOption.click({ timeout: 30000, force: true });
|
|
284
|
-
}
|
|
285
|
-
return;
|
|
286
|
-
}
|
|
287
|
-
catch (error) {
|
|
288
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
289
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
|
|
293
|
-
}
|
|
294
|
-
async clickServiceTaskOption() {
|
|
295
|
-
const maxRetries = 3;
|
|
296
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
297
|
-
try {
|
|
298
|
-
if (retries === 0) {
|
|
299
|
-
await this.serviceTaskOption.click({ timeout: 30000, force: true });
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
await this.changeTypeButton.click({ force: true, timeout: 30000 });
|
|
303
|
-
await this.serviceTaskOption.click({ timeout: 30000, force: true });
|
|
304
|
-
}
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
catch (error) {
|
|
308
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
309
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
|
|
313
|
-
}
|
|
314
|
-
async clickAppendEndEventButton(parentElement) {
|
|
315
|
-
try {
|
|
316
|
-
await this.appendEndEventButton.click({ timeout: 120000 });
|
|
317
|
-
}
|
|
318
|
-
catch (error) {
|
|
319
|
-
await this.page.reload();
|
|
320
|
-
await (0, sleep_1.sleep)(10000);
|
|
321
|
-
if (parentElement == undefined) {
|
|
322
|
-
await this.clickSecondPlacedElement();
|
|
323
|
-
}
|
|
324
|
-
else if (parentElement == 'parallelGateway') {
|
|
325
|
-
await this.clickSecondPlacedGateway();
|
|
326
|
-
}
|
|
327
|
-
await this.appendElementButton.hover();
|
|
328
|
-
await this.appendEndEventButton.click({ timeout: 120000 });
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
async clickFirstPlacedElement() {
|
|
332
|
-
await this.firstElement.click({ timeout: 90000 });
|
|
333
|
-
}
|
|
334
|
-
async clickSecondPlacedElement() {
|
|
335
|
-
await this.secondElement.click({ timeout: 60000 });
|
|
336
|
-
}
|
|
337
|
-
async clickFirstPlacedGateway() {
|
|
338
|
-
try {
|
|
339
|
-
await this.firstPlacedGateway.click({ timeout: 60000 });
|
|
340
|
-
await this.appendElementButton.isVisible({ timeout: 60000 });
|
|
341
|
-
}
|
|
342
|
-
catch (error) {
|
|
343
|
-
await this.page.reload();
|
|
344
|
-
await (0, sleep_1.sleep)(10000);
|
|
345
|
-
await this.firstPlacedGateway.click({ timeout: 60000 });
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
async clickSecondPlacedGateway() {
|
|
349
|
-
try {
|
|
350
|
-
await this.secondPlacedGateway.click({ timeout: 60000 });
|
|
351
|
-
await this.appendElementButton.isVisible({ timeout: 60000 });
|
|
352
|
-
}
|
|
353
|
-
catch (error) {
|
|
354
|
-
await this.page.reload();
|
|
355
|
-
await (0, sleep_1.sleep)(10000);
|
|
356
|
-
await this.secondPlacedGateway.click({ timeout: 60000 });
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
async clickStartInstanceMainButton() {
|
|
360
|
-
await this.startInstanceMainButton.click({ timeout: 120000 });
|
|
361
|
-
}
|
|
362
|
-
async clickStartInstanceSubButton() {
|
|
363
|
-
await this.startInstanceSubButton.click({ timeout: 120000 });
|
|
364
|
-
}
|
|
365
|
-
async clickViewProcessInstanceLink() {
|
|
366
|
-
await this.viewProcessInstanceLink.click({ timeout: 90000 });
|
|
367
|
-
}
|
|
368
|
-
async clickNameInput() {
|
|
369
|
-
await this.nameInput.click();
|
|
370
|
-
}
|
|
371
|
-
async fillNameInput(name) {
|
|
372
|
-
await this.nameInput.fill(name);
|
|
373
|
-
}
|
|
374
|
-
async clickJobTypeInput() {
|
|
375
|
-
await this.jobTypeInput.click();
|
|
376
|
-
}
|
|
377
|
-
async fillJobTypeInput(name) {
|
|
378
|
-
await this.jobTypeInput.fill(name);
|
|
379
|
-
}
|
|
380
|
-
async clickDiagramBreadcrumb() {
|
|
381
|
-
await this.diagramBreadcrumb.click({ timeout: 60000 });
|
|
382
|
-
}
|
|
383
|
-
async clickEditDiagramNameButton() {
|
|
384
|
-
await this.editDiagramNameButton.click();
|
|
385
|
-
}
|
|
386
|
-
async enterDiagramName(name) {
|
|
387
|
-
await this.diagramNameInput.fill(name, { timeout: 60000 });
|
|
388
|
-
await this.diagramNameInput.press('Enter', { timeout: 60000 });
|
|
389
|
-
}
|
|
390
|
-
async clickVariableInput() {
|
|
391
|
-
await this.variableInput.click();
|
|
392
|
-
}
|
|
393
|
-
async fillVariableInput(variable) {
|
|
394
|
-
await this.variableInput.fill(variable);
|
|
395
|
-
}
|
|
396
|
-
async clickEmbedFormButton() {
|
|
397
|
-
await this.embedFormButton.click({ timeout: 90000 });
|
|
398
|
-
}
|
|
399
|
-
async clickEmbedButton() {
|
|
400
|
-
await this.embedButton.click();
|
|
401
|
-
}
|
|
402
|
-
async clickDeployMainButton() {
|
|
403
|
-
await this.deployMainButton.click({ timeout: 90000 });
|
|
404
|
-
}
|
|
405
|
-
async clickDeploySubButton() {
|
|
406
|
-
await this.deploySubButton.click({ timeout: 90000 });
|
|
407
|
-
}
|
|
408
|
-
async clickCancelButton() {
|
|
409
|
-
await this.cancelButton.click();
|
|
410
|
-
}
|
|
411
|
-
async clickRestConnectorOption() {
|
|
412
|
-
const maxRetries = 4;
|
|
413
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
414
|
-
try {
|
|
415
|
-
if (retries === 0) {
|
|
416
|
-
// First attempt
|
|
417
|
-
await this.restConnectorOption.click({ timeout: 60000 });
|
|
418
|
-
}
|
|
419
|
-
else if (retries === 1 || retries === 2) {
|
|
420
|
-
// Second or third attempt
|
|
421
|
-
await this.page.reload();
|
|
422
|
-
await this.secondElement.click({ timeout: 60000 });
|
|
423
|
-
await this.changeTypeButton.click({ force: true, timeout: 60000 });
|
|
424
|
-
await this.restConnectorOption.click({ timeout: 90000 });
|
|
425
|
-
}
|
|
426
|
-
else {
|
|
427
|
-
// Forth and subsequent attempts
|
|
428
|
-
await this.clickMarketPlaceButton();
|
|
429
|
-
const connectorMarketplacePage = new ConnectorMarketplacePage_1.ConnectorMarketplacePage(this.page);
|
|
430
|
-
await connectorMarketplacePage.clickSearchForConnectorTextbox();
|
|
431
|
-
await connectorMarketplacePage.fillSearchForConnectorTextbox('REST Connector');
|
|
432
|
-
await (0, sleep_1.sleep)(10000);
|
|
433
|
-
await connectorMarketplacePage.downloadConnectorToProject();
|
|
434
|
-
await this.clickChangeTypeButton();
|
|
435
|
-
await this.restConnectorOption.click({ timeout: 120000 });
|
|
436
|
-
}
|
|
437
|
-
return;
|
|
438
|
-
}
|
|
439
|
-
catch (error) {
|
|
440
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
441
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
|
|
445
|
-
}
|
|
446
|
-
async clickMarketPlaceButton() {
|
|
447
|
-
const maxRetries = 3;
|
|
448
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
449
|
-
try {
|
|
450
|
-
if (retries === 0) {
|
|
451
|
-
await this.marketPlaceButton.click({ timeout: 30000 });
|
|
452
|
-
}
|
|
453
|
-
else {
|
|
454
|
-
await this.changeTypeButton.click({ force: true, timeout: 30000 });
|
|
455
|
-
await this.marketPlaceButton.click({ timeout: 30000 });
|
|
456
|
-
}
|
|
457
|
-
return;
|
|
458
|
-
}
|
|
459
|
-
catch (error) {
|
|
460
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
461
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
|
|
465
|
-
}
|
|
466
|
-
async clickClusterEndpointTextbox() {
|
|
467
|
-
await this.clusterEndpointTextbox.click();
|
|
468
|
-
}
|
|
469
|
-
async fillClusterEndpointTextbox(clusterEndpoint) {
|
|
470
|
-
await this.clusterEndpointTextbox.fill(clusterEndpoint);
|
|
471
|
-
}
|
|
472
|
-
async completeDeploymentEndpointConfiguration() {
|
|
473
|
-
await this.oAuthCheckbox.click({ timeout: 30000 });
|
|
474
|
-
await this.clusterEndpointTextbox.click({ timeout: 30000 });
|
|
475
|
-
await this.clusterEndpointTextbox.fill(process.env.CLUSTER_ENDPOINT, {
|
|
476
|
-
timeout: 30000,
|
|
477
|
-
});
|
|
478
|
-
await (0, test_1.expect)(this.clientIdTextbox).toBeVisible({ timeout: 30000 });
|
|
479
|
-
await this.clientIdTextbox.click({ timeout: 30000 });
|
|
480
|
-
await this.clientIdTextbox.fill('test', { timeout: 30000 });
|
|
481
|
-
await this.clientSecretTextbox.click({ timeout: 30000 });
|
|
482
|
-
await this.clientSecretTextbox.fill(process.env.DISTRO_QA_E2E_TESTS_KEYCLOAK_CLIENTS_SECRET);
|
|
483
|
-
await this.oauthUrlTextbox.click({ timeout: 30000 });
|
|
484
|
-
await this.oauthUrlTextbox.fill(process.env.OAUTH_URL);
|
|
485
|
-
await this.audienceTextbox.click({ timeout: 30000 });
|
|
486
|
-
await this.audienceTextbox.fill('zeebe-api');
|
|
487
|
-
await this.rememberCredentialsCheckbox.click({ timeout: 30000 });
|
|
488
|
-
}
|
|
489
|
-
async completePlayConfiguration() {
|
|
490
|
-
const timeout = 30000;
|
|
491
|
-
let attempts = 0;
|
|
492
|
-
const maxRetries = 2;
|
|
493
|
-
while (attempts < maxRetries) {
|
|
494
|
-
try {
|
|
495
|
-
if (attempts > 0)
|
|
496
|
-
await this.switchToPlay(); // Call switchToPlay on subsequent attempts
|
|
497
|
-
await this.clusterEndpointTextbox.click({ timeout });
|
|
498
|
-
await this.clusterEndpointTextbox.fill(process.env.CLUSTER_ENDPOINT, {
|
|
499
|
-
timeout,
|
|
500
|
-
});
|
|
501
|
-
await this.operateBaseUrlTextbox.click({ timeout });
|
|
502
|
-
await this.operateBaseUrlTextbox.fill(process.env.OPERATE_BASE_URL, {
|
|
503
|
-
timeout,
|
|
504
|
-
});
|
|
505
|
-
await this.tasklistBaseUrlTextbox.click({ timeout });
|
|
506
|
-
await this.tasklistBaseUrlTextbox.fill(process.env.TASKLIST_BASE_URL, {
|
|
507
|
-
timeout,
|
|
508
|
-
});
|
|
509
|
-
await this.zeebeRestUrlTextbox.click({ timeout });
|
|
510
|
-
await this.zeebeRestUrlTextbox.fill(process.env.ZEEBE_REST_URL, {
|
|
511
|
-
timeout,
|
|
512
|
-
});
|
|
513
|
-
await this.clientIdTextbox.click({ timeout });
|
|
514
|
-
await this.clientIdTextbox.fill('test', { timeout });
|
|
515
|
-
await this.clientSecretTextbox.click({ timeout });
|
|
516
|
-
await this.clientSecretTextbox.fill(process.env.DISTRO_QA_E2E_TESTS_KEYCLOAK_CLIENTS_SECRET);
|
|
517
|
-
await this.oauthUrlTextbox.click({ timeout });
|
|
518
|
-
await this.oauthUrlTextbox.fill(process.env.OAUTH_URL);
|
|
519
|
-
await this.audienceTextbox.click({ timeout });
|
|
520
|
-
await this.audienceTextbox.fill('zeebe-api');
|
|
521
|
-
await this.operateAudienceTextbox.click({ timeout });
|
|
522
|
-
await this.operateAudienceTextbox.fill('operate-api');
|
|
523
|
-
await this.tasklistAudienceTextbox.click({ timeout });
|
|
524
|
-
await this.tasklistAudienceTextbox.fill('tasklist-api');
|
|
525
|
-
await this.continueToPlayButton.click({ timeout });
|
|
526
|
-
await (0, test_1.expect)(this.page.getByText('Play environment is ready')).toBeVisible({ timeout: 90000 });
|
|
527
|
-
await (0, test_1.expect)(this.dialog).not.toBeVisible();
|
|
528
|
-
return; // Exit if successful
|
|
529
|
-
}
|
|
530
|
-
catch (error) {
|
|
531
|
-
if (attempts >= maxRetries - 1)
|
|
532
|
-
throw error;
|
|
533
|
-
await this.page.reload();
|
|
534
|
-
attempts++;
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
async clickWebhookStartEventConnectorOption() {
|
|
539
|
-
const maxRetries = 3;
|
|
540
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
541
|
-
try {
|
|
542
|
-
if (retries === 0) {
|
|
543
|
-
await this.webhookMessageStartEventConnectorOption.click({
|
|
544
|
-
timeout: 30000,
|
|
545
|
-
});
|
|
546
|
-
}
|
|
547
|
-
else {
|
|
548
|
-
await this.changeTypeButton.click({ force: true, timeout: 30000 });
|
|
549
|
-
await this.webhookMessageStartEventConnectorOption.click({
|
|
550
|
-
timeout: 90000,
|
|
551
|
-
});
|
|
552
|
-
}
|
|
553
|
-
return;
|
|
554
|
-
}
|
|
555
|
-
catch (error) {
|
|
556
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
557
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
|
|
561
|
-
}
|
|
562
|
-
async clickWebhookIdInput() {
|
|
563
|
-
await this.webhookIdInput.click();
|
|
564
|
-
}
|
|
565
|
-
async clearWebhookIdInput() {
|
|
566
|
-
await this.webhookIdInput.clear();
|
|
567
|
-
}
|
|
568
|
-
async fillWebhookIdInput(webhookId) {
|
|
569
|
-
await this.webhookIdInput.fill(webhookId);
|
|
570
|
-
}
|
|
571
|
-
async hoverOnStartEvent() {
|
|
572
|
-
await this.startEventElement.hover();
|
|
573
|
-
}
|
|
574
|
-
async instanceStartedAssertion() {
|
|
575
|
-
try {
|
|
576
|
-
await (0, test_1.expect)(this.page.getByText('Instance started!')).toBeVisible({
|
|
577
|
-
timeout: 180000,
|
|
578
|
-
});
|
|
579
|
-
}
|
|
580
|
-
catch {
|
|
581
|
-
await this.clickStartInstanceMainButton();
|
|
582
|
-
await this.completeDeploymentEndpointConfiguration();
|
|
583
|
-
await this.clickStartInstanceSubButton();
|
|
584
|
-
await (0, test_1.expect)(this.page.getByText('Instance started!')).toBeVisible({
|
|
585
|
-
timeout: 180000,
|
|
586
|
-
});
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
|
-
async chooseImplementationOption(implementationType) {
|
|
590
|
-
const isExpanded = (await this.implementationSection
|
|
591
|
-
.locator('.bio-properties-panel-group-header open')
|
|
592
|
-
.count()) > 0;
|
|
593
|
-
if (!isExpanded) {
|
|
594
|
-
await this.implementationSection.click();
|
|
595
|
-
}
|
|
596
|
-
await this.implementationOptions.selectOption(implementationType);
|
|
597
|
-
}
|
|
598
|
-
async clickAppendElementButton() {
|
|
599
|
-
try {
|
|
600
|
-
await (0, sleep_1.sleep)(10000);
|
|
601
|
-
await this.appendElementButton.hover({ timeout: 60000, force: true });
|
|
602
|
-
}
|
|
603
|
-
catch (error) {
|
|
604
|
-
await (0, sleep_1.sleep)(10000);
|
|
605
|
-
await this.appendElementButton.hover({ timeout: 90000, force: true });
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
async clickParallelGatewayOption() {
|
|
609
|
-
await this.parallelGatewayOption.click({ timeout: 90000 });
|
|
610
|
-
}
|
|
611
|
-
async clickConnectToOtherElementButton() {
|
|
612
|
-
await this.connectToOtherElementButton.click({ timeout: 60000 });
|
|
613
|
-
}
|
|
614
|
-
async clickPriorityInput() {
|
|
615
|
-
try {
|
|
616
|
-
await this.priorityInput.click();
|
|
617
|
-
}
|
|
618
|
-
catch (error) {
|
|
619
|
-
await this.assignmentSection.click({ timeout: 60000 });
|
|
620
|
-
await this.priorityInput.click({ timeout: 60000 });
|
|
621
|
-
}
|
|
622
|
-
}
|
|
623
|
-
async fillPriorityInput(priority) {
|
|
624
|
-
await this.priorityInput.fill(priority, { timeout: 60000 });
|
|
625
|
-
}
|
|
626
|
-
async clickCanvas() {
|
|
627
|
-
await this.canvas.click({ timeout: 60000 });
|
|
628
|
-
}
|
|
629
|
-
async addParallelUserTasks(numberOfTasks, taskName) {
|
|
630
|
-
try {
|
|
631
|
-
await this.clickAppendElementButton();
|
|
632
|
-
}
|
|
633
|
-
catch (error) {
|
|
634
|
-
await this.page.reload();
|
|
635
|
-
await (0, sleep_1.sleep)(10000);
|
|
636
|
-
await this.clickFirstPlacedElement();
|
|
637
|
-
await this.appendElementButton.hover();
|
|
638
|
-
}
|
|
639
|
-
await this.clickAppendGatewayButton();
|
|
640
|
-
await this.clickChangeTypeButton();
|
|
641
|
-
await this.clickParallelGatewayOption();
|
|
642
|
-
await this.clickAppendElementButton();
|
|
643
|
-
await this.clickAppendTaskButton();
|
|
644
|
-
await this.clickChangeTypeButton();
|
|
645
|
-
await this.clickUserTaskOption();
|
|
646
|
-
await this.clickGeneralPropertiesPanel();
|
|
647
|
-
await this.clickNameInput();
|
|
648
|
-
await this.fillNameInput(taskName + '1');
|
|
649
|
-
await this.clickIdInput();
|
|
650
|
-
await this.fillIdInput(taskName + '1');
|
|
651
|
-
await this.chooseImplementationOption('zeebeUserTask');
|
|
652
|
-
await this.clickAppendElementButton();
|
|
653
|
-
await this.clickAppendGatewayButton();
|
|
654
|
-
await this.clickChangeTypeButton();
|
|
655
|
-
await this.clickParallelGatewayOption();
|
|
656
|
-
for (let i = 2; i <= numberOfTasks; i++) {
|
|
657
|
-
await this.clickFirstPlacedGateway();
|
|
658
|
-
await this.clickAppendElementButton();
|
|
659
|
-
await this.clickAppendTaskButton();
|
|
660
|
-
await this.clickChangeTypeButton();
|
|
661
|
-
await this.clickUserTaskOption();
|
|
662
|
-
await this.clickNameInput();
|
|
663
|
-
await this.fillNameInput(taskName + i);
|
|
664
|
-
await this.clickIdInput();
|
|
665
|
-
await this.fillIdInput(taskName + i);
|
|
666
|
-
await this.chooseImplementationOption('zeebeUserTask');
|
|
667
|
-
await this.clickConnectToOtherElementButton();
|
|
668
|
-
await this.clickSecondPlacedGateway();
|
|
669
|
-
await this.clickCanvas();
|
|
670
|
-
}
|
|
671
|
-
await this.clickSecondPlacedGateway();
|
|
672
|
-
}
|
|
673
|
-
async setPriority(taskName, priority, numberOfTasks) {
|
|
674
|
-
for (let i = 1; i <= numberOfTasks; i++) {
|
|
675
|
-
const userTaskId = taskName + i;
|
|
676
|
-
const priorityUserTask = this.page.locator(`g[data-element-id="${userTaskId}"]`);
|
|
677
|
-
await priorityUserTask.click();
|
|
678
|
-
await this.clickPriorityInput();
|
|
679
|
-
await this.fillPriorityInput(priority.toString());
|
|
680
|
-
await this.clickCanvas();
|
|
681
|
-
priority += 25;
|
|
682
|
-
}
|
|
683
|
-
}
|
|
684
|
-
async clickIntermediateBoundaryEvent() {
|
|
685
|
-
await this.intermediateBoundaryEvent.click({ timeout: 60000 });
|
|
686
|
-
}
|
|
687
|
-
async clickIntermediateWebhookConnectorOption() {
|
|
688
|
-
await this.intermediateWebhookConnectorOption.click({ timeout: 60000 });
|
|
689
|
-
}
|
|
690
|
-
async clickCorrelationKeyProcessInput() {
|
|
691
|
-
await this.correlationKeyProcessInput.click({ timeout: 60000 });
|
|
692
|
-
}
|
|
693
|
-
async fillCorrelationKeyProcessInput(correlationKeyProcess) {
|
|
694
|
-
await this.correlationKeyProcessInput.fill(correlationKeyProcess);
|
|
695
|
-
}
|
|
696
|
-
async clickCorrelationKeyPayloadInput() {
|
|
697
|
-
await this.correlationKeyPayloadInput.click({ timeout: 60000 });
|
|
698
|
-
}
|
|
699
|
-
async fillCorrelationKeyPayloadInput(correlationKeyPayload) {
|
|
700
|
-
await this.correlationKeyPayloadInput.fill(correlationKeyPayload);
|
|
701
|
-
}
|
|
702
|
-
async selectUserTask(userTask) {
|
|
703
|
-
await this.page.locator(`[data-element-id="${userTask}"]`).click();
|
|
704
|
-
}
|
|
705
|
-
async clickCandidateUsersInput() {
|
|
706
|
-
await this.candidateUsersInput.click({ timeout: 60000 });
|
|
707
|
-
}
|
|
708
|
-
async fillCandidateUsersInput(candidateUser) {
|
|
709
|
-
await this.candidateUsersInput.fill(candidateUser, { timeout: 60000 });
|
|
710
|
-
}
|
|
711
|
-
async clickAssigneeInput() {
|
|
712
|
-
await this.assigneeInput.click({ timeout: 60000 });
|
|
713
|
-
}
|
|
714
|
-
async fillAssigneeInput(name) {
|
|
715
|
-
await this.assigneeInput.fill(name, { timeout: 60000 });
|
|
716
|
-
}
|
|
717
|
-
async clickCandidateGroupsInput() {
|
|
718
|
-
await this.candidateGroupsInput.click({ timeout: 60000 });
|
|
719
|
-
}
|
|
720
|
-
async fillCandidateGroupsInput(candidateGroup) {
|
|
721
|
-
await this.candidateGroupsInput.fill(candidateGroup, { timeout: 60000 });
|
|
722
|
-
}
|
|
723
|
-
async deployProcessInstance() {
|
|
724
|
-
await this.clickDeployMainButton();
|
|
725
|
-
await this.completeDeploymentEndpointConfiguration();
|
|
726
|
-
await this.clickDeploySubButton();
|
|
727
|
-
await (0, test_1.expect)(this.page.getByText('Diagram Deployed!')).toBeVisible({
|
|
728
|
-
timeout: 180000,
|
|
729
|
-
});
|
|
730
|
-
}
|
|
731
|
-
// Function to model a simple Camunda User Task Diagram with or without a form
|
|
732
|
-
async modelCamundaUserTaskDiagram(processName, processId = '', formName = '') {
|
|
733
|
-
await (0, test_1.expect)(this.generalPanel).toBeVisible({
|
|
734
|
-
timeout: 180000,
|
|
735
|
-
});
|
|
736
|
-
await this.enterDiagramName(processName);
|
|
737
|
-
await (0, sleep_1.sleep)(15000);
|
|
738
|
-
if (typeof processId === 'string' && processId.trim().length > 0) {
|
|
739
|
-
await this.selectStartEventElement();
|
|
740
|
-
await this.clickGeneralPropertiesPanel();
|
|
741
|
-
try {
|
|
742
|
-
await (0, test_1.expect)(this.elemendIdInput).toBeVisible();
|
|
743
|
-
}
|
|
744
|
-
catch (error) {
|
|
745
|
-
console.log('ID input not visible, retrying...');
|
|
746
|
-
await this.clickGeneralPropertiesPanel();
|
|
747
|
-
await (0, test_1.expect)(this.elemendIdInput).toBeVisible();
|
|
748
|
-
}
|
|
749
|
-
await this.clickIdInput();
|
|
750
|
-
await this.fillIdInput(processId);
|
|
751
|
-
await this.selectStartEventElement();
|
|
752
|
-
}
|
|
753
|
-
await this.clickAppendElementButton();
|
|
754
|
-
await this.clickAppendTaskButton();
|
|
755
|
-
await this.clickChangeTypeButton();
|
|
756
|
-
await this.clickUserTaskOption();
|
|
757
|
-
await this.chooseImplementationOption('zeebeUserTask');
|
|
758
|
-
if (formName.length > 0) {
|
|
759
|
-
await this.clickEmbedFormButton();
|
|
760
|
-
await this.clickForm(formName);
|
|
761
|
-
await this.clickEmbedButton();
|
|
762
|
-
}
|
|
763
|
-
await this.clickAppendElementButton();
|
|
764
|
-
await this.clickAppendEndEventButton();
|
|
765
|
-
await this.clickCanvas();
|
|
766
|
-
await this.assertThreeElementsVisible();
|
|
767
|
-
await (0, sleep_1.sleep)(20000);
|
|
768
|
-
}
|
|
769
|
-
async assertImplementationOption(implementationType) {
|
|
770
|
-
await this.expandImplementationOptionIfNecessary();
|
|
771
|
-
(0, test_1.expect)(await this.implementationOptions.inputValue()).toEqual(implementationType);
|
|
772
|
-
}
|
|
773
|
-
async expandImplementationOptionIfNecessary() {
|
|
774
|
-
const isExpanded = (await this.implementationSection
|
|
775
|
-
.locator('.bio-properties-panel-group-header empty open')
|
|
776
|
-
.count()) > 0;
|
|
777
|
-
if (!isExpanded) {
|
|
778
|
-
await this.implementationSection.click();
|
|
779
|
-
}
|
|
780
|
-
}
|
|
781
|
-
async modelJobWorkerDiagram(processName) {
|
|
782
|
-
await (0, test_1.expect)(this.generalPanel).toBeVisible({
|
|
783
|
-
timeout: 120000,
|
|
784
|
-
});
|
|
785
|
-
await this.enterDiagramName(processName);
|
|
786
|
-
await (0, sleep_1.sleep)(15000);
|
|
787
|
-
await this.clickGeneralPropertiesPanel();
|
|
788
|
-
await this.clickIdInput();
|
|
789
|
-
await this.fillIdInput(processName);
|
|
790
|
-
await this.clickAppendElementButton();
|
|
791
|
-
await this.clickAppendTaskButton();
|
|
792
|
-
await this.clickChangeTypeButton();
|
|
793
|
-
await this.clickUserTaskOption();
|
|
794
|
-
await this.chooseImplementationOption('jobWorker');
|
|
795
|
-
await this.clickAppendElementButton();
|
|
796
|
-
await this.clickAppendEndEventButton();
|
|
797
|
-
await (0, sleep_1.sleep)(20000);
|
|
798
|
-
}
|
|
799
|
-
async runProcessInstance(variables = '') {
|
|
800
|
-
await this.clickStartInstanceMainButton();
|
|
801
|
-
await this.completeDeploymentEndpointConfiguration();
|
|
802
|
-
await (0, test_1.expect)(this.dialog).toBeVisible({
|
|
803
|
-
timeout: 30000,
|
|
804
|
-
});
|
|
805
|
-
if (variables.length > 0) {
|
|
806
|
-
await (0, test_1.expect)(this.variableInput).toBeVisible({
|
|
807
|
-
timeout: 60000,
|
|
808
|
-
});
|
|
809
|
-
await this.clickVariableInput();
|
|
810
|
-
await this.fillVariableInput(variables);
|
|
811
|
-
}
|
|
812
|
-
await this.clickStartInstanceSubButton();
|
|
813
|
-
await this.instanceStartedAssertion();
|
|
814
|
-
}
|
|
815
|
-
async clickForm(name) {
|
|
816
|
-
await this.page
|
|
817
|
-
.locator(`[data-test="item-${name}"]`)
|
|
818
|
-
.getByText(name)
|
|
819
|
-
.click({ timeout: 90000 });
|
|
820
|
-
}
|
|
821
|
-
async assertThreeElementsVisible() {
|
|
822
|
-
await (0, test_1.expect)(this.firstElement).toBeVisible({ timeout: 30000 });
|
|
823
|
-
await (0, test_1.expect)(this.secondElement).toBeVisible({ timeout: 30000 });
|
|
824
|
-
await (0, test_1.expect)(this.thirdElement).toBeVisible({ timeout: 30000 });
|
|
825
|
-
}
|
|
826
|
-
async clickTenantIdInput() {
|
|
827
|
-
await this.tenantIdInput.click({ timeout: 60000 });
|
|
828
|
-
}
|
|
829
|
-
async fillTenantIdInput(tenant) {
|
|
830
|
-
await this.tenantIdInput.fill(tenant, { timeout: 60000 });
|
|
831
|
-
await (0, sleep_1.sleep)(1000);
|
|
832
|
-
}
|
|
833
|
-
async clickTimerEventOption() {
|
|
834
|
-
await this.timerEventOption.click();
|
|
835
|
-
}
|
|
836
|
-
async clickTimerEventSettings() {
|
|
837
|
-
await this.timerEventSettings.click();
|
|
838
|
-
}
|
|
839
|
-
async selectTimerType(type) {
|
|
840
|
-
await this.timerType.selectOption(type);
|
|
841
|
-
}
|
|
842
|
-
async clickTimerValue() {
|
|
843
|
-
await this.timerValue.click();
|
|
844
|
-
}
|
|
845
|
-
async fillTimerValue(value) {
|
|
846
|
-
await this.timerValue.fill(value);
|
|
847
|
-
}
|
|
848
|
-
async clickEighthPlacedElement() {
|
|
849
|
-
await this.eighthPlacedElement.click();
|
|
850
|
-
}
|
|
851
|
-
}
|
|
852
|
-
exports.ModelerCreatePage = ModelerCreatePage;
|