@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,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 };