@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,328 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.modelConnectorsTimerEventDiagram = exports.deleteAllUserGroups = exports.assertTestUsesCorrectOrganization = exports.clickInvitationLinkInEmail = exports.enableRBA = exports.disableRBA = exports.runMultipleProcesses = exports.modelDiagramFromFile = exports.runProcess = exports.completeTaskWithRetry = exports.assertPageTextWithRetry = exports.assertLocatorVisibleWithRetry = exports.modelRestConnector = exports.loginWithRetry = void 0;
4
- const test_1 = require("@playwright/test");
5
- const ModelerHomePage_1 = require("./ModelerHomePage");
6
- const HomePage_1 = require("./HomePage");
7
- const sleep_1 = require("../../utils/sleep");
8
- const randomSleep_1 = require("../../utils/randomSleep");
9
- const fileUpload_1 = require("../../utils/fileUpload");
10
- const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
11
- async function loginWithRetry(page, loginPage, testUser, timeout, maxRetries = 3) {
12
- for (let attempt = 0; attempt < maxRetries; attempt++) {
13
- try {
14
- await page.goto('/');
15
- await (0, sleep_1.sleep)(timeout);
16
- await loginPage.login(testUser);
17
- return;
18
- }
19
- catch (error) {
20
- if (attempt < maxRetries - 1) {
21
- console.warn(`Attempt ${attempt + 1} failed for logging in. Retrying...`);
22
- await (0, randomSleep_1.randomSleep)(10000, 20000);
23
- }
24
- else {
25
- console.error(error);
26
- throw new Error(`Login failed after ${maxRetries} attempts`);
27
- }
28
- }
29
- }
30
- }
31
- exports.loginWithRetry = loginWithRetry;
32
- async function modelRestConnector(modelerCreatePage, connectorSettingsPage, processName, url, auth, resultExpression, resultVariable = '', basicAuthCredentials = {
33
- username: '',
34
- password: '',
35
- }) {
36
- await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
37
- timeout: 30000,
38
- });
39
- await modelerCreatePage.enterDiagramName(processName);
40
- await (0, sleep_1.sleep)(10000);
41
- await modelerCreatePage.clickAppendElementButton();
42
- await modelerCreatePage.clickAppendTaskButton();
43
- await modelerCreatePage.clickChangeTypeButton();
44
- await modelerCreatePage.clickRestConnectorOption();
45
- await connectorSettingsPage.clickAuthenticationTab();
46
- await connectorSettingsPage.clickHTTPEndpointTab();
47
- if (auth == 'bearer') {
48
- await connectorSettingsPage.selectAuthenticationType('bearer');
49
- await (0, test_1.expect)(connectorSettingsPage.bearerTokenInput).toBeVisible({
50
- timeout: 60000,
51
- });
52
- await connectorSettingsPage.clickBearerTokenInput();
53
- await connectorSettingsPage.fillBearerTokenInput('thisisabearertoken');
54
- await connectorSettingsPage.selectMethodType('POST');
55
- }
56
- else if (auth == 'basic') {
57
- await connectorSettingsPage.selectAuthenticationType('basic');
58
- await (0, test_1.expect)(connectorSettingsPage.usernameInput).toBeVisible({
59
- timeout: 60000,
60
- });
61
- await connectorSettingsPage.clickUsernameInput();
62
- (0, test_1.expect)(basicAuthCredentials['username'].length).toBeGreaterThan(0);
63
- (0, test_1.expect)(basicAuthCredentials['password'].length).toBeGreaterThan(0);
64
- await connectorSettingsPage.fillUsernameInput(basicAuthCredentials['username']);
65
- await connectorSettingsPage.clickPasswordInput();
66
- await connectorSettingsPage.fillPasswordInput(basicAuthCredentials['password']);
67
- await connectorSettingsPage.selectMethodType('POST');
68
- }
69
- await connectorSettingsPage.clickUrlInput();
70
- await connectorSettingsPage.fillUrlInput(url);
71
- await connectorSettingsPage.clickOutputMappingTab();
72
- if (resultVariable.length > 0) {
73
- await connectorSettingsPage.clickResultVariableInput();
74
- await connectorSettingsPage.fillResultVariableInput('result');
75
- }
76
- await connectorSettingsPage.clickResultExpressionInput();
77
- await connectorSettingsPage.fillResultExpressionInput(resultExpression);
78
- await modelerCreatePage.clickAppendElementButton();
79
- await modelerCreatePage.clickAppendEndEventButton();
80
- await (0, sleep_1.sleep)(10000);
81
- }
82
- exports.modelRestConnector = modelRestConnector;
83
- async function assertLocatorVisibleWithRetry(page, locator, text, timeout = 120000, maxRetries = 3) {
84
- for (let attempt = 0; attempt < maxRetries; attempt++) {
85
- try {
86
- await (0, test_1.expect)(locator).toBeVisible({
87
- timeout: timeout,
88
- });
89
- return;
90
- }
91
- catch (error) {
92
- if (attempt < maxRetries - 1) {
93
- console.warn(`Attempt ${attempt + 1} failed for asserting ${text}. Retrying...`);
94
- await page.reload();
95
- await (0, sleep_1.sleep)(5000);
96
- }
97
- else {
98
- throw new Error(`Assertion failed after ${maxRetries} attempts`);
99
- }
100
- }
101
- }
102
- }
103
- exports.assertLocatorVisibleWithRetry = assertLocatorVisibleWithRetry;
104
- async function assertPageTextWithRetry(page, text, notVisible, timeout = 120000, maxRetries = 3) {
105
- for (let attempt = 0; attempt < maxRetries; attempt++) {
106
- try {
107
- await page.reload();
108
- if (notVisible == true) {
109
- await (0, sleep_1.sleep)(10000);
110
- await (0, test_1.expect)(page.getByText(text, { exact: true }).first()).not.toBeVisible({
111
- timeout: timeout,
112
- });
113
- }
114
- else {
115
- await (0, test_1.expect)(page.getByText(text, { exact: true }).first()).toBeVisible({
116
- timeout: timeout,
117
- });
118
- }
119
- return;
120
- }
121
- catch (error) {
122
- if (attempt < maxRetries - 1) {
123
- console.warn(`Attempt ${attempt + 1} failed for asserting ${text}. Retrying...`);
124
- }
125
- else {
126
- throw new Error(`Assertion failed after ${maxRetries} attempts`);
127
- }
128
- }
129
- }
130
- }
131
- exports.assertPageTextWithRetry = assertPageTextWithRetry;
132
- async function completeTaskWithRetry(taskPanelPage, taskDetailsPage, taskName, taskPriority, maxRetries = 3) {
133
- for (let attempt = 0; attempt < maxRetries; attempt++) {
134
- try {
135
- await taskPanelPage.openTask(taskName);
136
- await (0, test_1.expect)(taskDetailsPage.detailsInfo.getByText(taskName, { exact: true })).toBeVisible();
137
- if (!(await taskDetailsPage.assignedToMeText.isVisible())) {
138
- await taskDetailsPage.clickAssignToMeButton();
139
- }
140
- await (0, test_1.expect)(taskDetailsPage.detailsPanel.getByText(taskPriority)).toBeVisible();
141
- await taskDetailsPage.clickCompleteTaskButton();
142
- await (0, test_1.expect)(taskPanelPage.availableTasks.getByText(taskName, { exact: true }).first()).not.toBeVisible({ timeout: 5000 });
143
- return;
144
- }
145
- catch (error) {
146
- if (attempt < maxRetries - 1) {
147
- console.warn(`Attempt ${attempt + 1} failed for completing task ${taskName}. Retrying...`);
148
- await (0, sleep_1.sleep)(2000);
149
- }
150
- else {
151
- throw new Error(`Failed to complete task ${taskName} after ${maxRetries} attempts: ${error}`);
152
- }
153
- }
154
- }
155
- }
156
- exports.completeTaskWithRetry = completeTaskWithRetry;
157
- async function runProcess(clusterName, page, modelerHomePage, modelerCreatePage, processName, processId = '', uploadFromFile = '') {
158
- if (uploadFromFile.length > 0) {
159
- await modelDiagramFromFile(page, modelerHomePage, modelerCreatePage, processName, uploadFromFile);
160
- }
161
- else {
162
- await modelerHomePage.clickDiagramTypeDropdown();
163
- await modelerHomePage.clickBpmnTemplateOption();
164
- await modelerCreatePage.modelCamundaUserTaskDiagram(processName, processId);
165
- }
166
- await modelerCreatePage.runProcessInstance(clusterName);
167
- await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
168
- timeout: 60000,
169
- });
170
- await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeHidden({
171
- timeout: 60000,
172
- });
173
- }
174
- exports.runProcess = runProcess;
175
- async function modelDiagramFromFile(page, modelerHomePage, modelerCreatePage, processName, fileName = '', nrOfRenamedUserTasks = 0, taskName = '') {
176
- await modelerHomePage.clickDiagramTypeDropdown();
177
- await modelerHomePage.clickUploadFilesButton();
178
- await (0, fileUpload_1.uploadFile)(page, fileName + '.bpmn');
179
- await modelerHomePage.clickProcessDiagram(fileName);
180
- await modelerCreatePage.clickDiagramBreadcrumb();
181
- await modelerCreatePage.clickEditDiagramNameButton();
182
- await modelerCreatePage.enterDiagramName(processName);
183
- await (0, sleep_1.sleep)(1000);
184
- await modelerCreatePage.clickGeneralPropertiesPanel();
185
- await modelerCreatePage.clickNameInput();
186
- await modelerCreatePage.fillNameInput(processName);
187
- await modelerCreatePage.clickIdInput();
188
- await modelerCreatePage.fillIdInput(processName);
189
- if (nrOfRenamedUserTasks > 0) {
190
- for (let i = 1; i <= nrOfRenamedUserTasks; i++) {
191
- await modelerCreatePage.clickUserTask('process' + i);
192
- await modelerCreatePage.clickNameInput();
193
- await modelerCreatePage.fillNameInput(taskName + i);
194
- await modelerCreatePage.clickIdInput();
195
- await modelerCreatePage.fillIdInput(taskName + i);
196
- await modelerCreatePage.clickCanvas();
197
- }
198
- }
199
- await (0, sleep_1.sleep)(10000);
200
- }
201
- exports.modelDiagramFromFile = modelDiagramFromFile;
202
- async function runMultipleProcesses(clusterName, page, modelerHomePage, modelerCreatePage, options) {
203
- const { processName = 'Camunda_User_Task', numberOfProcesses = 2, uploadFromFile = '', } = options || {};
204
- for (let i = 1; i <= numberOfProcesses; i++) {
205
- await runProcess(clusterName, page, modelerHomePage, modelerCreatePage, processName + i, processName + i, uploadFromFile);
206
- await modelerHomePage.clickProjectBreadcrumb();
207
- }
208
- }
209
- exports.runMultipleProcesses = runMultipleProcesses;
210
- async function disableRBA(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage) {
211
- await appsPage.clickCamundaApps();
212
- await appsPage.clickConsoleLink();
213
- await (0, test_1.expect)(homePage.clusterTab).toBeVisible({ timeout: 120000 });
214
- await homePage.clickClusters();
215
- await clusterPage.clickClusterLink(clusterName);
216
- await (0, test_1.expect)(clusterDetailsPage.settingsTab).toBeVisible({
217
- timeout: 90000,
218
- });
219
- await clusterDetailsPage.clickSettingsTab();
220
- await clusterDetailsPage.disableRBA();
221
- await homePage.clickClusters();
222
- await clusterPage.assertClusterHealthyStatusWithRetry(clusterName);
223
- await clusterPage.clickClusterLink(clusterName);
224
- await (0, test_1.expect)(clusterDetailsPage.rbaEnabledMessage.first()).not.toBeVisible({
225
- timeout: 30000,
226
- });
227
- await clusterDetailsPage.assertComponentsHealth();
228
- }
229
- exports.disableRBA = disableRBA;
230
- async function enableRBA(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage) {
231
- await appsPage.clickCamundaApps();
232
- await appsPage.clickConsoleLink();
233
- await (0, test_1.expect)(homePage.clusterTab).toBeVisible({ timeout: 120000 });
234
- await homePage.clickClusters();
235
- await clusterPage.clickClusterLink(clusterName);
236
- await (0, test_1.expect)(clusterDetailsPage.settingsTab).toBeVisible({
237
- timeout: 90000,
238
- });
239
- await clusterDetailsPage.clickSettingsTab();
240
- await clusterDetailsPage.enableRBA();
241
- await homePage.clickClusters();
242
- await clusterPage.assertClusterHealthyStatusWithRetry(clusterName);
243
- await clusterPage.clickClusterLink(clusterName);
244
- await (0, test_1.expect)(clusterDetailsPage.rbaEnabledMessage.first()).toBeVisible({
245
- timeout: 30000,
246
- });
247
- await clusterDetailsPage.assertComponentsHealth();
248
- }
249
- exports.enableRBA = enableRBA;
250
- async function clickInvitationLinkInEmail(page, id) {
251
- const email = await mailSlurpClient_1.mailSlurp.waitForLatestEmail(id, 120000);
252
- if (email && email.body) {
253
- const confirmationLinkMatch = email.body.match(/href="([^"]*)/);
254
- if (confirmationLinkMatch) {
255
- await page.goto(confirmationLinkMatch[1]);
256
- }
257
- else {
258
- throw new Error('Confirmation link not found in email body.');
259
- }
260
- }
261
- else {
262
- throw new Error('Email or email body is null or undefined.');
263
- }
264
- }
265
- exports.clickInvitationLinkInEmail = clickInvitationLinkInEmail;
266
- async function assertTestUsesCorrectOrganization(page) {
267
- const homePage = new HomePage_1.HomePage(page);
268
- await (0, test_1.expect)(homePage.openOrganizationButton).toBeVisible({ timeout: 90000 });
269
- if (page.url().includes('modeler')) {
270
- const modelerHomePage = new ModelerHomePage_1.ModelerHomePage(page);
271
- await modelerHomePage.clickMessageBanner();
272
- await (0, test_1.expect)(homePage.modelerBanner).toBeVisible({ timeout: 30000 });
273
- }
274
- else {
275
- await (0, test_1.expect)(homePage.consoleBanner).toBeVisible({ timeout: 30000 });
276
- }
277
- try {
278
- await (0, test_1.expect)(page.url()).toContain(process.env.ORG_ID);
279
- }
280
- catch (error) {
281
- // If the first check fails, check by org name
282
- try {
283
- await homePage.clickOpenOrganizationButton();
284
- await page
285
- .getByRole('treeitem', { name: process.env.ORG_NAME, exact: true })
286
- .click({ timeout: 30000 });
287
- }
288
- catch (reloadError) {
289
- await page
290
- .getByRole('button', { name: process.env.ORG_NAME })
291
- .click({ timeout: 30000 });
292
- }
293
- await (0, test_1.expect)(page
294
- .locator('[class="cds--header__global"]')
295
- .getByTitle(process.env.ORG_NAME, { exact: true })
296
- .first()).toBeVisible({
297
- timeout: 30000,
298
- });
299
- await (0, test_1.expect)(page.url()).toContain(process.env.ORG_ID);
300
- await (0, sleep_1.sleep)(5000);
301
- }
302
- }
303
- exports.assertTestUsesCorrectOrganization = assertTestUsesCorrectOrganization;
304
- async function deleteAllUserGroups(homePage, organizationPage, appsPage) {
305
- await appsPage.clickCamundaApps();
306
- await appsPage.clickConsoleLink();
307
- await (0, test_1.expect)(homePage.organizationTab).toBeVisible({ timeout: 120000 });
308
- await homePage.clickOrganization();
309
- await organizationPage.clickGroupsTab();
310
- await organizationPage.deleteAllGroups();
311
- }
312
- exports.deleteAllUserGroups = deleteAllUserGroups;
313
- async function modelConnectorsTimerEventDiagram(modelerCreatePage, modelerHomePage, processName, page) {
314
- await modelerHomePage.clickCrossComponentProjectFolder();
315
- await modelerHomePage.clickDiagramTypeDropdown();
316
- await modelerHomePage.clickUploadFilesButton();
317
- await (0, fileUpload_1.uploadFile)(page, 'Rest Connector Timer Event.bpmn');
318
- await modelerHomePage.clickProcessDiagram('Rest Connector Timer Event');
319
- await modelerCreatePage.clickDiagramBreadcrumb();
320
- await modelerCreatePage.clickRenameDiagramNameButton();
321
- await modelerCreatePage.enterDiagramName(processName);
322
- await modelerCreatePage.clickStartEventElement();
323
- await modelerCreatePage.clickGeneralPropertiesPanel();
324
- await modelerCreatePage.clickIdInput();
325
- await modelerCreatePage.fillIdInput(processName);
326
- await (0, sleep_1.sleep)(5000);
327
- }
328
- exports.modelConnectorsTimerEventDiagram = modelConnectorsTimerEventDiagram;
@@ -1,16 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class ConnectorMarketplacePage {
3
- private page;
4
- readonly searchForConnectorTextbox: Locator;
5
- readonly downloadToProjectButton: Locator;
6
- readonly snackbar: Locator;
7
- readonly closeButton: Locator;
8
- constructor(page: Page);
9
- clickSearchForConnectorTextbox(): Promise<void>;
10
- fillSearchForConnectorTextbox(connectorName: string): Promise<void>;
11
- clickDownloadToProjectButton(): Promise<void>;
12
- clickSnackbar(): Promise<void>;
13
- clickCloseButton(): Promise<void>;
14
- downloadConnectorToProject(): Promise<void>;
15
- }
16
- export { ConnectorMarketplacePage };
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConnectorMarketplacePage = void 0;
4
- const test_1 = require("@playwright/test");
5
- class ConnectorMarketplacePage {
6
- page;
7
- searchForConnectorTextbox;
8
- downloadToProjectButton;
9
- snackbar;
10
- closeButton;
11
- constructor(page) {
12
- this.page = page;
13
- this.searchForConnectorTextbox = page.getByPlaceholder('Search for a connector');
14
- this.downloadToProjectButton = page
15
- .getByRole('button', { name: 'Download to project' })
16
- .first();
17
- this.snackbar = page.locator('[data-test="snackbar"]');
18
- this.closeButton = page.getByRole('button', { name: 'Close' });
19
- }
20
- async clickSearchForConnectorTextbox() {
21
- await this.searchForConnectorTextbox.click({ timeout: 60000 });
22
- }
23
- async fillSearchForConnectorTextbox(connectorName) {
24
- await this.searchForConnectorTextbox.fill(connectorName, { timeout: 60000 });
25
- }
26
- async clickDownloadToProjectButton() {
27
- await this.downloadToProjectButton.click({ timeout: 60000 });
28
- }
29
- async clickSnackbar() {
30
- await this.snackbar.click({ timeout: 120000 });
31
- }
32
- async clickCloseButton() {
33
- await this.closeButton.click({ timeout: 60000 });
34
- }
35
- async downloadConnectorToProject() {
36
- try {
37
- await this.clickDownloadToProjectButton();
38
- await (0, test_1.expect)(this.snackbar).toBeVisible({
39
- timeout: 30000,
40
- });
41
- await this.clickSnackbar();
42
- }
43
- catch {
44
- await this.clickCloseButton();
45
- }
46
- }
47
- }
48
- exports.ConnectorMarketplacePage = ConnectorMarketplacePage;
@@ -1,28 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class ConnectorSettingsPage {
3
- private page;
4
- readonly urlInput: Locator;
5
- readonly resultExpressionInput: Locator;
6
- readonly authenticationTypeDropdown: Locator;
7
- readonly usernameInput: Locator;
8
- readonly passwordInput: Locator;
9
- readonly methodTypeDropdown: Locator;
10
- readonly resultVariableInput: Locator;
11
- readonly bearerTokenInput: Locator;
12
- constructor(page: Page);
13
- clickUrlInput(): Promise<void>;
14
- fillUrlInput(url: string): Promise<void>;
15
- clickResultExpressionInput(): Promise<void>;
16
- fillResultExpressionInput(resultExpression: string): Promise<void>;
17
- selectAuthenticationType(authentication: string): Promise<void>;
18
- clickUsernameInput(): Promise<void>;
19
- fillUsernameInput(username: string): Promise<void>;
20
- clickPasswordInput(): Promise<void>;
21
- fillPasswordInput(password: string): Promise<void>;
22
- selectMethodType(method: string): Promise<void>;
23
- clickResultVariableInput(): Promise<void>;
24
- fillResultVariableInput(variable: string): Promise<void>;
25
- clickBearerTokenInput(): Promise<void>;
26
- fillBearerTokenInput(token: string): Promise<void>;
27
- }
28
- export { ConnectorSettingsPage };
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConnectorSettingsPage = void 0;
4
- const ModelerCreatePage_1 = require("./ModelerCreatePage");
5
- class ConnectorSettingsPage {
6
- page;
7
- urlInput;
8
- resultExpressionInput;
9
- authenticationTypeDropdown;
10
- usernameInput;
11
- passwordInput;
12
- methodTypeDropdown;
13
- resultVariableInput;
14
- bearerTokenInput;
15
- constructor(page) {
16
- this.page = page;
17
- this.urlInput = page.getByLabel('URL');
18
- this.resultExpressionInput = page
19
- .locator('div')
20
- .filter({ hasText: /^Result expression=Opened in editor$/ })
21
- .getByRole('textbox');
22
- this.authenticationTypeDropdown = page.getByLabel('Type');
23
- this.usernameInput = page.getByLabel('Username');
24
- this.passwordInput = page.getByLabel('Password');
25
- this.methodTypeDropdown = page.getByLabel('Method');
26
- this.resultVariableInput = page.getByLabel('Result variable');
27
- this.bearerTokenInput = page.getByLabel('Bearer token');
28
- }
29
- async clickUrlInput() {
30
- try {
31
- await this.urlInput.click({ timeout: 60000 });
32
- }
33
- catch {
34
- const modelerCreatePage = new ModelerCreatePage_1.ModelerCreatePage(this.page);
35
- await modelerCreatePage.clickStartEventElement();
36
- await modelerCreatePage.clickAppendTaskButton();
37
- await modelerCreatePage.clickChangeTypeButton();
38
- await modelerCreatePage.clickRestConnectorOption();
39
- await this.urlInput.click({ timeout: 60000 });
40
- }
41
- }
42
- async fillUrlInput(url) {
43
- await this.urlInput.fill(url);
44
- }
45
- async clickResultExpressionInput() {
46
- await this.resultExpressionInput.click();
47
- }
48
- async fillResultExpressionInput(resultExpression) {
49
- await this.resultExpressionInput.fill(resultExpression);
50
- }
51
- async selectAuthenticationType(authentication) {
52
- await this.authenticationTypeDropdown.selectOption(authentication);
53
- }
54
- async clickUsernameInput() {
55
- await this.usernameInput.click({ timeout: 30000 });
56
- }
57
- async fillUsernameInput(username) {
58
- await this.usernameInput.fill(username, { timeout: 30000 });
59
- }
60
- async clickPasswordInput() {
61
- await this.passwordInput.click();
62
- }
63
- async fillPasswordInput(password) {
64
- await this.passwordInput.fill(password);
65
- }
66
- async selectMethodType(method) {
67
- await this.methodTypeDropdown.selectOption(method, { timeout: 60000 });
68
- }
69
- async clickResultVariableInput() {
70
- await this.resultVariableInput.click();
71
- }
72
- async fillResultVariableInput(variable) {
73
- await this.resultVariableInput.fill(variable);
74
- }
75
- async clickBearerTokenInput() {
76
- await this.bearerTokenInput.click({ timeout: 30000 });
77
- }
78
- async fillBearerTokenInput(token) {
79
- await this.bearerTokenInput.fill(token);
80
- }
81
- }
82
- exports.ConnectorSettingsPage = ConnectorSettingsPage;
@@ -1,11 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class ConnectorTemplatePage {
3
- private page;
4
- readonly publishToOrgButton: Locator;
5
- readonly publishButton: Locator;
6
- constructor(page: Page);
7
- clickPublishToOrgButton(): Promise<void>;
8
- clickPublishButton(): Promise<void>;
9
- publishConnector(): Promise<void>;
10
- }
11
- export { ConnectorTemplatePage };
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConnectorTemplatePage = void 0;
4
- const test_1 = require("@playwright/test");
5
- class ConnectorTemplatePage {
6
- page;
7
- publishToOrgButton;
8
- publishButton;
9
- constructor(page) {
10
- this.page = page;
11
- this.publishButton = page.getByRole('button', {
12
- name: 'Publish',
13
- exact: true,
14
- });
15
- this.publishToOrgButton = page.locator('[data-test="publish-to-org"]');
16
- }
17
- async clickPublishToOrgButton() {
18
- await this.publishToOrgButton.click({ timeout: 90000 });
19
- }
20
- async clickPublishButton() {
21
- await this.publishButton.click({ timeout: 90000 });
22
- }
23
- async publishConnector() {
24
- try {
25
- await (0, test_1.expect)(this.publishToOrgButton).toBeVisible({ timeout: 15000 });
26
- }
27
- catch (error) {
28
- return;
29
- }
30
- await this.clickPublishToOrgButton();
31
- await this.clickPublishButton();
32
- }
33
- }
34
- exports.ConnectorTemplatePage = ConnectorTemplatePage;
@@ -1,9 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class ConsoleHomePage {
3
- private page;
4
- readonly consoleBanner: Locator;
5
- readonly licenseKeyTagNonProduction: Locator;
6
- readonly licenseKeyTagProduction: Locator;
7
- constructor(page: Page);
8
- }
9
- export { ConsoleHomePage };
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConsoleHomePage = void 0;
4
- class ConsoleHomePage {
5
- page;
6
- consoleBanner;
7
- licenseKeyTagNonProduction;
8
- licenseKeyTagProduction;
9
- constructor(page) {
10
- this.page = page;
11
- this.consoleBanner = page.getByRole('link', {
12
- name: 'Camunda logo Console',
13
- });
14
- this.licenseKeyTagNonProduction = page.getByText('Non-production license', {
15
- exact: true,
16
- });
17
- this.licenseKeyTagProduction = page.getByText('Production license', {
18
- exact: true,
19
- });
20
- }
21
- }
22
- exports.ConsoleHomePage = ConsoleHomePage;
@@ -1,22 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class ConsoleOrganizationPage {
3
- private page;
4
- readonly usersTab: Locator;
5
- readonly optionsButton: Locator;
6
- readonly editUserMenuItem: Locator;
7
- readonly operationsEngineerCheckbox: Locator;
8
- readonly developerCheckbox: Locator;
9
- readonly analystCheckbox: Locator;
10
- readonly confirmButton: Locator;
11
- constructor(page: Page);
12
- clickUsersTab(): Promise<void>;
13
- clickOptionsButton(): Promise<void>;
14
- clickEditUserMenuItem(): Promise<void>;
15
- clickOperationsEngineerCheckbox(): Promise<void>;
16
- checkDeveloperCheckbox(): Promise<void>;
17
- uncheckDeveloperCheckbox(): Promise<void>;
18
- checkAnalystCheckbox(): Promise<void>;
19
- uncheckAnalystCheckbox(): Promise<void>;
20
- clickConfirmButton(): Promise<void>;
21
- }
22
- export { ConsoleOrganizationPage };
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConsoleOrganizationPage = void 0;
4
- class ConsoleOrganizationPage {
5
- page;
6
- usersTab;
7
- optionsButton;
8
- editUserMenuItem;
9
- operationsEngineerCheckbox;
10
- developerCheckbox;
11
- analystCheckbox;
12
- confirmButton;
13
- constructor(page) {
14
- this.page = page;
15
- this.usersTab = page.getByRole('tab', { name: 'Users' });
16
- this.optionsButton = page.getByRole('button', { name: 'Options' });
17
- this.editUserMenuItem = page.getByRole('menuitem', { name: 'Edit User' });
18
- this.operationsEngineerCheckbox = page
19
- .getByRole('group')
20
- .locator('label')
21
- .filter({ hasText: 'Operations Engineer' });
22
- this.developerCheckbox = page
23
- .getByRole('group')
24
- .locator('label')
25
- .filter({ hasText: 'Developer' });
26
- this.analystCheckbox = page
27
- .getByRole('group')
28
- .locator('label')
29
- .filter({ hasText: 'Analyst' });
30
- this.confirmButton = page.getByRole('button', { name: 'Confirm' });
31
- }
32
- async clickUsersTab() {
33
- await this.usersTab.click();
34
- }
35
- async clickOptionsButton() {
36
- await this.optionsButton.click();
37
- }
38
- async clickEditUserMenuItem() {
39
- await this.editUserMenuItem.click();
40
- }
41
- async clickOperationsEngineerCheckbox() {
42
- await this.operationsEngineerCheckbox.click();
43
- }
44
- async checkDeveloperCheckbox() {
45
- if (!(await this.developerCheckbox.isChecked())) {
46
- await this.developerCheckbox.click();
47
- }
48
- }
49
- async uncheckDeveloperCheckbox() {
50
- if (await this.developerCheckbox.isChecked()) {
51
- await this.developerCheckbox.click();
52
- }
53
- }
54
- async checkAnalystCheckbox() {
55
- if (!(await this.analystCheckbox.isChecked())) {
56
- await this.analystCheckbox.click();
57
- }
58
- }
59
- async uncheckAnalystCheckbox() {
60
- if (await this.analystCheckbox.isChecked()) {
61
- await this.analystCheckbox.click();
62
- }
63
- }
64
- async clickConfirmButton() {
65
- await this.confirmButton.click();
66
- }
67
- }
68
- exports.ConsoleOrganizationPage = ConsoleOrganizationPage;