@camunda/e2e-test-suite 0.0.714 → 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.
Files changed (201) hide show
  1. package/.github/c8_versions.json +0 -3
  2. package/README.md +0 -6
  3. package/dist/utils/clusterVersions.d.ts +0 -1
  4. package/dist/utils/clusterVersions.js +0 -1
  5. package/package.json +1 -1
  6. package/dist/fixtures/8.6.d.ts +0 -63
  7. package/dist/fixtures/8.6.js +0 -162
  8. package/dist/fixtures/SM-8.6.d.ts +0 -63
  9. package/dist/fixtures/SM-8.6.js +0 -149
  10. package/dist/fixtures/c8Run-8.6.d.ts +0 -20
  11. package/dist/fixtures/c8Run-8.6.js +0 -56
  12. package/dist/pages/8.6/AppsPage.d.ts +0 -33
  13. package/dist/pages/8.6/AppsPage.js +0 -337
  14. package/dist/pages/8.6/ClientCredentialsDetailsPage.d.ts +0 -12
  15. package/dist/pages/8.6/ClientCredentialsDetailsPage.js +0 -36
  16. package/dist/pages/8.6/ClusterDetailsPage.d.ts +0 -75
  17. package/dist/pages/8.6/ClusterDetailsPage.js +0 -443
  18. package/dist/pages/8.6/ClusterPage.d.ts +0 -59
  19. package/dist/pages/8.6/ClusterPage.js +0 -320
  20. package/dist/pages/8.6/ClusterSecretsPage.d.ts +0 -28
  21. package/dist/pages/8.6/ClusterSecretsPage.js +0 -134
  22. package/dist/pages/8.6/ConnectorMarketplacePage.d.ts +0 -19
  23. package/dist/pages/8.6/ConnectorMarketplacePage.js +0 -60
  24. package/dist/pages/8.6/ConnectorSettingsPage.d.ts +0 -38
  25. package/dist/pages/8.6/ConnectorSettingsPage.js +0 -133
  26. package/dist/pages/8.6/ConnectorTemplatePage.d.ts +0 -11
  27. package/dist/pages/8.6/ConnectorTemplatePage.js +0 -34
  28. package/dist/pages/8.6/ConsoleOrganizationPage.d.ts +0 -87
  29. package/dist/pages/8.6/ConsoleOrganizationPage.js +0 -495
  30. package/dist/pages/8.6/FormJsPage.d.ts +0 -30
  31. package/dist/pages/8.6/FormJsPage.js +0 -112
  32. package/dist/pages/8.6/HomePage.d.ts +0 -27
  33. package/dist/pages/8.6/HomePage.js +0 -101
  34. package/dist/pages/8.6/LoginPage.d.ts +0 -30
  35. package/dist/pages/8.6/LoginPage.js +0 -85
  36. package/dist/pages/8.6/ModelerCreatePage.d.ts +0 -211
  37. package/dist/pages/8.6/ModelerCreatePage.js +0 -1125
  38. package/dist/pages/8.6/ModelerHomePage.d.ts +0 -48
  39. package/dist/pages/8.6/ModelerHomePage.js +0 -213
  40. package/dist/pages/8.6/ModelerUserInvitePage.d.ts +0 -28
  41. package/dist/pages/8.6/ModelerUserInvitePage.js +0 -106
  42. package/dist/pages/8.6/OperateHomePage.d.ts +0 -21
  43. package/dist/pages/8.6/OperateHomePage.js +0 -57
  44. package/dist/pages/8.6/OperateProcessInstancePage.d.ts +0 -17
  45. package/dist/pages/8.6/OperateProcessInstancePage.js +0 -58
  46. package/dist/pages/8.6/OperateProcessesPage.d.ts +0 -21
  47. package/dist/pages/8.6/OperateProcessesPage.js +0 -77
  48. package/dist/pages/8.6/OptimizeCollectionsPage.d.ts +0 -15
  49. package/dist/pages/8.6/OptimizeCollectionsPage.js +0 -44
  50. package/dist/pages/8.6/OptimizeDashboardPage.d.ts +0 -11
  51. package/dist/pages/8.6/OptimizeDashboardPage.js +0 -65
  52. package/dist/pages/8.6/OptimizeHomePage.d.ts +0 -12
  53. package/dist/pages/8.6/OptimizeHomePage.js +0 -32
  54. package/dist/pages/8.6/OptimizeReportPage.d.ts +0 -48
  55. package/dist/pages/8.6/OptimizeReportPage.js +0 -163
  56. package/dist/pages/8.6/PlayPage.d.ts +0 -14
  57. package/dist/pages/8.6/PlayPage.js +0 -66
  58. package/dist/pages/8.6/SettingsPage.d.ts +0 -10
  59. package/dist/pages/8.6/SettingsPage.js +0 -43
  60. package/dist/pages/8.6/SignUpPage.d.ts +0 -43
  61. package/dist/pages/8.6/SignUpPage.js +0 -136
  62. package/dist/pages/8.6/TaskDetailsPage.d.ts +0 -66
  63. package/dist/pages/8.6/TaskDetailsPage.js +0 -214
  64. package/dist/pages/8.6/TaskPanelPage.d.ts +0 -18
  65. package/dist/pages/8.6/TaskPanelPage.js +0 -54
  66. package/dist/pages/8.6/TaskProcessesPage.d.ts +0 -11
  67. package/dist/pages/8.6/TaskProcessesPage.js +0 -35
  68. package/dist/pages/8.6/UtilitiesPage.d.ts +0 -38
  69. package/dist/pages/8.6/UtilitiesPage.js +0 -328
  70. package/dist/pages/SM-8.6/ConnectorMarketplacePage.d.ts +0 -16
  71. package/dist/pages/SM-8.6/ConnectorMarketplacePage.js +0 -48
  72. package/dist/pages/SM-8.6/ConnectorSettingsPage.d.ts +0 -28
  73. package/dist/pages/SM-8.6/ConnectorSettingsPage.js +0 -82
  74. package/dist/pages/SM-8.6/ConnectorTemplatePage.d.ts +0 -11
  75. package/dist/pages/SM-8.6/ConnectorTemplatePage.js +0 -34
  76. package/dist/pages/SM-8.6/ConsoleHomePage.d.ts +0 -9
  77. package/dist/pages/SM-8.6/ConsoleHomePage.js +0 -22
  78. package/dist/pages/SM-8.6/ConsoleOrganizationPage.d.ts +0 -22
  79. package/dist/pages/SM-8.6/ConsoleOrganizationPage.js +0 -68
  80. package/dist/pages/SM-8.6/FormJsPage.d.ts +0 -13
  81. package/dist/pages/SM-8.6/FormJsPage.js +0 -30
  82. package/dist/pages/SM-8.6/HomePage.d.ts +0 -20
  83. package/dist/pages/SM-8.6/HomePage.js +0 -49
  84. package/dist/pages/SM-8.6/IdentityPage.d.ts +0 -67
  85. package/dist/pages/SM-8.6/IdentityPage.js +0 -266
  86. package/dist/pages/SM-8.6/IdentityTenantPage.d.ts +0 -50
  87. package/dist/pages/SM-8.6/IdentityTenantPage.js +0 -196
  88. package/dist/pages/SM-8.6/IdentityUsersPage.d.ts +0 -90
  89. package/dist/pages/SM-8.6/IdentityUsersPage.js +0 -505
  90. package/dist/pages/SM-8.6/KeycloakAdminPage.d.ts +0 -15
  91. package/dist/pages/SM-8.6/KeycloakAdminPage.js +0 -56
  92. package/dist/pages/SM-8.6/KeycloakLoginPage.d.ts +0 -11
  93. package/dist/pages/SM-8.6/KeycloakLoginPage.js +0 -25
  94. package/dist/pages/SM-8.6/KeycloakUtils.d.ts +0 -15
  95. package/dist/pages/SM-8.6/KeycloakUtils.js +0 -58
  96. package/dist/pages/SM-8.6/LoginPage.d.ts +0 -22
  97. package/dist/pages/SM-8.6/LoginPage.js +0 -123
  98. package/dist/pages/SM-8.6/ModelerCreatePage.d.ts +0 -167
  99. package/dist/pages/SM-8.6/ModelerCreatePage.js +0 -852
  100. package/dist/pages/SM-8.6/ModelerHomePage.d.ts +0 -41
  101. package/dist/pages/SM-8.6/ModelerHomePage.js +0 -150
  102. package/dist/pages/SM-8.6/NavigationPage.d.ts +0 -42
  103. package/dist/pages/SM-8.6/NavigationPage.js +0 -119
  104. package/dist/pages/SM-8.6/OperateHomePage.d.ts +0 -23
  105. package/dist/pages/SM-8.6/OperateHomePage.js +0 -65
  106. package/dist/pages/SM-8.6/OperateProcessInstancePage.d.ts +0 -22
  107. package/dist/pages/SM-8.6/OperateProcessInstancePage.js +0 -139
  108. package/dist/pages/SM-8.6/OperateProcessesPage.d.ts +0 -33
  109. package/dist/pages/SM-8.6/OperateProcessesPage.js +0 -166
  110. package/dist/pages/SM-8.6/OptimizeCollectionsPage.d.ts +0 -15
  111. package/dist/pages/SM-8.6/OptimizeCollectionsPage.js +0 -44
  112. package/dist/pages/SM-8.6/OptimizeDashboardPage.d.ts +0 -14
  113. package/dist/pages/SM-8.6/OptimizeDashboardPage.js +0 -56
  114. package/dist/pages/SM-8.6/OptimizeHomePage.d.ts +0 -19
  115. package/dist/pages/SM-8.6/OptimizeHomePage.js +0 -62
  116. package/dist/pages/SM-8.6/OptimizeReportPage.d.ts +0 -50
  117. package/dist/pages/SM-8.6/OptimizeReportPage.js +0 -162
  118. package/dist/pages/SM-8.6/PlayPage.d.ts +0 -19
  119. package/dist/pages/SM-8.6/PlayPage.js +0 -103
  120. package/dist/pages/SM-8.6/SettingsPage.d.ts +0 -10
  121. package/dist/pages/SM-8.6/SettingsPage.js +0 -20
  122. package/dist/pages/SM-8.6/TaskDetailsPage.d.ts +0 -64
  123. package/dist/pages/SM-8.6/TaskDetailsPage.js +0 -240
  124. package/dist/pages/SM-8.6/TaskPanelPage.d.ts +0 -22
  125. package/dist/pages/SM-8.6/TaskPanelPage.js +0 -68
  126. package/dist/pages/SM-8.6/TaskProcessesPage.d.ts +0 -11
  127. package/dist/pages/SM-8.6/TaskProcessesPage.js +0 -31
  128. package/dist/pages/SM-8.6/UtlitiesPage.d.ts +0 -21
  129. package/dist/pages/SM-8.6/UtlitiesPage.js +0 -207
  130. package/dist/pages/SM-8.6/optimizeReportUtils.d.ts +0 -6
  131. package/dist/pages/SM-8.6/optimizeReportUtils.js +0 -42
  132. package/dist/pages/c8Run-8.6/OperateHomePage.d.ts +0 -20
  133. package/dist/pages/c8Run-8.6/OperateHomePage.js +0 -52
  134. package/dist/pages/c8Run-8.6/OperateLoginPage.d.ts +0 -14
  135. package/dist/pages/c8Run-8.6/OperateLoginPage.js +0 -37
  136. package/dist/pages/c8Run-8.6/OperateProcessInstancePage.d.ts +0 -17
  137. package/dist/pages/c8Run-8.6/OperateProcessInstancePage.js +0 -76
  138. package/dist/pages/c8Run-8.6/OperateProcessesPage.d.ts +0 -20
  139. package/dist/pages/c8Run-8.6/OperateProcessesPage.js +0 -84
  140. package/dist/pages/c8Run-8.6/TaskDetailsPage.d.ts +0 -65
  141. package/dist/pages/c8Run-8.6/TaskDetailsPage.js +0 -219
  142. package/dist/pages/c8Run-8.6/TaskListLoginPage.d.ts +0 -14
  143. package/dist/pages/c8Run-8.6/TaskListLoginPage.js +0 -37
  144. package/dist/pages/c8Run-8.6/TaskPanelPage.d.ts +0 -23
  145. package/dist/pages/c8Run-8.6/TaskPanelPage.js +0 -76
  146. package/dist/pages/c8Run-8.6/UtilitiesPage.d.ts +0 -6
  147. package/dist/pages/c8Run-8.6/UtilitiesPage.js +0 -45
  148. package/dist/tests/8.6/connectors-user-flows.spec.d.ts +0 -1
  149. package/dist/tests/8.6/connectors-user-flows.spec.js +0 -435
  150. package/dist/tests/8.6/console-user-flows.spec.d.ts +0 -1
  151. package/dist/tests/8.6/console-user-flows.spec.js +0 -193
  152. package/dist/tests/8.6/hto-user-flows.spec.d.ts +0 -1
  153. package/dist/tests/8.6/hto-user-flows.spec.js +0 -365
  154. package/dist/tests/8.6/login.spec.d.ts +0 -1
  155. package/dist/tests/8.6/login.spec.js +0 -27
  156. package/dist/tests/8.6/navigation.spec.d.ts +0 -1
  157. package/dist/tests/8.6/navigation.spec.js +0 -57
  158. package/dist/tests/8.6/operate-access-flow.spec.d.ts +0 -1
  159. package/dist/tests/8.6/operate-access-flow.spec.js +0 -57
  160. package/dist/tests/8.6/optimize-user-flows.spec.d.ts +0 -1
  161. package/dist/tests/8.6/optimize-user-flows.spec.js +0 -231
  162. package/dist/tests/8.6/play.spec.d.ts +0 -1
  163. package/dist/tests/8.6/play.spec.js +0 -94
  164. package/dist/tests/8.6/rba-enabled-user-flows.spec.d.ts +0 -1
  165. package/dist/tests/8.6/rba-enabled-user-flows.spec.js +0 -288
  166. package/dist/tests/8.6/smoke-tests.spec.d.ts +0 -1
  167. package/dist/tests/8.6/smoke-tests.spec.js +0 -188
  168. package/dist/tests/8.6/test-setup.spec.d.ts +0 -1
  169. package/dist/tests/8.6/test-setup.spec.js +0 -68
  170. package/dist/tests/8.6/web-modeler-user-flows.spec.d.ts +0 -1
  171. package/dist/tests/8.6/web-modeler-user-flows.spec.js +0 -692
  172. package/dist/tests/SM-8.6/connectors-user-flows.spec.d.ts +0 -1
  173. package/dist/tests/SM-8.6/connectors-user-flows.spec.js +0 -247
  174. package/dist/tests/SM-8.6/console-user-flows.spec.d.ts +0 -1
  175. package/dist/tests/SM-8.6/console-user-flows.spec.js +0 -55
  176. package/dist/tests/SM-8.6/hto-user-flows.spec.d.ts +0 -1
  177. package/dist/tests/SM-8.6/hto-user-flows.spec.js +0 -393
  178. package/dist/tests/SM-8.6/license-key-user-flows.spec.d.ts +0 -1
  179. package/dist/tests/SM-8.6/license-key-user-flows.spec.js +0 -462
  180. package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.d.ts +0 -1
  181. package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.js +0 -500
  182. package/dist/tests/SM-8.6/optimize-user-flows.spec.d.ts +0 -1
  183. package/dist/tests/SM-8.6/optimize-user-flows.spec.js +0 -186
  184. package/dist/tests/SM-8.6/play.spec.d.ts +0 -1
  185. package/dist/tests/SM-8.6/play.spec.js +0 -87
  186. package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.d.ts +0 -1
  187. package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.js +0 -242
  188. package/dist/tests/SM-8.6/smoke-tests.spec.d.ts +0 -1
  189. package/dist/tests/SM-8.6/smoke-tests.spec.js +0 -158
  190. package/dist/tests/SM-8.6/test-setup.spec.d.ts +0 -1
  191. package/dist/tests/SM-8.6/test-setup.spec.js +0 -134
  192. package/dist/tests/SM-8.6/web-modeler-user-flows.spec.d.ts +0 -1
  193. package/dist/tests/SM-8.6/web-modeler-user-flows.spec.js +0 -126
  194. package/dist/tests/c8Run-8.6/api-tests.spec.d.ts +0 -1
  195. package/dist/tests/c8Run-8.6/api-tests.spec.js +0 -67
  196. package/dist/tests/c8Run-8.6/connectors-user-flows.spec.d.ts +0 -1
  197. package/dist/tests/c8Run-8.6/connectors-user-flows.spec.js +0 -119
  198. package/dist/tests/c8Run-8.6/hto-user-flows.spec.d.ts +0 -1
  199. package/dist/tests/c8Run-8.6/hto-user-flows.spec.js +0 -199
  200. package/dist/tests/c8Run-8.6/login.spec.d.ts +0 -1
  201. package/dist/tests/c8Run-8.6/login.spec.js +0 -22
@@ -1,207 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.modelAndRunConnectorsTimerEventDiagram = exports.assertPageTextWithRetry = exports.assertLocatorVisibleWithRetry = exports.modelRestConnector = exports.completeTaskWithRetry = exports.createAndRunProcess = exports.runMultipleProcesses = exports.deleteAllUserGroups = void 0;
4
- const test_1 = require("@playwright/test");
5
- const sleep_1 = require("../../utils/sleep");
6
- const fileUpload_1 = require("../../utils/fileUpload");
7
- async function deleteAllUserGroups(navigationPage, identityPage) {
8
- await navigationPage.goToIdentity();
9
- await identityPage.clickGroupsTab();
10
- await identityPage.deleteAllGroups();
11
- }
12
- exports.deleteAllUserGroups = deleteAllUserGroups;
13
- async function runMultipleProcesses(page, modelerHomePage, modelerCreatePage, numberOfProcesses, processName, processId = '') {
14
- for (let i = 1; i <= numberOfProcesses; i++) {
15
- await createAndRunProcess(page, modelerHomePage, modelerCreatePage, processName + i, processId.length > 0 ? processId + i : processId);
16
- }
17
- }
18
- exports.runMultipleProcesses = runMultipleProcesses;
19
- async function createAndRunProcess(page, modelerHomePage, modelerCreatePage, processName, processId = '') {
20
- await modelerHomePage.clickDiagramTypeDropdown();
21
- await modelerHomePage.clickBpmnTemplateOption();
22
- await modelerCreatePage.modelCamundaUserTaskDiagram(processName, processId);
23
- await modelerCreatePage.runProcessInstance();
24
- await modelerHomePage.clickProjectBreadcrumb();
25
- }
26
- exports.createAndRunProcess = createAndRunProcess;
27
- async function completeTaskWithRetry(page, taskPanelPage, taskDetailsPage, taskName, taskPriority, maxRetries = 3) {
28
- for (let attempt = 0; attempt < maxRetries; attempt++) {
29
- try {
30
- await taskPanelPage.openTask(taskName);
31
- await (0, sleep_1.sleep)(2000);
32
- if (!(await taskDetailsPage.assignedToMeText.isVisible())) {
33
- await taskDetailsPage.clickAssignToMeButton();
34
- }
35
- await (0, test_1.expect)(taskDetailsPage.detailsPanel.getByText(taskPriority)).toBeVisible();
36
- await taskDetailsPage.clickCompleteTaskButton();
37
- await (0, test_1.expect)(page.getByText('Task completed').first()).toBeVisible({
38
- timeout: 200000,
39
- });
40
- await (0, test_1.expect)(taskPanelPage.availableTasks.getByText(taskName, { exact: true }).first()).not.toBeVisible({ timeout: 10000 });
41
- return;
42
- }
43
- catch (error) {
44
- if (attempt < maxRetries - 1) {
45
- await page.reload();
46
- console.warn(`Attempt ${attempt + 1} failed for completing task ${taskName}. Retrying...`);
47
- }
48
- else {
49
- console.error(error);
50
- throw new Error(`Assertion failed after ${maxRetries} attempts`);
51
- }
52
- }
53
- }
54
- }
55
- exports.completeTaskWithRetry = completeTaskWithRetry;
56
- async function modelRestConnector(modelerCreatePage, connectorSettingsPage, connectorMarketplacePage, processName, url, auth, resultExpression, resultVariable = '', basicAuthCredentials = {
57
- username: '',
58
- password: '',
59
- }) {
60
- await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
61
- timeout: 120000,
62
- });
63
- await modelerCreatePage.enterDiagramName(processName);
64
- await (0, sleep_1.sleep)(10000);
65
- await modelerCreatePage.clickAppendElementButton();
66
- await modelerCreatePage.clickAppendTaskButton();
67
- await modelerCreatePage.clickChangeTypeButton();
68
- try {
69
- await (0, test_1.expect)(modelerCreatePage.restConnectorOption).toBeVisible({
70
- timeout: 15000,
71
- });
72
- }
73
- catch (error) {
74
- await modelerCreatePage.clickMarketPlaceButton();
75
- await connectorMarketplacePage.clickSearchForConnectorTextbox();
76
- await connectorMarketplacePage.fillSearchForConnectorTextbox('REST Connector');
77
- await (0, sleep_1.sleep)(10000);
78
- await connectorMarketplacePage.downloadConnectorToProject();
79
- await modelerCreatePage.clickChangeTypeButton();
80
- }
81
- await modelerCreatePage.clickRestConnectorOption();
82
- if (auth == 'bearer') {
83
- await connectorSettingsPage.selectAuthenticationType('bearer');
84
- await (0, test_1.expect)(connectorSettingsPage.bearerTokenInput).toBeVisible({
85
- timeout: 60000,
86
- });
87
- await connectorSettingsPage.clickBearerTokenInput();
88
- await connectorSettingsPage.fillBearerTokenInput('thisisabearertoken');
89
- await (0, test_1.expect)(connectorSettingsPage.methodTypeDropdown).toBeVisible({
90
- timeout: 30000,
91
- });
92
- await connectorSettingsPage.selectMethodType('POST');
93
- }
94
- else if (auth == 'basic') {
95
- await connectorSettingsPage.selectAuthenticationType('basic');
96
- await (0, test_1.expect)(connectorSettingsPage.usernameInput).toBeVisible({
97
- timeout: 60000,
98
- });
99
- await connectorSettingsPage.clickUsernameInput();
100
- (0, test_1.expect)(basicAuthCredentials['username'].length).toBeGreaterThan(0);
101
- (0, test_1.expect)(basicAuthCredentials['password'].length).toBeGreaterThan(0);
102
- await connectorSettingsPage.fillUsernameInput(basicAuthCredentials['username']);
103
- await connectorSettingsPage.clickPasswordInput();
104
- await connectorSettingsPage.fillPasswordInput(basicAuthCredentials['password']);
105
- await connectorSettingsPage.selectMethodType('POST');
106
- }
107
- await connectorSettingsPage.clickUrlInput();
108
- await connectorSettingsPage.fillUrlInput(url);
109
- if (resultVariable.length > 0) {
110
- await (0, test_1.expect)(connectorSettingsPage.resultVariableInput).toBeVisible({
111
- timeout: 60000,
112
- });
113
- await connectorSettingsPage.clickResultVariableInput();
114
- await connectorSettingsPage.fillResultVariableInput('result');
115
- }
116
- await connectorSettingsPage.clickResultExpressionInput();
117
- await connectorSettingsPage.fillResultExpressionInput(resultExpression);
118
- await modelerCreatePage.clickAppendElementButton();
119
- await modelerCreatePage.clickAppendEndEventButton();
120
- await (0, sleep_1.sleep)(20000);
121
- }
122
- exports.modelRestConnector = modelRestConnector;
123
- async function assertLocatorVisibleWithRetry(page, locator, text, timeout = 120000, maxRetries = 3) {
124
- for (let attempt = 0; attempt < maxRetries; attempt++) {
125
- try {
126
- await page.reload();
127
- await (0, test_1.expect)(locator).toBeVisible({
128
- timeout: timeout,
129
- });
130
- return;
131
- }
132
- catch (error) {
133
- if (attempt < maxRetries - 1) {
134
- console.warn(`Attempt ${attempt + 1} failed for asserting ${text}. Retrying...`);
135
- }
136
- else {
137
- throw new Error(`Assertion failed after ${maxRetries} attempts`);
138
- }
139
- }
140
- }
141
- }
142
- exports.assertLocatorVisibleWithRetry = assertLocatorVisibleWithRetry;
143
- async function assertPageTextWithRetry(page, text, notVisible, timeout = 120000, maxRetries = 3) {
144
- for (let attempt = 0; attempt < maxRetries; attempt++) {
145
- try {
146
- await page.reload();
147
- if (notVisible == true) {
148
- await (0, sleep_1.sleep)(10000);
149
- await (0, test_1.expect)(page.getByText(text, { exact: true }).first()).not.toBeVisible({
150
- timeout: timeout,
151
- });
152
- }
153
- else {
154
- await (0, test_1.expect)(page.getByText(text, { exact: true }).first()).toBeVisible({
155
- timeout: timeout,
156
- });
157
- }
158
- return;
159
- }
160
- catch (error) {
161
- if (attempt < maxRetries - 1) {
162
- console.warn(`Attempt ${attempt + 1} failed for asserting ${text}. Retrying...`);
163
- }
164
- else {
165
- throw new Error(`Assertion failed after ${maxRetries} attempts`);
166
- }
167
- }
168
- }
169
- }
170
- exports.assertPageTextWithRetry = assertPageTextWithRetry;
171
- async function modelAndRunConnectorsTimerEventDiagram(modelerCreatePage, modelerHomePage, processName, page, connectorMarketplacePage, connectorTemplatePage) {
172
- await modelerHomePage.clickCrossComponentProjectFolder();
173
- await modelerHomePage.clickDiagramTypeDropdown();
174
- await modelerHomePage.clickUploadFilesButton();
175
- await (0, fileUpload_1.uploadFile)(page, 'Rest Connector Timer Event.bpmn');
176
- await modelerHomePage.clickProcessDiagram('Rest Connector Timer Event');
177
- await modelerCreatePage.clickDiagramBreadcrumb();
178
- await modelerCreatePage.clickEditDiagramNameButton();
179
- await modelerCreatePage.enterDiagramName(processName);
180
- await modelerCreatePage.clickStartEventElement();
181
- await modelerCreatePage.clickGeneralPropertiesPanel();
182
- await modelerCreatePage.clickIdInput();
183
- await modelerCreatePage.fillIdInput(processName);
184
- await modelerCreatePage.clickEighthPlacedElement();
185
- await modelerCreatePage.clickChangeTypeButton();
186
- await (0, test_1.expect)(modelerCreatePage.marketPlaceButton).toBeVisible({
187
- timeout: 120000,
188
- });
189
- await modelerCreatePage.clickMarketPlaceButton();
190
- await connectorMarketplacePage.clickSearchForConnectorTextbox();
191
- await connectorMarketplacePage.fillSearchForConnectorTextbox('REST Connector');
192
- await (0, sleep_1.sleep)(10000);
193
- await (0, test_1.expect)(page.getByText('REST ConnectorBy CamundaConnect, interact, and synchronize processes')).toBeVisible({
194
- timeout: 60000,
195
- });
196
- await connectorMarketplacePage.downloadConnectorToProject();
197
- await modelerHomePage.clickProjectBreadcrumb();
198
- await modelerHomePage.clickProcessDiagram('REST Outbound Connector');
199
- await connectorTemplatePage.publishConnector();
200
- await modelerHomePage.clickProjectBreadcrumb();
201
- await modelerHomePage.clickProcessDiagram(processName);
202
- await (0, sleep_1.sleep)(5000);
203
- await page.reload();
204
- await (0, sleep_1.sleep)(5000);
205
- await modelerCreatePage.runProcessInstance();
206
- }
207
- exports.modelAndRunConnectorsTimerEventDiagram = modelAndRunConnectorsTimerEventDiagram;
@@ -1,6 +0,0 @@
1
- import { Locator, Page } from '@playwright/test';
2
- import { OptimizeCollectionsPage } from '../SM-8.6/OptimizeCollectionsPage';
3
- import { OptimizeReportPage } from '../SM-8.6/OptimizeReportPage';
4
- import { OptimizeHomePage } from '../SM-8.6/OptimizeHomePage';
5
- export declare const createReportForProcess: (optimizeCollectionsPage: OptimizeCollectionsPage, optimizeReportPage: OptimizeReportPage, processName: string) => Promise<void>;
6
- export declare const assertReportWithRefreshes: (page: Page, optimizeHomePage: OptimizeHomePage, optimizeCollectionsPage: OptimizeCollectionsPage, optimizeReportPage: OptimizeReportPage, reportName: string, locator: Locator, text: string) => Promise<void>;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertReportWithRefreshes = exports.createReportForProcess = void 0;
4
- const test_1 = require("@playwright/test");
5
- const UtlitiesPage_1 = require("../SM-8.6/UtlitiesPage");
6
- const UtlitiesPage_2 = require("../SM-8.6/UtlitiesPage");
7
- const createReportForProcess = async (optimizeCollectionsPage, optimizeReportPage, processName) => {
8
- let retries = 1000; // big number as this can struggle when many processes are running at once
9
- while (retries > 0) {
10
- try {
11
- await optimizeCollectionsPage.clickCreateNewButton();
12
- await optimizeCollectionsPage.clickReportOption();
13
- await optimizeReportPage.clickProcessSelectionButton();
14
- await optimizeReportPage.waitUntilUserTaskProcessIsVisible(processName);
15
- break;
16
- }
17
- catch (error) {
18
- await optimizeReportPage.clickCancelButton();
19
- }
20
- retries--;
21
- (0, test_1.expect)(retries).toBeGreaterThan(0);
22
- }
23
- };
24
- exports.createReportForProcess = createReportForProcess;
25
- const assertReportWithRefreshes = async (page, optimizeHomePage, optimizeCollectionsPage, optimizeReportPage, reportName, locator, text) => {
26
- let retries = 1000; // big number as this can struggle when many processes are running at once
27
- while (retries > 0) {
28
- try {
29
- await optimizeHomePage.clickCollectionsLink();
30
- await (0, UtlitiesPage_1.assertPageTextWithRetry)(page, reportName, false);
31
- await optimizeCollectionsPage.clickMostRecentProcessReport(reportName);
32
- await (0, UtlitiesPage_2.assertLocatorVisibleWithRetry)(page, locator, text, 0);
33
- break;
34
- }
35
- catch (error) {
36
- // nothing to do. Just loop back to the collections
37
- }
38
- retries--;
39
- (0, test_1.expect)(retries).toBeGreaterThan(0);
40
- }
41
- };
42
- exports.assertReportWithRefreshes = assertReportWithRefreshes;
@@ -1,20 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class OperateHomePage {
3
- private page;
4
- readonly operateBanner: Locator;
5
- readonly processesTab: Locator;
6
- readonly informationDialog: Locator;
7
- readonly editVariableButton: Locator;
8
- readonly variableValueInput: Locator;
9
- readonly saveVariableButton: Locator;
10
- readonly editVariableSpinner: Locator;
11
- constructor(page: Page);
12
- operateBannerIsVisible(): Promise<void>;
13
- clickProcessesTab(): Promise<void>;
14
- clickEditVariableButton(variableName: string): Promise<void>;
15
- clickVariableValueInput(): Promise<void>;
16
- clearVariableValueInput(): Promise<void>;
17
- fillVariableValueInput(value: string): Promise<void>;
18
- clickSaveVariableButton(): Promise<void>;
19
- }
20
- export { OperateHomePage };
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OperateHomePage = void 0;
4
- const test_1 = require("@playwright/test");
5
- class OperateHomePage {
6
- page;
7
- operateBanner;
8
- processesTab;
9
- informationDialog;
10
- editVariableButton;
11
- variableValueInput;
12
- saveVariableButton;
13
- editVariableSpinner;
14
- constructor(page) {
15
- this.page = page;
16
- this.operateBanner = page.getByRole('link', { name: 'Camunda logo Operate' });
17
- this.processesTab = page.getByRole('link', { name: 'Processes' });
18
- this.informationDialog = page.getByRole('button', {
19
- name: 'Close this dialog',
20
- });
21
- this.editVariableButton = page.getByTestId('edit-variable-button');
22
- this.variableValueInput = page.getByTestId('edit-variable-value');
23
- this.saveVariableButton = page.getByLabel('Save variable');
24
- this.editVariableSpinner = page
25
- .getByTestId('variable-operation-spinner')
26
- .locator('circle')
27
- .nth(1);
28
- }
29
- async operateBannerIsVisible() {
30
- await (0, test_1.expect)(this.operateBanner).toBeVisible();
31
- }
32
- async clickProcessesTab() {
33
- await this.processesTab.click();
34
- }
35
- async clickEditVariableButton(variableName) {
36
- const editVariableButton = 'Edit variable ' + variableName;
37
- await this.page.getByLabel(editVariableButton).click();
38
- }
39
- async clickVariableValueInput() {
40
- await this.variableValueInput.click();
41
- }
42
- async clearVariableValueInput() {
43
- await this.variableValueInput.clear();
44
- }
45
- async fillVariableValueInput(value) {
46
- await this.variableValueInput.fill(value);
47
- }
48
- async clickSaveVariableButton() {
49
- await this.saveVariableButton.click();
50
- }
51
- }
52
- exports.OperateHomePage = OperateHomePage;
@@ -1,14 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class OperateLoginPage {
3
- private page;
4
- readonly usernameInput: Locator;
5
- readonly passwordInput: Locator;
6
- readonly loginButton: Locator;
7
- constructor(page: Page);
8
- fillUsername(username: string): Promise<void>;
9
- clickUsername(): Promise<void>;
10
- fillPassword(password: string): Promise<void>;
11
- clickLoginButton(): Promise<void>;
12
- login(username: string, password: string): Promise<void>;
13
- }
14
- export { OperateLoginPage };
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OperateLoginPage = void 0;
4
- const test_1 = require("@playwright/test");
5
- class OperateLoginPage {
6
- page;
7
- usernameInput;
8
- passwordInput;
9
- loginButton;
10
- constructor(page) {
11
- this.page = page;
12
- this.usernameInput = page.getByLabel('Username');
13
- this.passwordInput = page.getByRole('textbox', { name: 'password' });
14
- this.loginButton = page.getByRole('button', { name: 'Login' });
15
- }
16
- async fillUsername(username) {
17
- await this.usernameInput.fill(username);
18
- }
19
- async clickUsername() {
20
- await this.usernameInput.click({ timeout: 60000 });
21
- }
22
- async fillPassword(password) {
23
- await this.passwordInput.fill(password);
24
- }
25
- async clickLoginButton() {
26
- await this.loginButton.click({ timeout: 60000 });
27
- }
28
- async login(username, password) {
29
- await (0, test_1.expect)(this.usernameInput).toBeVisible({ timeout: 180000 });
30
- await this.clickUsername();
31
- await this.fillUsername(username);
32
- await this.fillPassword(password);
33
- await (0, test_1.expect)(this.loginButton).toBeVisible({ timeout: 120000 });
34
- await this.clickLoginButton();
35
- }
36
- }
37
- exports.OperateLoginPage = OperateLoginPage;
@@ -1,17 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class OperateProcessInstancePage {
3
- private page;
4
- readonly diagram: Locator;
5
- readonly completedIcon: Locator;
6
- readonly diagramSpinner: Locator;
7
- readonly activeIcon: Locator;
8
- readonly variablesList: Locator;
9
- readonly messageVariable: Locator;
10
- readonly statusVariable: Locator;
11
- constructor(page: Page);
12
- connectorResultVariableName(name: string): Promise<Locator>;
13
- connectorResultVariableValue(variableName: string): Promise<Locator>;
14
- completedIconAssertion(): Promise<void>;
15
- activeIconAssertion(): Promise<void>;
16
- }
17
- export { OperateProcessInstancePage };
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OperateProcessInstancePage = void 0;
4
- const test_1 = require("@playwright/test");
5
- const sleep_1 = require("../../utils/sleep");
6
- class OperateProcessInstancePage {
7
- page;
8
- diagram;
9
- completedIcon;
10
- diagramSpinner;
11
- activeIcon;
12
- variablesList;
13
- messageVariable;
14
- statusVariable;
15
- constructor(page) {
16
- this.page = page;
17
- this.diagram = page.getByTestId('diagram');
18
- this.completedIcon = page
19
- .getByTestId('instance-header')
20
- .getByTestId('COMPLETED-icon');
21
- this.diagramSpinner = page.getByTestId('diagram-spinner');
22
- this.activeIcon = page
23
- .getByTestId('instance-header')
24
- .getByTestId('ACTIVE-icon');
25
- this.variablesList = page.getByTestId('variables-list');
26
- this.messageVariable = page.getByTestId('variable-message');
27
- this.statusVariable = page.getByTestId('variable-status');
28
- }
29
- async connectorResultVariableName(name) {
30
- return await this.page.getByTestId(name);
31
- }
32
- async connectorResultVariableValue(variableName) {
33
- return await this.page.getByTestId(variableName).locator('td').last();
34
- }
35
- async completedIconAssertion() {
36
- let retryCount = 0;
37
- const maxRetries = 3;
38
- while (retryCount < maxRetries) {
39
- try {
40
- await (0, test_1.expect)(this.completedIcon).toBeVisible({
41
- timeout: 90000,
42
- });
43
- return; // Exit the function if the expectation is met
44
- }
45
- catch (error) {
46
- // If the active icon isn't found, reload the page and try again
47
- retryCount++;
48
- console.log(`Attempt ${retryCount} failed. Retrying...`);
49
- await this.page.reload();
50
- await (0, sleep_1.sleep)(10000);
51
- }
52
- }
53
- throw new Error(`Active icon not visible after ${maxRetries} attempts.`);
54
- }
55
- async activeIconAssertion() {
56
- let retryCount = 0;
57
- const maxRetries = 3;
58
- while (retryCount < maxRetries) {
59
- try {
60
- await (0, test_1.expect)(this.activeIcon).toBeVisible({
61
- timeout: 90000,
62
- });
63
- return; // Exit the function if the expectation is met
64
- }
65
- catch (error) {
66
- // If the active icon isn't found, reload the page and try again
67
- retryCount++;
68
- console.log(`Attempt ${retryCount} failed. Retrying...`);
69
- await this.page.reload();
70
- await (0, sleep_1.sleep)(10000);
71
- }
72
- }
73
- throw new Error(`Active icon not visible after ${maxRetries} attempts.`);
74
- }
75
- }
76
- exports.OperateProcessInstancePage = OperateProcessInstancePage;
@@ -1,20 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class OperateProcessesPage {
3
- private page;
4
- readonly processResultCount: Locator;
5
- readonly processActiveCheckbox: Locator;
6
- readonly processCompletedCheckbox: Locator;
7
- readonly processRunningInstancesCheckbox: Locator;
8
- readonly processIncidentsCheckbox: Locator;
9
- readonly processPageHeading: Locator;
10
- readonly noMatchingInstancesMessage: Locator;
11
- readonly processFinishedInstancesCheckbox: Locator;
12
- constructor(page: Page);
13
- clickProcessActiveCheckbox(): Promise<void>;
14
- clickProcessCompletedCheckbox(): Promise<void>;
15
- clickProcessIncidentsCheckbox(): Promise<void>;
16
- clickRunningProcessInstancesCheckbox(): Promise<void>;
17
- clickFinishedProcessInstancesCheckbox(): Promise<void>;
18
- clickProcessInstanceLink(processName: string): Promise<void>;
19
- }
20
- export { OperateProcessesPage };
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OperateProcessesPage = void 0;
4
- const test_1 = require("@playwright/test");
5
- const sleep_1 = require("../../utils/sleep");
6
- class OperateProcessesPage {
7
- page;
8
- processResultCount;
9
- processActiveCheckbox;
10
- processCompletedCheckbox;
11
- processRunningInstancesCheckbox;
12
- processIncidentsCheckbox;
13
- processPageHeading;
14
- noMatchingInstancesMessage;
15
- processFinishedInstancesCheckbox;
16
- constructor(page) {
17
- this.page = page;
18
- this.processResultCount = page.getByTestId('result-count');
19
- this.processActiveCheckbox = page
20
- .locator('label')
21
- .filter({ hasText: 'Active' });
22
- this.processCompletedCheckbox = page
23
- .locator('label')
24
- .filter({ hasText: 'Completed' });
25
- this.processRunningInstancesCheckbox = page
26
- .locator('label')
27
- .filter({ hasText: 'Running Instances' });
28
- this.processIncidentsCheckbox = page
29
- .locator('label')
30
- .filter({ hasText: 'Incidents' });
31
- this.processPageHeading = page
32
- .getByTestId('expanded-panel')
33
- .getByRole('heading', { name: 'Process' });
34
- this.noMatchingInstancesMessage = page.getByText('There are no Instances matching this filter set');
35
- this.processFinishedInstancesCheckbox = page
36
- .getByTestId('filter-finished-instances')
37
- .getByRole('checkbox');
38
- }
39
- async clickProcessActiveCheckbox() {
40
- await this.processActiveCheckbox.click();
41
- }
42
- async clickProcessCompletedCheckbox() {
43
- await (0, sleep_1.sleep)(5000);
44
- await (0, test_1.expect)(this.processCompletedCheckbox).toBeVisible({
45
- timeout: 30000,
46
- });
47
- await this.processCompletedCheckbox.check();
48
- await (0, sleep_1.sleep)(2000);
49
- }
50
- async clickProcessIncidentsCheckbox() {
51
- await this.processIncidentsCheckbox.click({ timeout: 90000 });
52
- }
53
- async clickRunningProcessInstancesCheckbox() {
54
- await this.processRunningInstancesCheckbox.click({ timeout: 90000 });
55
- }
56
- async clickFinishedProcessInstancesCheckbox() {
57
- await this.processFinishedInstancesCheckbox.click({ timeout: 90000 });
58
- }
59
- async clickProcessInstanceLink(processName) {
60
- let retryCount = 0;
61
- const maxRetries = 3;
62
- while (retryCount < maxRetries) {
63
- try {
64
- await this.page.reload();
65
- await this.page
66
- .getByRole('row')
67
- .filter({ hasText: new RegExp(`^Select row${processName}\\d+.*$`) })
68
- .first()
69
- .getByRole('link')
70
- .click({ timeout: 30000 });
71
- return; // Exit the function if the click is successful
72
- }
73
- catch (error) {
74
- // If process isn't found, reload the page and try again
75
- retryCount++;
76
- console.log(`Attempt ${retryCount} failed. Retrying...`);
77
- await this.page.reload();
78
- await (0, sleep_1.sleep)(10000);
79
- }
80
- }
81
- throw new Error(`Failed to click on process instance link after ${maxRetries} attempts.`);
82
- }
83
- }
84
- exports.OperateProcessesPage = OperateProcessesPage;
@@ -1,65 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class TaskDetailsPage {
3
- private page;
4
- readonly assignToMeButton: Locator;
5
- readonly completeButton: Locator;
6
- readonly unassignButton: Locator;
7
- readonly assignee: Locator;
8
- readonly completeTaskButton: Locator;
9
- readonly addVariableButton: Locator;
10
- readonly detailsPanel: Locator;
11
- readonly detailsHeader: Locator;
12
- readonly pendingTaskDescription: Locator;
13
- readonly pickATaskHeader: Locator;
14
- readonly emptyTaskMessage: Locator;
15
- readonly nameInput: Locator;
16
- readonly addressInput: Locator;
17
- readonly ageInput: Locator;
18
- readonly variablesTable: Locator;
19
- readonly nameColumnHeader: Locator;
20
- readonly valueColumnHeader: Locator;
21
- readonly form: Locator;
22
- readonly numberInput: Locator;
23
- readonly incrementButton: Locator;
24
- readonly decrementButton: Locator;
25
- readonly dateInput: Locator;
26
- readonly timeInput: Locator;
27
- readonly checkbox: Locator;
28
- readonly selectDropdown: Locator;
29
- readonly tagList: Locator;
30
- readonly detailsInfo: Locator;
31
- readonly textInput: Locator;
32
- readonly taskCompletedBanner: Locator;
33
- readonly assignedToMeText: Locator;
34
- constructor(page: Page);
35
- clickAssignToMeButton(): Promise<void>;
36
- clickUnassignButton(): Promise<void>;
37
- clickCompleteTaskButton(): Promise<void>;
38
- clickAddVariableButton(): Promise<void>;
39
- replaceExistingVariableValue(values: {
40
- name: string;
41
- value: string;
42
- }): Promise<void>;
43
- getNthVariableNameInput(nth: number): Locator;
44
- getNthVariableValueInput(nth: number): Locator;
45
- addVariable(payload: {
46
- name: string;
47
- value: string;
48
- }): Promise<void>;
49
- fillNumber(number: string): Promise<void>;
50
- clickIncrementButton(): Promise<void>;
51
- clickDecrementButton(): Promise<void>;
52
- fillDate(date: string): Promise<void>;
53
- enterTime(time: string): Promise<void>;
54
- checkCheckbox(): Promise<void>;
55
- selectDropdownValue(value: string): Promise<void>;
56
- clickRadioButton(radioBtnLabel: string): Promise<void>;
57
- checkChecklistBox(label: string): Promise<void>;
58
- enterTwoValuesInTagList(value1: string, value2: string): Promise<void>;
59
- clickTextInput(): Promise<void>;
60
- fillTextInput(value: string): Promise<void>;
61
- priorityAssertion(priority: string): Promise<void>;
62
- taskAssertion(name: string): Promise<void>;
63
- assertVariableValue(variableName: string, variableValue: string): Promise<void>;
64
- }
65
- export { TaskDetailsPage };