@camunda/e2e-test-suite 0.0.714 → 0.0.716

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.
Files changed (204) hide show
  1. package/.github/c8_versions.json +0 -3
  2. package/README.md +0 -6
  3. package/dist/pages/8.9/ModelerCreatePage.d.ts +3 -1
  4. package/dist/pages/8.9/ModelerCreatePage.js +13 -3
  5. package/dist/tests/8.9/web-modeler-user-flows.spec.js +42 -37
  6. package/dist/utils/clusterVersions.d.ts +0 -1
  7. package/dist/utils/clusterVersions.js +0 -1
  8. package/package.json +1 -1
  9. package/dist/fixtures/8.6.d.ts +0 -63
  10. package/dist/fixtures/8.6.js +0 -162
  11. package/dist/fixtures/SM-8.6.d.ts +0 -63
  12. package/dist/fixtures/SM-8.6.js +0 -149
  13. package/dist/fixtures/c8Run-8.6.d.ts +0 -20
  14. package/dist/fixtures/c8Run-8.6.js +0 -56
  15. package/dist/pages/8.6/AppsPage.d.ts +0 -33
  16. package/dist/pages/8.6/AppsPage.js +0 -337
  17. package/dist/pages/8.6/ClientCredentialsDetailsPage.d.ts +0 -12
  18. package/dist/pages/8.6/ClientCredentialsDetailsPage.js +0 -36
  19. package/dist/pages/8.6/ClusterDetailsPage.d.ts +0 -75
  20. package/dist/pages/8.6/ClusterDetailsPage.js +0 -443
  21. package/dist/pages/8.6/ClusterPage.d.ts +0 -59
  22. package/dist/pages/8.6/ClusterPage.js +0 -320
  23. package/dist/pages/8.6/ClusterSecretsPage.d.ts +0 -28
  24. package/dist/pages/8.6/ClusterSecretsPage.js +0 -134
  25. package/dist/pages/8.6/ConnectorMarketplacePage.d.ts +0 -19
  26. package/dist/pages/8.6/ConnectorMarketplacePage.js +0 -60
  27. package/dist/pages/8.6/ConnectorSettingsPage.d.ts +0 -38
  28. package/dist/pages/8.6/ConnectorSettingsPage.js +0 -133
  29. package/dist/pages/8.6/ConnectorTemplatePage.d.ts +0 -11
  30. package/dist/pages/8.6/ConnectorTemplatePage.js +0 -34
  31. package/dist/pages/8.6/ConsoleOrganizationPage.d.ts +0 -87
  32. package/dist/pages/8.6/ConsoleOrganizationPage.js +0 -495
  33. package/dist/pages/8.6/FormJsPage.d.ts +0 -30
  34. package/dist/pages/8.6/FormJsPage.js +0 -112
  35. package/dist/pages/8.6/HomePage.d.ts +0 -27
  36. package/dist/pages/8.6/HomePage.js +0 -101
  37. package/dist/pages/8.6/LoginPage.d.ts +0 -30
  38. package/dist/pages/8.6/LoginPage.js +0 -85
  39. package/dist/pages/8.6/ModelerCreatePage.d.ts +0 -211
  40. package/dist/pages/8.6/ModelerCreatePage.js +0 -1125
  41. package/dist/pages/8.6/ModelerHomePage.d.ts +0 -48
  42. package/dist/pages/8.6/ModelerHomePage.js +0 -213
  43. package/dist/pages/8.6/ModelerUserInvitePage.d.ts +0 -28
  44. package/dist/pages/8.6/ModelerUserInvitePage.js +0 -106
  45. package/dist/pages/8.6/OperateHomePage.d.ts +0 -21
  46. package/dist/pages/8.6/OperateHomePage.js +0 -57
  47. package/dist/pages/8.6/OperateProcessInstancePage.d.ts +0 -17
  48. package/dist/pages/8.6/OperateProcessInstancePage.js +0 -58
  49. package/dist/pages/8.6/OperateProcessesPage.d.ts +0 -21
  50. package/dist/pages/8.6/OperateProcessesPage.js +0 -77
  51. package/dist/pages/8.6/OptimizeCollectionsPage.d.ts +0 -15
  52. package/dist/pages/8.6/OptimizeCollectionsPage.js +0 -44
  53. package/dist/pages/8.6/OptimizeDashboardPage.d.ts +0 -11
  54. package/dist/pages/8.6/OptimizeDashboardPage.js +0 -65
  55. package/dist/pages/8.6/OptimizeHomePage.d.ts +0 -12
  56. package/dist/pages/8.6/OptimizeHomePage.js +0 -32
  57. package/dist/pages/8.6/OptimizeReportPage.d.ts +0 -48
  58. package/dist/pages/8.6/OptimizeReportPage.js +0 -163
  59. package/dist/pages/8.6/PlayPage.d.ts +0 -14
  60. package/dist/pages/8.6/PlayPage.js +0 -66
  61. package/dist/pages/8.6/SettingsPage.d.ts +0 -10
  62. package/dist/pages/8.6/SettingsPage.js +0 -43
  63. package/dist/pages/8.6/SignUpPage.d.ts +0 -43
  64. package/dist/pages/8.6/SignUpPage.js +0 -136
  65. package/dist/pages/8.6/TaskDetailsPage.d.ts +0 -66
  66. package/dist/pages/8.6/TaskDetailsPage.js +0 -214
  67. package/dist/pages/8.6/TaskPanelPage.d.ts +0 -18
  68. package/dist/pages/8.6/TaskPanelPage.js +0 -54
  69. package/dist/pages/8.6/TaskProcessesPage.d.ts +0 -11
  70. package/dist/pages/8.6/TaskProcessesPage.js +0 -35
  71. package/dist/pages/8.6/UtilitiesPage.d.ts +0 -38
  72. package/dist/pages/8.6/UtilitiesPage.js +0 -328
  73. package/dist/pages/SM-8.6/ConnectorMarketplacePage.d.ts +0 -16
  74. package/dist/pages/SM-8.6/ConnectorMarketplacePage.js +0 -48
  75. package/dist/pages/SM-8.6/ConnectorSettingsPage.d.ts +0 -28
  76. package/dist/pages/SM-8.6/ConnectorSettingsPage.js +0 -82
  77. package/dist/pages/SM-8.6/ConnectorTemplatePage.d.ts +0 -11
  78. package/dist/pages/SM-8.6/ConnectorTemplatePage.js +0 -34
  79. package/dist/pages/SM-8.6/ConsoleHomePage.d.ts +0 -9
  80. package/dist/pages/SM-8.6/ConsoleHomePage.js +0 -22
  81. package/dist/pages/SM-8.6/ConsoleOrganizationPage.d.ts +0 -22
  82. package/dist/pages/SM-8.6/ConsoleOrganizationPage.js +0 -68
  83. package/dist/pages/SM-8.6/FormJsPage.d.ts +0 -13
  84. package/dist/pages/SM-8.6/FormJsPage.js +0 -30
  85. package/dist/pages/SM-8.6/HomePage.d.ts +0 -20
  86. package/dist/pages/SM-8.6/HomePage.js +0 -49
  87. package/dist/pages/SM-8.6/IdentityPage.d.ts +0 -67
  88. package/dist/pages/SM-8.6/IdentityPage.js +0 -266
  89. package/dist/pages/SM-8.6/IdentityTenantPage.d.ts +0 -50
  90. package/dist/pages/SM-8.6/IdentityTenantPage.js +0 -196
  91. package/dist/pages/SM-8.6/IdentityUsersPage.d.ts +0 -90
  92. package/dist/pages/SM-8.6/IdentityUsersPage.js +0 -505
  93. package/dist/pages/SM-8.6/KeycloakAdminPage.d.ts +0 -15
  94. package/dist/pages/SM-8.6/KeycloakAdminPage.js +0 -56
  95. package/dist/pages/SM-8.6/KeycloakLoginPage.d.ts +0 -11
  96. package/dist/pages/SM-8.6/KeycloakLoginPage.js +0 -25
  97. package/dist/pages/SM-8.6/KeycloakUtils.d.ts +0 -15
  98. package/dist/pages/SM-8.6/KeycloakUtils.js +0 -58
  99. package/dist/pages/SM-8.6/LoginPage.d.ts +0 -22
  100. package/dist/pages/SM-8.6/LoginPage.js +0 -123
  101. package/dist/pages/SM-8.6/ModelerCreatePage.d.ts +0 -167
  102. package/dist/pages/SM-8.6/ModelerCreatePage.js +0 -852
  103. package/dist/pages/SM-8.6/ModelerHomePage.d.ts +0 -41
  104. package/dist/pages/SM-8.6/ModelerHomePage.js +0 -150
  105. package/dist/pages/SM-8.6/NavigationPage.d.ts +0 -42
  106. package/dist/pages/SM-8.6/NavigationPage.js +0 -119
  107. package/dist/pages/SM-8.6/OperateHomePage.d.ts +0 -23
  108. package/dist/pages/SM-8.6/OperateHomePage.js +0 -65
  109. package/dist/pages/SM-8.6/OperateProcessInstancePage.d.ts +0 -22
  110. package/dist/pages/SM-8.6/OperateProcessInstancePage.js +0 -139
  111. package/dist/pages/SM-8.6/OperateProcessesPage.d.ts +0 -33
  112. package/dist/pages/SM-8.6/OperateProcessesPage.js +0 -166
  113. package/dist/pages/SM-8.6/OptimizeCollectionsPage.d.ts +0 -15
  114. package/dist/pages/SM-8.6/OptimizeCollectionsPage.js +0 -44
  115. package/dist/pages/SM-8.6/OptimizeDashboardPage.d.ts +0 -14
  116. package/dist/pages/SM-8.6/OptimizeDashboardPage.js +0 -56
  117. package/dist/pages/SM-8.6/OptimizeHomePage.d.ts +0 -19
  118. package/dist/pages/SM-8.6/OptimizeHomePage.js +0 -62
  119. package/dist/pages/SM-8.6/OptimizeReportPage.d.ts +0 -50
  120. package/dist/pages/SM-8.6/OptimizeReportPage.js +0 -162
  121. package/dist/pages/SM-8.6/PlayPage.d.ts +0 -19
  122. package/dist/pages/SM-8.6/PlayPage.js +0 -103
  123. package/dist/pages/SM-8.6/SettingsPage.d.ts +0 -10
  124. package/dist/pages/SM-8.6/SettingsPage.js +0 -20
  125. package/dist/pages/SM-8.6/TaskDetailsPage.d.ts +0 -64
  126. package/dist/pages/SM-8.6/TaskDetailsPage.js +0 -240
  127. package/dist/pages/SM-8.6/TaskPanelPage.d.ts +0 -22
  128. package/dist/pages/SM-8.6/TaskPanelPage.js +0 -68
  129. package/dist/pages/SM-8.6/TaskProcessesPage.d.ts +0 -11
  130. package/dist/pages/SM-8.6/TaskProcessesPage.js +0 -31
  131. package/dist/pages/SM-8.6/UtlitiesPage.d.ts +0 -21
  132. package/dist/pages/SM-8.6/UtlitiesPage.js +0 -207
  133. package/dist/pages/SM-8.6/optimizeReportUtils.d.ts +0 -6
  134. package/dist/pages/SM-8.6/optimizeReportUtils.js +0 -42
  135. package/dist/pages/c8Run-8.6/OperateHomePage.d.ts +0 -20
  136. package/dist/pages/c8Run-8.6/OperateHomePage.js +0 -52
  137. package/dist/pages/c8Run-8.6/OperateLoginPage.d.ts +0 -14
  138. package/dist/pages/c8Run-8.6/OperateLoginPage.js +0 -37
  139. package/dist/pages/c8Run-8.6/OperateProcessInstancePage.d.ts +0 -17
  140. package/dist/pages/c8Run-8.6/OperateProcessInstancePage.js +0 -76
  141. package/dist/pages/c8Run-8.6/OperateProcessesPage.d.ts +0 -20
  142. package/dist/pages/c8Run-8.6/OperateProcessesPage.js +0 -84
  143. package/dist/pages/c8Run-8.6/TaskDetailsPage.d.ts +0 -65
  144. package/dist/pages/c8Run-8.6/TaskDetailsPage.js +0 -219
  145. package/dist/pages/c8Run-8.6/TaskListLoginPage.d.ts +0 -14
  146. package/dist/pages/c8Run-8.6/TaskListLoginPage.js +0 -37
  147. package/dist/pages/c8Run-8.6/TaskPanelPage.d.ts +0 -23
  148. package/dist/pages/c8Run-8.6/TaskPanelPage.js +0 -76
  149. package/dist/pages/c8Run-8.6/UtilitiesPage.d.ts +0 -6
  150. package/dist/pages/c8Run-8.6/UtilitiesPage.js +0 -45
  151. package/dist/tests/8.6/connectors-user-flows.spec.d.ts +0 -1
  152. package/dist/tests/8.6/connectors-user-flows.spec.js +0 -435
  153. package/dist/tests/8.6/console-user-flows.spec.d.ts +0 -1
  154. package/dist/tests/8.6/console-user-flows.spec.js +0 -193
  155. package/dist/tests/8.6/hto-user-flows.spec.d.ts +0 -1
  156. package/dist/tests/8.6/hto-user-flows.spec.js +0 -365
  157. package/dist/tests/8.6/login.spec.d.ts +0 -1
  158. package/dist/tests/8.6/login.spec.js +0 -27
  159. package/dist/tests/8.6/navigation.spec.d.ts +0 -1
  160. package/dist/tests/8.6/navigation.spec.js +0 -57
  161. package/dist/tests/8.6/operate-access-flow.spec.d.ts +0 -1
  162. package/dist/tests/8.6/operate-access-flow.spec.js +0 -57
  163. package/dist/tests/8.6/optimize-user-flows.spec.d.ts +0 -1
  164. package/dist/tests/8.6/optimize-user-flows.spec.js +0 -231
  165. package/dist/tests/8.6/play.spec.d.ts +0 -1
  166. package/dist/tests/8.6/play.spec.js +0 -94
  167. package/dist/tests/8.6/rba-enabled-user-flows.spec.d.ts +0 -1
  168. package/dist/tests/8.6/rba-enabled-user-flows.spec.js +0 -288
  169. package/dist/tests/8.6/smoke-tests.spec.d.ts +0 -1
  170. package/dist/tests/8.6/smoke-tests.spec.js +0 -188
  171. package/dist/tests/8.6/test-setup.spec.d.ts +0 -1
  172. package/dist/tests/8.6/test-setup.spec.js +0 -68
  173. package/dist/tests/8.6/web-modeler-user-flows.spec.d.ts +0 -1
  174. package/dist/tests/8.6/web-modeler-user-flows.spec.js +0 -692
  175. package/dist/tests/SM-8.6/connectors-user-flows.spec.d.ts +0 -1
  176. package/dist/tests/SM-8.6/connectors-user-flows.spec.js +0 -247
  177. package/dist/tests/SM-8.6/console-user-flows.spec.d.ts +0 -1
  178. package/dist/tests/SM-8.6/console-user-flows.spec.js +0 -55
  179. package/dist/tests/SM-8.6/hto-user-flows.spec.d.ts +0 -1
  180. package/dist/tests/SM-8.6/hto-user-flows.spec.js +0 -393
  181. package/dist/tests/SM-8.6/license-key-user-flows.spec.d.ts +0 -1
  182. package/dist/tests/SM-8.6/license-key-user-flows.spec.js +0 -462
  183. package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.d.ts +0 -1
  184. package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.js +0 -500
  185. package/dist/tests/SM-8.6/optimize-user-flows.spec.d.ts +0 -1
  186. package/dist/tests/SM-8.6/optimize-user-flows.spec.js +0 -186
  187. package/dist/tests/SM-8.6/play.spec.d.ts +0 -1
  188. package/dist/tests/SM-8.6/play.spec.js +0 -87
  189. package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.d.ts +0 -1
  190. package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.js +0 -242
  191. package/dist/tests/SM-8.6/smoke-tests.spec.d.ts +0 -1
  192. package/dist/tests/SM-8.6/smoke-tests.spec.js +0 -158
  193. package/dist/tests/SM-8.6/test-setup.spec.d.ts +0 -1
  194. package/dist/tests/SM-8.6/test-setup.spec.js +0 -134
  195. package/dist/tests/SM-8.6/web-modeler-user-flows.spec.d.ts +0 -1
  196. package/dist/tests/SM-8.6/web-modeler-user-flows.spec.js +0 -126
  197. package/dist/tests/c8Run-8.6/api-tests.spec.d.ts +0 -1
  198. package/dist/tests/c8Run-8.6/api-tests.spec.js +0 -67
  199. package/dist/tests/c8Run-8.6/connectors-user-flows.spec.d.ts +0 -1
  200. package/dist/tests/c8Run-8.6/connectors-user-flows.spec.js +0 -119
  201. package/dist/tests/c8Run-8.6/hto-user-flows.spec.d.ts +0 -1
  202. package/dist/tests/c8Run-8.6/hto-user-flows.spec.js +0 -199
  203. package/dist/tests/c8Run-8.6/login.spec.d.ts +0 -1
  204. package/dist/tests/c8Run-8.6/login.spec.js +0 -22
@@ -1,1125 +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 sleep_1 = require("../../utils/sleep");
6
- const randomSleep_1 = require("../../utils/randomSleep");
7
- const ConnectorMarketplacePage_1 = require("../8.6/ConnectorMarketplacePage");
8
- class ModelerCreatePage {
9
- page;
10
- generalPanel;
11
- idInput;
12
- startEventElement;
13
- appendTaskButton;
14
- appendGatewayButton;
15
- changeTypeButton;
16
- userTaskOption;
17
- parallelGatewayOption;
18
- appendEndEventButton;
19
- startInstanceMainButton;
20
- startInstanceSubButton;
21
- viewProcessInstanceLink;
22
- nameInput;
23
- diagramBreadcrumb;
24
- renameDiagramNameButton;
25
- diagramNameInput;
26
- variableInput;
27
- embedFormButton;
28
- embedButton;
29
- newForm;
30
- deployMainButton;
31
- deployMenuItem;
32
- additionalActionsButton;
33
- deploySubButton;
34
- cancelButton;
35
- restConnectorOption;
36
- webhookMessageStartEventConnectorOption;
37
- webhookTab;
38
- webhookIsActiveButton;
39
- copyWebhookUrlToClipboardButton;
40
- createTask;
41
- createEndEvent;
42
- canvas;
43
- endEventCanvas;
44
- connectToOtherElementButton;
45
- firstPlacedElement;
46
- secondPlacedElement;
47
- firstPlacedGateway;
48
- secondPlacedGateway;
49
- appendElementButton;
50
- marketPlaceButton;
51
- publicHolidayConnectorOption;
52
- publicHolidayYearOption;
53
- publicHolidayCountryCodeOption;
54
- implementationSection;
55
- implementationOptions;
56
- assignmentSection;
57
- priorityInput;
58
- firstElement;
59
- secondElement;
60
- thirdElement;
61
- payloadNameInput;
62
- payloadNumberInput;
63
- payloadCheckboxInput;
64
- payloadDateInput;
65
- form;
66
- formPropertySection;
67
- formLinkingTypeDropdown;
68
- formLinkTypeOptions;
69
- addFormJsonConfigurationInput;
70
- intermediateBoundaryEvent;
71
- intermediateWebhookConnectorOption;
72
- correlationKeyProcessInput;
73
- correlationKeyPayloadInput;
74
- closeButton;
75
- rbaEnabledDeployedDialog;
76
- viewProcessLink;
77
- assigneeInput;
78
- candidateGroupsInput;
79
- candidateUsersInput;
80
- serviceTaskOption;
81
- taskDefinitionPanel;
82
- jobTypeInput;
83
- playTab;
84
- continueToPlayButton;
85
- deployAndRunDialog;
86
- deployDiagramDialog;
87
- timerEventOption;
88
- timerEventSettings;
89
- timerType;
90
- timerValue;
91
- eighthPlacedElement;
92
- processIdSecondLocator;
93
- backupDeployButton;
94
- publicationSection;
95
- publicAccessToggle;
96
- publicationTab;
97
- copyPublicLinkButton;
98
- formLinkedSuccessMessage;
99
- diagramNameBreadcrumb;
100
- dialog;
101
- constructor(page) {
102
- this.page = page;
103
- this.generalPanel = page.locator('[data-group-id="group-general"]');
104
- this.idInput = page.getByLabel('ID', { exact: true });
105
- this.startEventElement = page.locator('.djs-hit').first();
106
- this.appendElementButton = page
107
- .locator('[class="djs-create-pad open djs-append-create-pad"]')
108
- .first();
109
- this.appendTaskButton = page.getByTitle('Append task');
110
- this.appendGatewayButton = page.getByTitle('append gateway');
111
- this.changeTypeButton = page.getByLabel('Change element');
112
- this.userTaskOption = page
113
- .getByRole('listitem', { name: 'User task' })
114
- .locator('span')
115
- .first();
116
- this.parallelGatewayOption = page.getByText('parallel gateway');
117
- this.appendEndEventButton = page.getByTitle('Append end event');
118
- this.deployAndRunDialog = page.getByRole('dialog', {
119
- name: 'Deploy & run diagram',
120
- });
121
- this.startInstanceMainButton = page.getByRole('button', {
122
- name: 'Deploy & run',
123
- });
124
- this.additionalActionsButton = page.getByRole('button', {
125
- name: 'Additional actions',
126
- });
127
- this.startInstanceSubButton = this.deployAndRunDialog
128
- .getByRole('button', { name: 'Deploy & run' })
129
- .last();
130
- this.viewProcessInstanceLink = page.getByRole('button', {
131
- name: 'View process instance',
132
- });
133
- this.viewProcessLink = page.getByRole('button', {
134
- name: 'View process in Operate',
135
- });
136
- this.nameInput = page.getByLabel('Name', { exact: true });
137
- this.diagramBreadcrumb = page.locator('[data-test="breadcrumb-diagram"]');
138
- this.renameDiagramNameButton = page.getByText('Rename');
139
- this.diagramNameInput = page.locator('[data-test="editable-input"]');
140
- this.variableInput = page.locator('textarea#variables-json');
141
- this.embedFormButton = page.getByRole('button', { name: 'Link form' });
142
- this.embedButton = page.locator('[data-test="confirm-move"]');
143
- this.newForm = page
144
- .locator('[data-test="item-New form"]')
145
- .getByText('New form');
146
- this.deployMainButton = page.locator('[data-test="deploy-button"]');
147
- this.deployMenuItem = page.getByRole('menuitem', {
148
- name: 'Deploy',
149
- });
150
- this.backupDeployButton = page.getByRole('button', {
151
- name: 'Deploy',
152
- });
153
- this.deploySubButton = page.locator('[data-test="deploy-action"]');
154
- this.cancelButton = page.getByRole('button', { name: 'Cancel' });
155
- this.restConnectorOption = page.getByRole('listitem', {
156
- name: 'REST Outbound Connector',
157
- exact: true,
158
- });
159
- this.webhookMessageStartEventConnectorOption = page.getByRole('listitem', {
160
- name: 'Webhook Message Start Event Connector',
161
- exact: true,
162
- });
163
- this.webhookTab = page.getByRole('tab', { name: 'Webhook' });
164
- this.webhookIsActiveButton = page.getByRole('button', {
165
- name: 'Webhook is active in Test',
166
- });
167
- this.copyWebhookUrlToClipboardButton = page.getByRole('textbox', {
168
- name: 'Copy to clipboard',
169
- });
170
- this.createTask = page.getByTitle('Create task');
171
- this.createEndEvent = page.getByTitle('Create end event');
172
- this.canvas = page.locator('rect').nth(1);
173
- this.endEventCanvas = page.locator('[class="bjs-container"]');
174
- this.connectToOtherElementButton = page
175
- .getByLabel('Connect to other element')
176
- .locator('path');
177
- this.firstPlacedElement = page.locator('g:nth-child(2) > .djs-element > .djs-hit');
178
- this.firstPlacedGateway = page
179
- .locator('[data-element-id*="Gateway"]')
180
- .first();
181
- this.secondPlacedElement = page
182
- .locator('[class= "djs-element djs-shape"]')
183
- .last();
184
- this.secondPlacedGateway = page
185
- .locator('[data-element-id*="Gateway"]')
186
- .last();
187
- this.marketPlaceButton = page.getByTitle('Browse Marketplace for more Connectors');
188
- this.publicHolidayConnectorOption = page
189
- .locator('[data-test="modeler"]')
190
- .getByText('Worldwide Public Holiday');
191
- this.publicHolidayYearOption = page.getByLabel('Year');
192
- this.publicHolidayCountryCodeOption = page.getByLabel('Countrycode');
193
- this.implementationSection = page.locator('[data-group-id="group-userTaskImplementation"]');
194
- this.implementationOptions = page.locator('#bio-properties-panel-userTaskImplementation');
195
- this.firstElement = page.locator('[class="djs-element djs-shape"]').nth(0);
196
- this.secondElement = page.locator('[class="djs-element djs-shape"]').nth(1);
197
- this.thirdElement = page.locator('[class="djs-element djs-shape"]').nth(2);
198
- this.assignmentSection = page.locator('[data-group-id="group-assignmentDefinition"]');
199
- this.form = page.locator('[class="fjs-container"]');
200
- this.priorityInput = page.getByRole('textbox', { name: 'priority' });
201
- this.payloadNameInput = page.getByLabel('Full Name');
202
- this.payloadDateInput = page.getByLabel('Date of Birth');
203
- this.payloadCheckboxInput = this.form.getByLabel('Agree');
204
- this.payloadNumberInput = this.form.getByLabel('Count');
205
- this.formPropertySection = page.locator('[data-group-id="group-form"]');
206
- this.formLinkingTypeDropdown = page.getByLabel('Type');
207
- this.formLinkTypeOptions = page.locator('#bio-properties-panel-formType');
208
- this.addFormJsonConfigurationInput = page.getByLabel('Form JSON configuration');
209
- this.intermediateBoundaryEvent = page.getByTitle('Append intermediate/boundary');
210
- this.intermediateWebhookConnectorOption = page.getByRole('listitem', {
211
- name: 'Webhook Intermediate Event',
212
- });
213
- this.correlationKeyPayloadInput = page.getByLabel('Correlation key (payload)');
214
- this.correlationKeyProcessInput = page.getByLabel('Correlation key (process)');
215
- this.serviceTaskOption = page.getByRole('listitem', { name: 'Service Task' });
216
- this.taskDefinitionPanel = page.locator('[data-group-id="group-taskDefinition"]');
217
- this.jobTypeInput = page.getByRole('textbox', { name: /job type/i });
218
- this.playTab = page.getByRole('tab', {
219
- name: 'Play',
220
- });
221
- this.closeButton = page.getByRole('button', { name: 'Close' });
222
- this.rbaEnabledDeployedDialog = page.getByRole('dialog', {
223
- name: 'Process successfully deployed',
224
- });
225
- this.assignmentSection = page.locator('[data-group-id="group-assignmentDefinition"]');
226
- this.assigneeInput = page.getByRole('textbox', { name: 'assignee' });
227
- this.candidateGroupsInput = page.getByRole('textbox', {
228
- name: 'candidate groups',
229
- });
230
- this.candidateUsersInput = page.getByRole('textbox', {
231
- name: 'candidate users',
232
- });
233
- this.appendGatewayButton = page.getByTitle('append gateway');
234
- this.parallelGatewayOption = page.getByText('parallel gateway');
235
- this.firstPlacedGateway = page
236
- .locator('[data-element-id*="Gateway"]')
237
- .first();
238
- this.secondPlacedGateway = page
239
- .locator('[data-element-id*="Gateway"]')
240
- .last();
241
- this.continueToPlayButton = page.getByRole('button', { name: 'Continue' });
242
- this.assigneeInput = page.getByRole('textbox', { name: 'assignee' });
243
- this.candidateGroupsInput = page.getByRole('textbox', {
244
- name: 'candidate groups',
245
- });
246
- this.deployDiagramDialog = page.getByRole('dialog', {
247
- name: 'Deploy diagram',
248
- });
249
- this.timerEventOption = page.getByRole('listitem', {
250
- name: 'Timer intermediate catch event',
251
- exact: true,
252
- });
253
- this.timerEventSettings = page.getByText(/^Timer$/).first();
254
- this.timerType = page.getByLabel('Type');
255
- this.timerValue = page.getByLabel('Value');
256
- this.eighthPlacedElement = page
257
- .locator('g:nth-child(8) > .djs-element > .djs-hit')
258
- .first();
259
- this.processIdSecondLocator = page.getByLabel('Process ID');
260
- this.publicationSection = page.locator('[data-group-id="group-process-publication"]');
261
- this.publicAccessToggle = page.getByRole('switch', {
262
- name: 'Toggle public access',
263
- });
264
- this.publicationTab = page.getByRole('tab', { name: 'Publication' });
265
- this.copyPublicLinkButton = page.getByRole('button', {
266
- name: 'Copy to clipboard',
267
- });
268
- this.formLinkedSuccessMessage = page
269
- .locator('.cds--toast-notification__subtitle')
270
- .getByText('Form has been successfully linked.');
271
- this.diagramNameBreadcrumb = (diagramName) => page.locator('button[data-test="breadcrumb-diagram"]', {
272
- hasText: diagramName,
273
- });
274
- this.dialog = page.getByRole('dialog');
275
- }
276
- async clickEditDiagramNameButton() {
277
- await this.renameDiagramNameButton.click({ timeout: 10000 });
278
- }
279
- async modelJobWorkerDiagram(processName, embedFrom = false) {
280
- await (0, test_1.expect)(this.generalPanel).toBeVisible({
281
- timeout: 120000,
282
- });
283
- await this.enterDiagramName(processName);
284
- await (0, sleep_1.sleep)(10000);
285
- await this.clickAppendElementButton();
286
- await this.clickAppendTaskButton();
287
- await this.clickChangeTypeButton();
288
- await this.clickUserTaskOption();
289
- await this.chooseImplementationOption('jobWorker');
290
- await (0, sleep_1.sleep)(3000);
291
- if (embedFrom) {
292
- await this.chooseFormLinkingTypeOption('Camunda Form (embedded)');
293
- }
294
- await this.clickAppendElementButton();
295
- await this.clickAppendEndEventButton();
296
- await (0, sleep_1.sleep)(20000);
297
- }
298
- async assertProcessInstanceLinkWithRetry(clusterName) {
299
- const maxRetries = 3;
300
- for (let attempt = 0; attempt < maxRetries; attempt++) {
301
- try {
302
- await (0, test_1.expect)(this.viewProcessInstanceLink).toBeVisible({
303
- timeout: 30000,
304
- });
305
- return;
306
- }
307
- catch (error) {
308
- if (attempt < maxRetries - 1) {
309
- console.warn(`View process instance status attempt ${attempt + 1} failed. Retrying...`);
310
- await this.page.reload();
311
- await (0, randomSleep_1.randomSleep)(10000, 30000);
312
- await this.runProcessInstance(clusterName);
313
- }
314
- else {
315
- throw new Error(`Assertion failed after ${maxRetries} attempts` + error);
316
- }
317
- }
318
- }
319
- }
320
- async modelCamundaUserTaskDiagram(processName, processId = '', formName = '') {
321
- await (0, test_1.expect)(this.generalPanel).toBeVisible({
322
- timeout: 180000,
323
- });
324
- await (0, sleep_1.sleep)(1000);
325
- await this.enterDiagramName(processName);
326
- await (0, sleep_1.sleep)(10000);
327
- if (processId.length > 0) {
328
- await this.clickStartEventElement();
329
- await this.clickGeneralPropertiesPanel();
330
- await this.clickIdInput();
331
- await this.fillIdInput(processId);
332
- await this.clickNameInput();
333
- await this.fillNameInput(processName);
334
- await this.clickStartEventElement();
335
- }
336
- await this.clickAppendElementButton();
337
- await this.clickAppendTaskButton();
338
- await this.clickChangeTypeButton();
339
- await this.clickUserTaskOption();
340
- await this.assertImplementationOption('zeebeUserTask');
341
- if (formName.length > 0) {
342
- await this.clickEmbedFormButton();
343
- await this.clickForm(formName);
344
- await this.clickEmbedButton();
345
- }
346
- await this.clickAppendElementButton();
347
- await this.clickAppendEndEventButton();
348
- await this.clickCanvas();
349
- await this.assertThreeElementsVisible();
350
- await (0, sleep_1.sleep)(20000);
351
- }
352
- async clickCandidateUsersInput() {
353
- await this.candidateUsersInput.click({ timeout: 60000 });
354
- }
355
- async clickSecondDeployButton() {
356
- await this.backupDeployButton.click({ timeout: 60000 });
357
- }
358
- async fillCandidateUsersInput(candidateUser) {
359
- await this.candidateUsersInput.fill(candidateUser, { timeout: 60000 });
360
- }
361
- async selectUserTask(userTask) {
362
- await this.page.locator(`g[data-element-id="${userTask}"]`).click();
363
- }
364
- async clickAssigneeInput() {
365
- await this.assigneeInput.click({ timeout: 60000 });
366
- }
367
- async fillAssigneeInput(name) {
368
- await this.assigneeInput.fill(name, { timeout: 60000 });
369
- await this.page.waitForTimeout(1000);
370
- }
371
- async clickUserTask(id) {
372
- const priorityUserTask = this.page.locator(`[data-element-id="${id}"]`);
373
- await priorityUserTask.click({ timeout: 60000 });
374
- }
375
- async clickForm(name) {
376
- await this.page
377
- .locator(`[data-test="item-${name}"]`)
378
- .getByText(name)
379
- .click({ timeout: 90000 });
380
- }
381
- async clickGeneralPropertiesPanel() {
382
- const isExpanded = (await this.generalPanel
383
- .locator('.bio-properties-panel-group-header.open')
384
- .count()) > 0;
385
- if (!isExpanded) {
386
- await this.generalPanel.click({ timeout: 60000 });
387
- }
388
- }
389
- async expandAssignmentSection() {
390
- const isExpanded = (await this.assignmentSection
391
- .locator('[data-group-id="group-assignmentDefinition"] .bio-properties-panel-group-header.open')
392
- .count()) > 0;
393
- if (!isExpanded) {
394
- await this.assignmentSection.click({ timeout: 60000 });
395
- }
396
- }
397
- async clickIdInput() {
398
- try {
399
- await this.idInput.click();
400
- }
401
- catch {
402
- await this.processIdSecondLocator.click();
403
- }
404
- }
405
- async fillIdInput(id) {
406
- try {
407
- await this.idInput.fill(id);
408
- }
409
- catch {
410
- await this.processIdSecondLocator.fill(id);
411
- }
412
- }
413
- async clickPriorityInput() {
414
- const isExpanded = (await this.assignmentSection
415
- .locator('.bio-properties-panel-group-header empty open')
416
- .count()) > 0;
417
- if (!isExpanded) {
418
- await this.assignmentSection.click();
419
- }
420
- await this.priorityInput.click({ timeout: 30000 });
421
- }
422
- async clickCloseButton() {
423
- await this.closeButton.click({ timeout: 60000 });
424
- }
425
- async clickAdditionalActionsButton() {
426
- await (0, test_1.expect)(this.additionalActionsButton).toBeVisible({ timeout: 20000 });
427
- await this.additionalActionsButton.click({ timeout: 60000 });
428
- }
429
- async clickDeployMenuItem() {
430
- await (0, test_1.expect)(this.deployMenuItem).toBeVisible({ timeout: 20000 });
431
- await this.deployMenuItem.click({ timeout: 60000 });
432
- }
433
- async deployDiagram(clusterName) {
434
- await this.clickDeployButtonWithRetry();
435
- await (0, test_1.expect)(this.deployDiagramDialog).toBeVisible({
436
- timeout: 30000,
437
- });
438
- //Select the correct cluster if multiple exist
439
- const cluster = this.deployDiagramDialog.getByText(clusterName);
440
- await (0, test_1.expect)(cluster).toBeVisible({
441
- timeout: 30000,
442
- });
443
- await cluster.click();
444
- await (0, test_1.expect)(this.deployDiagramDialog
445
- .locator('label')
446
- .filter({
447
- hasText: clusterName,
448
- })
449
- .getByRole('switch')).toBeChecked({ timeout: 30000 });
450
- //Check healthy status of the selected cluster
451
- const regex = new RegExp(`${clusterName}.*?HealthydevManage`);
452
- await (0, test_1.expect)(this.deployDiagramDialog).toHaveText(regex, {
453
- timeout: 120000,
454
- });
455
- await (0, test_1.expect)(this.deploySubButton).toBeVisible({
456
- timeout: 120000,
457
- });
458
- await this.clickDeploySubButtonWithRetry();
459
- await (0, test_1.expect)(this.viewProcessLink).toBeVisible({
460
- timeout: 180000,
461
- });
462
- await (0, test_1.expect)(this.viewProcessLink).toBeHidden({
463
- timeout: 120000,
464
- });
465
- }
466
- async runProcessInstance(clusterName, variables = '', formVariables = {}, textToVisible = '') {
467
- const maxRetries = 3;
468
- for (let attempt = 0; attempt < maxRetries; attempt++) {
469
- try {
470
- await (0, test_1.expect)(this.startInstanceMainButton).toBeVisible({
471
- timeout: 60000,
472
- });
473
- await this.clickStartInstanceMainButton();
474
- await (0, test_1.expect)(this.deployAndRunDialog).toBeVisible({
475
- timeout: 30000,
476
- });
477
- //Select the correct cluster if multiple exist
478
- const cluster = this.deployAndRunDialog.getByText(clusterName);
479
- await (0, test_1.expect)(cluster).toBeVisible({
480
- timeout: 30000,
481
- });
482
- await cluster.click();
483
- await (0, test_1.expect)(this.deployAndRunDialog
484
- .locator('label')
485
- .filter({
486
- hasText: clusterName,
487
- })
488
- .getByRole('switch')).toBeChecked({ timeout: 30000 });
489
- //Check healthy status of the selected cluster
490
- const regex = new RegExp(`${clusterName}.*?HealthydevManage`);
491
- await (0, test_1.expect)(this.deployAndRunDialog).toHaveText(regex, {
492
- timeout: 120000,
493
- });
494
- if (variables.length > 0) {
495
- await (0, test_1.expect)(this.variableInput).toBeVisible({
496
- timeout: 60000,
497
- });
498
- await this.clickVariableInput();
499
- await this.fillVariableInput(variables);
500
- }
501
- if (Object.keys(formVariables).length > 0) {
502
- if ('formName' in formVariables && formVariables['formName']) {
503
- await this.fillStartFormName(formVariables['formName']);
504
- }
505
- if ('checkbox' in formVariables &&
506
- formVariables['checkbox'] == 'true') {
507
- await this.checkStartFormCheckbox();
508
- }
509
- if ('startDate' in formVariables && formVariables['startDate']) {
510
- await this.fillStartFormDate(formVariables['startDate']);
511
- }
512
- if ('startNumber' in formVariables && formVariables['startNumber']) {
513
- await this.fillStartFormNumber(formVariables['startNumber']);
514
- }
515
- }
516
- if (textToVisible.length > 0) {
517
- await (0, test_1.expect)(this.deployAndRunDialog.getByText(textToVisible)).toBeVisible({
518
- timeout: 30000,
519
- });
520
- }
521
- await this.clickStartInstanceSubButton();
522
- return;
523
- }
524
- catch (error) {
525
- if (attempt < maxRetries - 1) {
526
- console.warn(`Attempt ${attempt + 1} failed for running process. Retrying...`);
527
- await this.page.reload();
528
- await (0, randomSleep_1.randomSleep)(10000, 30000);
529
- }
530
- else {
531
- console.error(error);
532
- throw new Error(`Assertion failed after ${maxRetries} attempts`);
533
- }
534
- }
535
- }
536
- }
537
- async fillPriorityInput(priority) {
538
- await this.priorityInput.fill(priority, { timeout: 60000 });
539
- await (0, test_1.expect)(this.page
540
- .getByText('Must be an expression, or an integer between 0 and 100')
541
- .first()).not.toBeVisible({ timeout: 30000 });
542
- await this.page.waitForTimeout(1000);
543
- }
544
- async clickStartEventElement() {
545
- await (0, test_1.expect)(this.startEventElement).toBeVisible({ timeout: 15000 });
546
- await this.startEventElement.click();
547
- }
548
- async clickAppendTaskButton() {
549
- await (0, test_1.expect)(this.appendTaskButton).toBeVisible({ timeout: 15000 });
550
- await this.appendTaskButton.click();
551
- }
552
- async clickAppendGatewayButton() {
553
- await (0, test_1.expect)(this.appendTaskButton).toBeVisible({ timeout: 15000 });
554
- await this.appendGatewayButton.click();
555
- }
556
- async clickChangeTypeButton() {
557
- await (0, test_1.expect)(this.changeTypeButton).toBeVisible({ timeout: 15000 });
558
- await this.changeTypeButton.click();
559
- }
560
- async clickUserTaskOption() {
561
- await (0, test_1.expect)(this.userTaskOption).toBeVisible({ timeout: 15000 });
562
- await this.userTaskOption.click();
563
- }
564
- async assertImplementationOption(implementationType) {
565
- await this.expandImplementationOptionIfNecessary();
566
- (0, test_1.expect)(await this.implementationOptions.inputValue()).toEqual(implementationType);
567
- }
568
- async expandImplementationOptionIfNecessary() {
569
- const isExpanded = (await this.implementationSection
570
- .locator('.bio-properties-panel-group-header empty open')
571
- .count()) > 0;
572
- if (!isExpanded) {
573
- await this.implementationSection.click();
574
- }
575
- }
576
- async clickParallelGatewayOption() {
577
- await this.parallelGatewayOption.click({ timeout: 90000 });
578
- }
579
- async clickAppendEndEventButton(parentElement) {
580
- try {
581
- await this.appendEndEventButton.click({ timeout: 120000 });
582
- }
583
- catch (error) {
584
- await this.page.reload();
585
- const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
586
- await sleep(10000);
587
- if (parentElement == undefined) {
588
- await this.clickSecondPlacedElement();
589
- }
590
- else if (parentElement == 'parallelGateway') {
591
- await this.clickSecondPlacedGateway();
592
- }
593
- await this.appendElementButton.hover();
594
- await this.appendEndEventButton.click({ timeout: 120000 });
595
- }
596
- }
597
- async addParallelUserTasks(numberOfTasks, taskName) {
598
- try {
599
- await this.clickAppendElementButton();
600
- }
601
- catch (error) {
602
- await this.page.reload();
603
- const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
604
- await sleep(10000);
605
- await this.clickFirstPlacedElement();
606
- await this.appendElementButton.hover();
607
- }
608
- await this.clickAppendGatewayButton();
609
- await this.clickChangeTypeButton();
610
- await this.clickParallelGatewayOption();
611
- await this.clickAppendElementButton();
612
- await this.clickAppendTaskButton();
613
- await this.clickChangeTypeButton();
614
- await this.clickUserTaskOption();
615
- await this.assertImplementationOption('zeebeUserTask');
616
- await this.clickGeneralPropertiesPanel();
617
- await this.clickNameInput();
618
- await this.fillNameInput(taskName + '1');
619
- await this.clickIdInput();
620
- await this.fillIdInput(taskName + '1');
621
- await this.clickAppendElementButton();
622
- await this.clickAppendGatewayButton();
623
- await this.clickChangeTypeButton();
624
- await this.clickParallelGatewayOption();
625
- for (let i = 2; i <= numberOfTasks; i++) {
626
- await this.clickFirstPlacedGateway();
627
- await this.clickAppendElementButton();
628
- await this.clickAppendTaskButton();
629
- await this.clickChangeTypeButton();
630
- await this.clickUserTaskOption();
631
- await this.assertImplementationOption('zeebeUserTask');
632
- await this.clickNameInput();
633
- await this.fillNameInput(taskName + i);
634
- await this.clickIdInput();
635
- await this.fillIdInput(taskName + i);
636
- await this.clickConnectToOtherElementButton();
637
- await this.clickSecondPlacedGateway();
638
- await this.clickCanvas();
639
- }
640
- await this.clickSecondPlacedGateway();
641
- }
642
- async clickStartInstanceMainButton() {
643
- await this.startInstanceMainButton.click({ timeout: 90000 });
644
- }
645
- async clickStartInstanceSubButton() {
646
- await this.startInstanceSubButton.click({ timeout: 90000 });
647
- }
648
- async clickViewProcessInstanceLink() {
649
- await this.viewProcessInstanceLink.click({ timeout: 180000 });
650
- }
651
- async clickNameInput() {
652
- await this.nameInput.click({ timeout: 60000 });
653
- }
654
- async fillNameInput(name) {
655
- await this.nameInput.fill(name, { timeout: 60000 });
656
- }
657
- async setPriority(taskName, priority, numberOfTasks) {
658
- for (let i = 1; i <= numberOfTasks; i++) {
659
- const userTaskId = taskName + i;
660
- const priorityUserTask = this.page.locator(`[data-element-id="${userTaskId}"]`);
661
- await priorityUserTask.click({ timeout: 60000 });
662
- await this.expandAssignmentSection();
663
- await this.clickPriorityInput();
664
- await this.fillPriorityInput(priority.toString());
665
- await (0, sleep_1.sleep)(5000);
666
- await this.clickCanvas();
667
- priority += 25;
668
- }
669
- }
670
- async clickDiagramBreadcrumb() {
671
- await this.diagramBreadcrumb.click({ timeout: 10000 });
672
- }
673
- async clickRenameDiagramNameButton() {
674
- await (0, test_1.expect)(this.renameDiagramNameButton).toBeVisible({ timeout: 30000 });
675
- await this.renameDiagramNameButton.click({ timeout: 30000 });
676
- }
677
- async assertThreeElementsVisible() {
678
- await (0, test_1.expect)(this.firstElement).toBeVisible({ timeout: 30000 });
679
- await (0, test_1.expect)(this.secondElement).toBeVisible({ timeout: 30000 });
680
- await (0, test_1.expect)(this.thirdElement).toBeVisible({ timeout: 30000 });
681
- }
682
- async enterDiagramName(name) {
683
- await this.diagramNameInput.fill(name, { timeout: 90000 });
684
- await this.diagramNameInput.press('Enter', { timeout: 90000 });
685
- }
686
- async clickVariableInput() {
687
- await this.variableInput.click({ timeout: 60000 });
688
- }
689
- async fillVariableInput(variable) {
690
- await this.variableInput.fill(variable);
691
- }
692
- async clickEmbedFormButton() {
693
- await this.embedFormButton.click({ timeout: 60000 });
694
- }
695
- async clickEmbedButton() {
696
- await this.embedButton.click({ timeout: 60000 });
697
- }
698
- async clickNewForm() {
699
- await this.newForm.click({ timeout: 120000 });
700
- }
701
- async clickDeployMainButton() {
702
- await this.deployMainButton.click({ timeout: 120000, force: true });
703
- }
704
- async clickDeploySubButton() {
705
- await this.deploySubButton.click({ timeout: 120000, force: true });
706
- }
707
- async clickCancelButton() {
708
- await this.cancelButton.click({ timeout: 60000 });
709
- }
710
- async clickRestConnectorOption() {
711
- await this.restConnectorOption.click({ timeout: 60000 });
712
- }
713
- async clickWebhookMessageStartEventConnectorOption() {
714
- await this.webhookMessageStartEventConnectorOption.click({ timeout: 60000 });
715
- }
716
- async clickWebhookTab() {
717
- await this.webhookTab.click({ timeout: 120000 });
718
- }
719
- async clickWebhookIsActiveButton() {
720
- await this.webhookIsActiveButton.click({ timeout: 60000 });
721
- }
722
- async clickDeployButton() {
723
- try {
724
- await this.clickAdditionalActionsButton();
725
- await this.clickDeployMenuItem();
726
- return;
727
- }
728
- catch (error) {
729
- await (0, test_1.expect)(this.deployMainButton).toBeVisible({
730
- timeout: 30000,
731
- });
732
- await this.deployMainButton.click({ timeout: 30000, force: true });
733
- }
734
- }
735
- async clickDeployButtonWithRetry(retries = 3) {
736
- for (let i = 0; i < retries; i++) {
737
- try {
738
- await this.clickDeployButton();
739
- return;
740
- }
741
- catch (error) {
742
- console.error(`Attempt ${i + 1} to click deploy button failed: ${error}`);
743
- // Refresh the page
744
- await this.page.reload();
745
- await (0, sleep_1.sleep)(10000);
746
- }
747
- }
748
- throw new Error(`Failed to click deploy button after ${retries} retries`);
749
- }
750
- async clickDeploySubButtonWithRetry(retries = 3) {
751
- for (let i = 0; i < retries; i++) {
752
- try {
753
- await this.deploySubButton.click({ timeout: 120000, force: true });
754
- return;
755
- }
756
- catch (error) {
757
- console.error(`Attempt ${i + 1} to click deploy button failed: ${error}`);
758
- await this.page.reload();
759
- await (0, sleep_1.sleep)(10000);
760
- await this.clickDeployButtonWithRetry();
761
- }
762
- }
763
- throw new Error(`Failed to click deploy button after ${retries} retries`);
764
- }
765
- async clickCreateTask() {
766
- await this.createTask.click({ timeout: 60000 });
767
- }
768
- async clickCreateEndEvent() {
769
- await this.createEndEvent.click({ timeout: 60000 });
770
- }
771
- async clickCanvas() {
772
- await this.canvas.click({ timeout: 60000 });
773
- }
774
- async clickEndEventCanvas() {
775
- await this.endEventCanvas.click({ timeout: 60000 });
776
- }
777
- async clickConnectToOtherElementButton() {
778
- await this.connectToOtherElementButton.click({ timeout: 60000 });
779
- }
780
- async clickFirstPlacedElement() {
781
- await this.firstPlacedElement.click({ timeout: 90000 });
782
- }
783
- async clickSecondPlacedElement() {
784
- await this.secondPlacedElement.click({ timeout: 12000 });
785
- }
786
- async clickSecondElement() {
787
- await this.secondElement.click({ timeout: 12000 });
788
- }
789
- async clickSecondPlacedGateway() {
790
- try {
791
- await this.secondPlacedGateway.click({ timeout: 60000 });
792
- await this.appendElementButton.isVisible({ timeout: 60000 });
793
- }
794
- catch (error) {
795
- await this.page.reload();
796
- const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
797
- await sleep(10000);
798
- await this.secondPlacedGateway.click({ timeout: 60000 });
799
- }
800
- }
801
- async clickFirstPlacedGateway() {
802
- try {
803
- await this.firstPlacedGateway.click({ timeout: 60000 });
804
- await this.appendElementButton.isVisible({ timeout: 60000 });
805
- }
806
- catch (error) {
807
- await this.page.reload();
808
- const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
809
- await sleep(10000);
810
- await this.firstPlacedGateway.click({ timeout: 60000 });
811
- }
812
- }
813
- async clickAppendElementButton() {
814
- for (let attempt = 1; attempt <= 4; attempt++) {
815
- try {
816
- await (0, sleep_1.sleep)(10000);
817
- await this.appendElementButton.hover({ timeout: 60000, force: true });
818
- return; // Exit loop if successful
819
- }
820
- catch (error) {
821
- if (attempt === 4)
822
- throw error; // Rethrow after 3 failed attempts
823
- }
824
- }
825
- }
826
- async clickMarketPlaceButton() {
827
- const maxRetries = 3;
828
- for (let retries = 0; retries < maxRetries; retries++) {
829
- try {
830
- if (retries === 0) {
831
- await this.marketPlaceButton.click({ timeout: 30000 });
832
- }
833
- else {
834
- await this.changeTypeButton.click({ force: true, timeout: 30000 });
835
- await this.marketPlaceButton.click({ timeout: 30000 });
836
- }
837
- return;
838
- }
839
- catch (error) {
840
- console.error(`Click attempt ${retries + 1} failed: ${error}`);
841
- await new Promise((resolve) => setTimeout(resolve, 10000));
842
- }
843
- }
844
- throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
845
- }
846
- async clickPublicHolidayConnectorOption() {
847
- const maxRetries = 4;
848
- for (let retries = 0; retries < maxRetries; retries++) {
849
- try {
850
- if (retries <= 2) {
851
- await this.publicHolidayConnectorOption.click({ timeout: 60000 });
852
- }
853
- else {
854
- await this.clickMarketPlaceButton();
855
- const connectorMarketplacePage = new ConnectorMarketplacePage_1.ConnectorMarketplacePage(this.page);
856
- await connectorMarketplacePage.clickSearchForConnectorTextbox();
857
- await connectorMarketplacePage.fillSearchForConnectorTextbox('Public Holiday Connector');
858
- await (0, sleep_1.sleep)(10000);
859
- await connectorMarketplacePage.downloadConnectorToProject();
860
- await this.publicHolidayConnectorOption.click({ timeout: 120000 });
861
- }
862
- return;
863
- }
864
- catch (error) {
865
- console.error(`Click attempt ${retries + 1} failed: ${error}`);
866
- await this.page.reload();
867
- await new Promise((resolve) => setTimeout(resolve, 10000));
868
- await this.clickCanvas();
869
- await this.secondElement.click({ timeout: 60000 });
870
- await this.clickChangeTypeButton();
871
- }
872
- }
873
- throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
874
- }
875
- async clickPublicHolidayYearOption() {
876
- await this.publicHolidayYearOption.click({ timeout: 60000 });
877
- }
878
- async fillPublicHolidayYearOption(year) {
879
- await this.publicHolidayYearOption.fill(year);
880
- }
881
- async clickPublicHolidayCountryCodeOption() {
882
- await this.publicHolidayCountryCodeOption.click({ timeout: 60000 });
883
- }
884
- async fillPublicHolidayCountryCodeOption(countryCode) {
885
- await this.publicHolidayCountryCodeOption.fill(countryCode);
886
- }
887
- async chooseImplementationOption(implementationType) {
888
- const isExpanded = (await this.implementationSection
889
- .locator('.bio-properties-panel-group-header.empty.open')
890
- .count()) > 0;
891
- if (!isExpanded) {
892
- await this.implementationSection.click();
893
- }
894
- await this.implementationOptions.selectOption(implementationType);
895
- await this.assertImplementationOption(implementationType);
896
- }
897
- async fillStartFormName(name) {
898
- await this.payloadNameInput.fill(name);
899
- }
900
- async fillStartFormDate(date) {
901
- await this.payloadDateInput.click();
902
- await this.payloadDateInput.fill(date);
903
- await this.payloadDateInput.press('Enter');
904
- }
905
- async checkStartFormCheckbox() {
906
- await this.payloadCheckboxInput.check();
907
- }
908
- async fillStartFormNumber(number) {
909
- await this.payloadNumberInput.fill(number);
910
- }
911
- async chooseFormLinkingTypeOption(formLinkType) {
912
- await this.formPropertySection.click();
913
- const jsonConfig = JSON.stringify({
914
- executionPlatform: 'Camunda Cloud',
915
- executionPlatformVersion: '8.6.0',
916
- exporter: {
917
- name: 'Camunda Web Modeler',
918
- version: 'ca7603f',
919
- },
920
- schemaVersion: 17,
921
- id: 'Form_0ex0ayi',
922
- components: [
923
- {
924
- label: 'Full Name',
925
- type: 'textfield',
926
- id: 'Textfield_0',
927
- validate: {
928
- minLength: 2,
929
- required: true,
930
- },
931
- key: 'fullName',
932
- },
933
- ],
934
- generated: true,
935
- type: 'default',
936
- });
937
- await this.formLinkTypeOptions.selectOption(formLinkType);
938
- await this.addFormJsonConfigurationInput.click();
939
- await this.addFormJsonConfigurationInput.fill(jsonConfig);
940
- }
941
- async clickIntermediateBoundaryEvent() {
942
- await this.intermediateBoundaryEvent.click({ timeout: 60000 });
943
- }
944
- async clickIntermediateWebhookConnectorOption() {
945
- await this.intermediateWebhookConnectorOption.click({ timeout: 60000 });
946
- }
947
- async clickCorrelationKeyProcessInput() {
948
- await this.correlationKeyProcessInput.click({ timeout: 60000 });
949
- }
950
- async fillCorrelationKeyProcessInput(correlationKeyProcess) {
951
- await this.correlationKeyProcessInput.fill(correlationKeyProcess);
952
- }
953
- async clickCorrelationKeyPayloadInput() {
954
- await this.correlationKeyPayloadInput.click({ timeout: 60000 });
955
- }
956
- async fillCorrelationKeyPayloadInput(correlationKeyPayload) {
957
- await this.correlationKeyPayloadInput.fill(correlationKeyPayload);
958
- }
959
- async clickServiceTaskOption() {
960
- const maxRetries = 3;
961
- for (let retries = 0; retries < maxRetries; retries++) {
962
- try {
963
- if (retries === 0) {
964
- await this.serviceTaskOption.click({ timeout: 30000, force: true });
965
- }
966
- else {
967
- await this.changeTypeButton.click({ force: true, timeout: 30000 });
968
- await this.serviceTaskOption.click({ timeout: 30000, force: true });
969
- }
970
- return;
971
- }
972
- catch (error) {
973
- console.error(`Click attempt ${retries + 1} failed: ${error}`);
974
- await new Promise((resolve) => setTimeout(resolve, 10000));
975
- }
976
- }
977
- throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
978
- }
979
- async clickTaskDefinitionPropertiesPanel() {
980
- const isExpanded = (await this.taskDefinitionPanel
981
- .locator('.bio-properties-panel-group-header empty open')
982
- .count()) > 0;
983
- if (!isExpanded) {
984
- await this.taskDefinitionPanel.click();
985
- }
986
- }
987
- async clickJobTypeInput() {
988
- await this.jobTypeInput.click();
989
- }
990
- async fillJobTypeInput(name) {
991
- await this.jobTypeInput.fill(name);
992
- }
993
- async switchToPlay() {
994
- await this.playTab.click();
995
- }
996
- async completePlayConfiguration(clusterName) {
997
- const timeout = 30000;
998
- let attempts = 0;
999
- const maxRetries = 2;
1000
- while (attempts < maxRetries) {
1001
- try {
1002
- if (attempts > 0)
1003
- await this.switchToPlay(); // Call switchToPlay on subsequent attempts
1004
- await this.selectCluster(clusterName);
1005
- await this.continueToPlayButton.click({ timeout });
1006
- await (0, test_1.expect)(this.page.getByText('Play environment is ready')).toBeVisible({ timeout: 90000 });
1007
- return; // Exit if successful
1008
- }
1009
- catch (error) {
1010
- if (attempts >= maxRetries - 1)
1011
- throw error;
1012
- await this.page.reload();
1013
- attempts++;
1014
- }
1015
- }
1016
- }
1017
- async selectCluster(clusterName) {
1018
- await (0, test_1.expect)(this.dialog).toBeVisible({ timeout: 30000 });
1019
- const healthCheckTimeout = 30000;
1020
- const healthyRegex = new RegExp(`${clusterName}.*?HealthydevManage`);
1021
- const cluster = this.dialog.getByText(clusterName);
1022
- await (0, test_1.expect)(cluster).toBeVisible({ timeout: 30000 });
1023
- await cluster.click();
1024
- await (0, test_1.expect)(this.dialog
1025
- .locator('label')
1026
- .filter({ hasText: clusterName })
1027
- .getByRole('switch')).toBeChecked({ timeout: 30000 });
1028
- await (0, test_1.expect)(this.dialog).toHaveText(healthyRegex, {
1029
- timeout: healthCheckTimeout,
1030
- });
1031
- }
1032
- async clickCandidateGroupsInput() {
1033
- await this.candidateGroupsInput.click({ timeout: 60000 });
1034
- }
1035
- async fillCandidateGroupsInput(name) {
1036
- await this.candidateGroupsInput.fill(name, { timeout: 60000 });
1037
- await this.page.waitForTimeout(1000);
1038
- }
1039
- async clickTimerEventOption() {
1040
- await this.timerEventOption.click();
1041
- }
1042
- async clickTimerEventSettings() {
1043
- await this.timerEventSettings.click();
1044
- }
1045
- async selectTimerType(type) {
1046
- await this.timerType.selectOption(type);
1047
- }
1048
- async clickTimerValue() {
1049
- await this.timerValue.click();
1050
- }
1051
- async fillTimerValue(value) {
1052
- await this.timerValue.fill(value);
1053
- }
1054
- async clickEighthPlacedElement() {
1055
- await this.eighthPlacedElement.click();
1056
- }
1057
- async expandFormsSection() {
1058
- const isExpanded = (await this.formPropertySection
1059
- .locator('[data-group-id="group-form"] .bio-properties-panel-group-header.open')
1060
- .count()) > 0;
1061
- if (!isExpanded) {
1062
- await this.formPropertySection.click({ timeout: 60000 });
1063
- }
1064
- }
1065
- async linkFormToStartEvent(formName) {
1066
- await this.startEventElement.click({ timeout: 90000 });
1067
- await (0, sleep_1.sleep)(1000);
1068
- await this.embedForm(formName);
1069
- }
1070
- async expandPublicationSection() {
1071
- const isExpanded = (await this.publicationSection
1072
- .locator('.bio-properties-panel-group-header.open')
1073
- .count()) > 0;
1074
- if (!isExpanded) {
1075
- await this.publicationSection.click({ timeout: 60000 });
1076
- }
1077
- }
1078
- async enablePublicAccessIfDisabled() {
1079
- await this.expandPublicationSection();
1080
- const isDisabled = (await this.publicAccessToggle.getAttribute('aria-checked')) === 'false';
1081
- if (isDisabled) {
1082
- await this.publicAccessToggle.focus();
1083
- await this.page.waitForTimeout(500);
1084
- await this.publicAccessToggle.press('Space');
1085
- await this.page.waitForTimeout(2000);
1086
- await (0, test_1.expect)(this.page.getByText('Public access enabled')).toBeVisible({
1087
- timeout: 60000,
1088
- });
1089
- console.log('Public access toggle enabled successfully');
1090
- }
1091
- }
1092
- async clickPublicationTab() {
1093
- await this.publicationTab.click({ timeout: 60000 });
1094
- }
1095
- async clickCopyPublicLinkButton() {
1096
- await this.copyPublicLinkButton.click({ timeout: 60000 });
1097
- }
1098
- async getPublicationLink() {
1099
- await this.clickPublicationTab();
1100
- await (0, test_1.expect)(this.copyPublicLinkButton).toBeVisible({ timeout: 60000 });
1101
- await this.clickCopyPublicLinkButton();
1102
- await (0, sleep_1.sleep)(1000);
1103
- const context = this.page.context();
1104
- await context.grantPermissions(['clipboard-read']);
1105
- const clipboardText = await this.page.evaluate(async () => {
1106
- return await navigator.clipboard.readText();
1107
- });
1108
- console.log('Captured public link:', clipboardText);
1109
- return clipboardText;
1110
- }
1111
- async embedForm(formName) {
1112
- await this.clickEmbedFormButton();
1113
- await this.clickForm(formName);
1114
- await this.clickEmbedButton();
1115
- }
1116
- async assertFormEmbedded() {
1117
- await (0, test_1.expect)(this.formLinkedSuccessMessage).toBeVisible({ timeout: 15000 });
1118
- }
1119
- async assertDiagramNameSet(diagramName) {
1120
- await (0, test_1.expect)(this.diagramNameBreadcrumb(diagramName)).toBeVisible({
1121
- timeout: 60000,
1122
- });
1123
- }
1124
- }
1125
- exports.ModelerCreatePage = ModelerCreatePage;