@camunda/e2e-test-suite 0.0.713 → 0.0.715

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/.github/c8_versions.json +0 -3
  2. package/README.md +0 -6
  3. package/dist/pages/8.8/ClusterDetailsPage.js +5 -2
  4. package/dist/pages/8.8/ModelerCreatePage.js +10 -14
  5. package/dist/utils/clusterVersions.d.ts +0 -1
  6. package/dist/utils/clusterVersions.js +0 -1
  7. package/package.json +1 -1
  8. package/dist/fixtures/8.6.d.ts +0 -63
  9. package/dist/fixtures/8.6.js +0 -162
  10. package/dist/fixtures/SM-8.6.d.ts +0 -63
  11. package/dist/fixtures/SM-8.6.js +0 -149
  12. package/dist/fixtures/c8Run-8.6.d.ts +0 -20
  13. package/dist/fixtures/c8Run-8.6.js +0 -56
  14. package/dist/pages/8.6/AppsPage.d.ts +0 -33
  15. package/dist/pages/8.6/AppsPage.js +0 -337
  16. package/dist/pages/8.6/ClientCredentialsDetailsPage.d.ts +0 -12
  17. package/dist/pages/8.6/ClientCredentialsDetailsPage.js +0 -36
  18. package/dist/pages/8.6/ClusterDetailsPage.d.ts +0 -75
  19. package/dist/pages/8.6/ClusterDetailsPage.js +0 -443
  20. package/dist/pages/8.6/ClusterPage.d.ts +0 -59
  21. package/dist/pages/8.6/ClusterPage.js +0 -320
  22. package/dist/pages/8.6/ClusterSecretsPage.d.ts +0 -28
  23. package/dist/pages/8.6/ClusterSecretsPage.js +0 -134
  24. package/dist/pages/8.6/ConnectorMarketplacePage.d.ts +0 -19
  25. package/dist/pages/8.6/ConnectorMarketplacePage.js +0 -60
  26. package/dist/pages/8.6/ConnectorSettingsPage.d.ts +0 -38
  27. package/dist/pages/8.6/ConnectorSettingsPage.js +0 -133
  28. package/dist/pages/8.6/ConnectorTemplatePage.d.ts +0 -11
  29. package/dist/pages/8.6/ConnectorTemplatePage.js +0 -34
  30. package/dist/pages/8.6/ConsoleOrganizationPage.d.ts +0 -87
  31. package/dist/pages/8.6/ConsoleOrganizationPage.js +0 -495
  32. package/dist/pages/8.6/FormJsPage.d.ts +0 -30
  33. package/dist/pages/8.6/FormJsPage.js +0 -112
  34. package/dist/pages/8.6/HomePage.d.ts +0 -27
  35. package/dist/pages/8.6/HomePage.js +0 -101
  36. package/dist/pages/8.6/LoginPage.d.ts +0 -30
  37. package/dist/pages/8.6/LoginPage.js +0 -85
  38. package/dist/pages/8.6/ModelerCreatePage.d.ts +0 -211
  39. package/dist/pages/8.6/ModelerCreatePage.js +0 -1125
  40. package/dist/pages/8.6/ModelerHomePage.d.ts +0 -48
  41. package/dist/pages/8.6/ModelerHomePage.js +0 -213
  42. package/dist/pages/8.6/ModelerUserInvitePage.d.ts +0 -28
  43. package/dist/pages/8.6/ModelerUserInvitePage.js +0 -106
  44. package/dist/pages/8.6/OperateHomePage.d.ts +0 -21
  45. package/dist/pages/8.6/OperateHomePage.js +0 -57
  46. package/dist/pages/8.6/OperateProcessInstancePage.d.ts +0 -17
  47. package/dist/pages/8.6/OperateProcessInstancePage.js +0 -58
  48. package/dist/pages/8.6/OperateProcessesPage.d.ts +0 -21
  49. package/dist/pages/8.6/OperateProcessesPage.js +0 -77
  50. package/dist/pages/8.6/OptimizeCollectionsPage.d.ts +0 -15
  51. package/dist/pages/8.6/OptimizeCollectionsPage.js +0 -44
  52. package/dist/pages/8.6/OptimizeDashboardPage.d.ts +0 -11
  53. package/dist/pages/8.6/OptimizeDashboardPage.js +0 -65
  54. package/dist/pages/8.6/OptimizeHomePage.d.ts +0 -12
  55. package/dist/pages/8.6/OptimizeHomePage.js +0 -32
  56. package/dist/pages/8.6/OptimizeReportPage.d.ts +0 -48
  57. package/dist/pages/8.6/OptimizeReportPage.js +0 -163
  58. package/dist/pages/8.6/PlayPage.d.ts +0 -14
  59. package/dist/pages/8.6/PlayPage.js +0 -66
  60. package/dist/pages/8.6/SettingsPage.d.ts +0 -10
  61. package/dist/pages/8.6/SettingsPage.js +0 -43
  62. package/dist/pages/8.6/SignUpPage.d.ts +0 -43
  63. package/dist/pages/8.6/SignUpPage.js +0 -136
  64. package/dist/pages/8.6/TaskDetailsPage.d.ts +0 -66
  65. package/dist/pages/8.6/TaskDetailsPage.js +0 -214
  66. package/dist/pages/8.6/TaskPanelPage.d.ts +0 -18
  67. package/dist/pages/8.6/TaskPanelPage.js +0 -54
  68. package/dist/pages/8.6/TaskProcessesPage.d.ts +0 -11
  69. package/dist/pages/8.6/TaskProcessesPage.js +0 -35
  70. package/dist/pages/8.6/UtilitiesPage.d.ts +0 -38
  71. package/dist/pages/8.6/UtilitiesPage.js +0 -328
  72. package/dist/pages/SM-8.6/ConnectorMarketplacePage.d.ts +0 -16
  73. package/dist/pages/SM-8.6/ConnectorMarketplacePage.js +0 -48
  74. package/dist/pages/SM-8.6/ConnectorSettingsPage.d.ts +0 -28
  75. package/dist/pages/SM-8.6/ConnectorSettingsPage.js +0 -82
  76. package/dist/pages/SM-8.6/ConnectorTemplatePage.d.ts +0 -11
  77. package/dist/pages/SM-8.6/ConnectorTemplatePage.js +0 -34
  78. package/dist/pages/SM-8.6/ConsoleHomePage.d.ts +0 -9
  79. package/dist/pages/SM-8.6/ConsoleHomePage.js +0 -22
  80. package/dist/pages/SM-8.6/ConsoleOrganizationPage.d.ts +0 -22
  81. package/dist/pages/SM-8.6/ConsoleOrganizationPage.js +0 -68
  82. package/dist/pages/SM-8.6/FormJsPage.d.ts +0 -13
  83. package/dist/pages/SM-8.6/FormJsPage.js +0 -30
  84. package/dist/pages/SM-8.6/HomePage.d.ts +0 -20
  85. package/dist/pages/SM-8.6/HomePage.js +0 -49
  86. package/dist/pages/SM-8.6/IdentityPage.d.ts +0 -67
  87. package/dist/pages/SM-8.6/IdentityPage.js +0 -266
  88. package/dist/pages/SM-8.6/IdentityTenantPage.d.ts +0 -50
  89. package/dist/pages/SM-8.6/IdentityTenantPage.js +0 -196
  90. package/dist/pages/SM-8.6/IdentityUsersPage.d.ts +0 -90
  91. package/dist/pages/SM-8.6/IdentityUsersPage.js +0 -505
  92. package/dist/pages/SM-8.6/KeycloakAdminPage.d.ts +0 -15
  93. package/dist/pages/SM-8.6/KeycloakAdminPage.js +0 -56
  94. package/dist/pages/SM-8.6/KeycloakLoginPage.d.ts +0 -11
  95. package/dist/pages/SM-8.6/KeycloakLoginPage.js +0 -25
  96. package/dist/pages/SM-8.6/KeycloakUtils.d.ts +0 -15
  97. package/dist/pages/SM-8.6/KeycloakUtils.js +0 -58
  98. package/dist/pages/SM-8.6/LoginPage.d.ts +0 -22
  99. package/dist/pages/SM-8.6/LoginPage.js +0 -123
  100. package/dist/pages/SM-8.6/ModelerCreatePage.d.ts +0 -167
  101. package/dist/pages/SM-8.6/ModelerCreatePage.js +0 -852
  102. package/dist/pages/SM-8.6/ModelerHomePage.d.ts +0 -41
  103. package/dist/pages/SM-8.6/ModelerHomePage.js +0 -150
  104. package/dist/pages/SM-8.6/NavigationPage.d.ts +0 -42
  105. package/dist/pages/SM-8.6/NavigationPage.js +0 -119
  106. package/dist/pages/SM-8.6/OperateHomePage.d.ts +0 -23
  107. package/dist/pages/SM-8.6/OperateHomePage.js +0 -65
  108. package/dist/pages/SM-8.6/OperateProcessInstancePage.d.ts +0 -22
  109. package/dist/pages/SM-8.6/OperateProcessInstancePage.js +0 -139
  110. package/dist/pages/SM-8.6/OperateProcessesPage.d.ts +0 -33
  111. package/dist/pages/SM-8.6/OperateProcessesPage.js +0 -166
  112. package/dist/pages/SM-8.6/OptimizeCollectionsPage.d.ts +0 -15
  113. package/dist/pages/SM-8.6/OptimizeCollectionsPage.js +0 -44
  114. package/dist/pages/SM-8.6/OptimizeDashboardPage.d.ts +0 -14
  115. package/dist/pages/SM-8.6/OptimizeDashboardPage.js +0 -56
  116. package/dist/pages/SM-8.6/OptimizeHomePage.d.ts +0 -19
  117. package/dist/pages/SM-8.6/OptimizeHomePage.js +0 -62
  118. package/dist/pages/SM-8.6/OptimizeReportPage.d.ts +0 -50
  119. package/dist/pages/SM-8.6/OptimizeReportPage.js +0 -162
  120. package/dist/pages/SM-8.6/PlayPage.d.ts +0 -19
  121. package/dist/pages/SM-8.6/PlayPage.js +0 -103
  122. package/dist/pages/SM-8.6/SettingsPage.d.ts +0 -10
  123. package/dist/pages/SM-8.6/SettingsPage.js +0 -20
  124. package/dist/pages/SM-8.6/TaskDetailsPage.d.ts +0 -64
  125. package/dist/pages/SM-8.6/TaskDetailsPage.js +0 -240
  126. package/dist/pages/SM-8.6/TaskPanelPage.d.ts +0 -22
  127. package/dist/pages/SM-8.6/TaskPanelPage.js +0 -68
  128. package/dist/pages/SM-8.6/TaskProcessesPage.d.ts +0 -11
  129. package/dist/pages/SM-8.6/TaskProcessesPage.js +0 -31
  130. package/dist/pages/SM-8.6/UtlitiesPage.d.ts +0 -21
  131. package/dist/pages/SM-8.6/UtlitiesPage.js +0 -207
  132. package/dist/pages/SM-8.6/optimizeReportUtils.d.ts +0 -6
  133. package/dist/pages/SM-8.6/optimizeReportUtils.js +0 -42
  134. package/dist/pages/c8Run-8.6/OperateHomePage.d.ts +0 -20
  135. package/dist/pages/c8Run-8.6/OperateHomePage.js +0 -52
  136. package/dist/pages/c8Run-8.6/OperateLoginPage.d.ts +0 -14
  137. package/dist/pages/c8Run-8.6/OperateLoginPage.js +0 -37
  138. package/dist/pages/c8Run-8.6/OperateProcessInstancePage.d.ts +0 -17
  139. package/dist/pages/c8Run-8.6/OperateProcessInstancePage.js +0 -76
  140. package/dist/pages/c8Run-8.6/OperateProcessesPage.d.ts +0 -20
  141. package/dist/pages/c8Run-8.6/OperateProcessesPage.js +0 -84
  142. package/dist/pages/c8Run-8.6/TaskDetailsPage.d.ts +0 -65
  143. package/dist/pages/c8Run-8.6/TaskDetailsPage.js +0 -219
  144. package/dist/pages/c8Run-8.6/TaskListLoginPage.d.ts +0 -14
  145. package/dist/pages/c8Run-8.6/TaskListLoginPage.js +0 -37
  146. package/dist/pages/c8Run-8.6/TaskPanelPage.d.ts +0 -23
  147. package/dist/pages/c8Run-8.6/TaskPanelPage.js +0 -76
  148. package/dist/pages/c8Run-8.6/UtilitiesPage.d.ts +0 -6
  149. package/dist/pages/c8Run-8.6/UtilitiesPage.js +0 -45
  150. package/dist/tests/8.6/connectors-user-flows.spec.d.ts +0 -1
  151. package/dist/tests/8.6/connectors-user-flows.spec.js +0 -435
  152. package/dist/tests/8.6/console-user-flows.spec.d.ts +0 -1
  153. package/dist/tests/8.6/console-user-flows.spec.js +0 -193
  154. package/dist/tests/8.6/hto-user-flows.spec.d.ts +0 -1
  155. package/dist/tests/8.6/hto-user-flows.spec.js +0 -365
  156. package/dist/tests/8.6/login.spec.d.ts +0 -1
  157. package/dist/tests/8.6/login.spec.js +0 -27
  158. package/dist/tests/8.6/navigation.spec.d.ts +0 -1
  159. package/dist/tests/8.6/navigation.spec.js +0 -57
  160. package/dist/tests/8.6/operate-access-flow.spec.d.ts +0 -1
  161. package/dist/tests/8.6/operate-access-flow.spec.js +0 -57
  162. package/dist/tests/8.6/optimize-user-flows.spec.d.ts +0 -1
  163. package/dist/tests/8.6/optimize-user-flows.spec.js +0 -231
  164. package/dist/tests/8.6/play.spec.d.ts +0 -1
  165. package/dist/tests/8.6/play.spec.js +0 -94
  166. package/dist/tests/8.6/rba-enabled-user-flows.spec.d.ts +0 -1
  167. package/dist/tests/8.6/rba-enabled-user-flows.spec.js +0 -288
  168. package/dist/tests/8.6/smoke-tests.spec.d.ts +0 -1
  169. package/dist/tests/8.6/smoke-tests.spec.js +0 -188
  170. package/dist/tests/8.6/test-setup.spec.d.ts +0 -1
  171. package/dist/tests/8.6/test-setup.spec.js +0 -68
  172. package/dist/tests/8.6/web-modeler-user-flows.spec.d.ts +0 -1
  173. package/dist/tests/8.6/web-modeler-user-flows.spec.js +0 -692
  174. package/dist/tests/SM-8.6/connectors-user-flows.spec.d.ts +0 -1
  175. package/dist/tests/SM-8.6/connectors-user-flows.spec.js +0 -247
  176. package/dist/tests/SM-8.6/console-user-flows.spec.d.ts +0 -1
  177. package/dist/tests/SM-8.6/console-user-flows.spec.js +0 -55
  178. package/dist/tests/SM-8.6/hto-user-flows.spec.d.ts +0 -1
  179. package/dist/tests/SM-8.6/hto-user-flows.spec.js +0 -393
  180. package/dist/tests/SM-8.6/license-key-user-flows.spec.d.ts +0 -1
  181. package/dist/tests/SM-8.6/license-key-user-flows.spec.js +0 -462
  182. package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.d.ts +0 -1
  183. package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.js +0 -500
  184. package/dist/tests/SM-8.6/optimize-user-flows.spec.d.ts +0 -1
  185. package/dist/tests/SM-8.6/optimize-user-flows.spec.js +0 -186
  186. package/dist/tests/SM-8.6/play.spec.d.ts +0 -1
  187. package/dist/tests/SM-8.6/play.spec.js +0 -87
  188. package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.d.ts +0 -1
  189. package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.js +0 -242
  190. package/dist/tests/SM-8.6/smoke-tests.spec.d.ts +0 -1
  191. package/dist/tests/SM-8.6/smoke-tests.spec.js +0 -158
  192. package/dist/tests/SM-8.6/test-setup.spec.d.ts +0 -1
  193. package/dist/tests/SM-8.6/test-setup.spec.js +0 -134
  194. package/dist/tests/SM-8.6/web-modeler-user-flows.spec.d.ts +0 -1
  195. package/dist/tests/SM-8.6/web-modeler-user-flows.spec.js +0 -126
  196. package/dist/tests/c8Run-8.6/api-tests.spec.d.ts +0 -1
  197. package/dist/tests/c8Run-8.6/api-tests.spec.js +0 -67
  198. package/dist/tests/c8Run-8.6/connectors-user-flows.spec.d.ts +0 -1
  199. package/dist/tests/c8Run-8.6/connectors-user-flows.spec.js +0 -119
  200. package/dist/tests/c8Run-8.6/hto-user-flows.spec.d.ts +0 -1
  201. package/dist/tests/c8Run-8.6/hto-user-flows.spec.js +0 -199
  202. package/dist/tests/c8Run-8.6/login.spec.d.ts +0 -1
  203. package/dist/tests/c8Run-8.6/login.spec.js +0 -22
@@ -1,443 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClusterDetailsPage = void 0;
4
- const test_1 = require("@playwright/test");
5
- const sleep_1 = require("../../utils/sleep");
6
- const ClientCredentialsDetailsPage_1 = require("../8.6/ClientCredentialsDetailsPage");
7
- const clickLocatorWithRetry_1 = require("../../utils/assertionHelpers/clickLocatorWithRetry");
8
- const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
9
- class ClusterDetailsPage {
10
- page;
11
- apiTab;
12
- createFirstClientButton;
13
- clientNameTextbox;
14
- tasklistCheckbox;
15
- optimizeCheckbox;
16
- secretsCheckbox;
17
- operateCheckbox;
18
- createButton;
19
- closeModalButton;
20
- clientsList;
21
- createClientButton;
22
- settingsTab;
23
- rbaEnableButton;
24
- rbaDisableButton;
25
- dialog;
26
- enableRBADialog;
27
- disableRBADialog;
28
- deleteButton;
29
- deleteSubButton;
30
- createClientCredentialsDialog;
31
- clientCredentialsDialog;
32
- userTaskRestriction;
33
- alertsTab;
34
- alertsList;
35
- createFirstAlertButton;
36
- createNewAlertButton;
37
- emailRadioButton;
38
- createAlertsDialog;
39
- createAlertButton;
40
- rbaHeading;
41
- rbaEnabledMessage;
42
- clientCredentialsLink;
43
- clientRow;
44
- clientRowDeleteButton;
45
- reviewUpdateButton;
46
- updateAvailableDialog;
47
- updateButton;
48
- constructor(page) {
49
- this.page = page;
50
- this.apiTab = page.getByRole('tab', { name: 'API' });
51
- this.createFirstClientButton = page.getByRole('button', {
52
- name: 'Create your first Client',
53
- });
54
- this.clientNameTextbox = page.getByRole('textbox', { name: 'Client Name' });
55
- this.tasklistCheckbox = page
56
- .getByRole('dialog')
57
- .locator('label.cds--checkbox-label')
58
- .filter({ hasText: /^Tasklist$/ });
59
- this.optimizeCheckbox = page
60
- .getByRole('dialog')
61
- .locator('label.cds--checkbox-label')
62
- .filter({ hasText: /^Optimize$/ });
63
- this.operateCheckbox = page
64
- .getByRole('dialog')
65
- .locator('label.cds--checkbox-label')
66
- .filter({ hasText: /^Operate$/ });
67
- this.secretsCheckbox = page
68
- .getByRole('dialog')
69
- .locator('label')
70
- .filter({ hasText: /^Secrets$/ });
71
- this.createButton = page.getByRole('button', { name: 'Create', exact: true });
72
- this.closeModalButton = page
73
- .getByRole('dialog', { name: 'Client credentials', exact: true })
74
- .getByLabel('Close');
75
- this.createClientButton = page.getByRole('button', {
76
- name: 'Create new Client',
77
- });
78
- this.settingsTab = page.getByRole('tab', { name: 'Settings' });
79
- this.dialog = page.getByRole('dialog');
80
- this.enableRBADialog = page.getByRole('dialog', {
81
- name: 'Enable resource-based authorizations',
82
- exact: true,
83
- });
84
- this.disableRBADialog = page.getByRole('dialog', {
85
- name: 'Disable resource-based authorizations',
86
- exact: true,
87
- });
88
- this.rbaEnableButton = this.enableRBADialog.getByRole('button', {
89
- name: 'Enable',
90
- });
91
- this.rbaDisableButton = this.disableRBADialog.getByRole('button', {
92
- name: 'Disable',
93
- });
94
- this.deleteButton = page.getByRole('button', { name: 'Delete' });
95
- this.deleteSubButton = page.getByRole('button', {
96
- name: 'danger Delete',
97
- });
98
- this.createClientCredentialsDialog = page.getByRole('dialog', {
99
- name: 'Create new client credentials',
100
- });
101
- this.clientCredentialsDialog = page.getByRole('dialog', {
102
- name: 'Client credentials',
103
- exact: true,
104
- });
105
- this.userTaskRestriction = page.locator('button[aria-label="Switch Enforce user task restrictions"]');
106
- this.rbaEnabledMessage = page.getByText('Resource-based authorizations enabled');
107
- this.alertsTab = page.getByRole('tab', { name: 'Alerts' });
108
- this.alertsList = page
109
- .getByRole('row')
110
- .filter({ hasNotText: 'Delivery method' }); //Filter out header row
111
- this.createFirstAlertButton = page.getByRole('button', {
112
- name: 'Create an alert',
113
- });
114
- this.createNewAlertButton = page.getByRole('button', {
115
- name: 'Create new alert',
116
- });
117
- this.emailRadioButton = page.getByRole('radio', {
118
- name: 'Email',
119
- });
120
- this.createAlertsDialog = page.getByRole('dialog', {
121
- name: 'Create process incident alert',
122
- });
123
- this.createAlertButton = page.getByRole('button', {
124
- name: 'Create alert',
125
- exact: true,
126
- });
127
- this.rbaHeading = this.page.getByRole('heading', {
128
- name: 'Resource-based authorizations',
129
- });
130
- this.clientsList = page.getByRole('row').filter({ hasNotText: 'Scopes' });
131
- this.clientCredentialsLink = (clientCredentials) => page
132
- .getByRole('cell', { name: clientCredentials })
133
- .getByText(clientCredentials);
134
- this.clientRow = (name) => this.clientsList.filter({ hasText: name });
135
- this.clientRowDeleteButton = (name) => this.clientRow(name).getByRole('button', { name: 'Delete' });
136
- this.reviewUpdateButton = page.getByRole('button', { name: 'Review Update' });
137
- this.updateAvailableDialog = page
138
- .locator('.cds--modal-container')
139
- .filter({ hasText: 'Update available' });
140
- this.updateButton = this.updateAvailableDialog.getByRole('button', {
141
- name: 'Update',
142
- });
143
- }
144
- async clickAPITab() {
145
- await (0, test_1.expect)(this.apiTab).toBeVisible({ timeout: 15000 });
146
- await this.apiTab.click({ timeout: 15000 });
147
- }
148
- async deleteAPIClientsIfExist(name) {
149
- if (name) {
150
- const row = this.clientRow(name);
151
- const deleteButton = this.clientRowDeleteButton(name);
152
- try {
153
- await (0, test_1.expect)(deleteButton).toBeVisible({ timeout: 10000 });
154
- await deleteButton.click();
155
- await (0, test_1.expect)(this.dialog).toBeVisible();
156
- await this.deleteSubButton.click();
157
- await (0, test_1.expect)(this.page.getByText('Deleting...')).not.toBeVisible({
158
- timeout: 10000,
159
- });
160
- await (0, test_1.expect)(row).not.toBeVisible();
161
- }
162
- catch (error) {
163
- console.warn(`No client row found for ${name} or deletion failed: ${error}`);
164
- }
165
- return;
166
- }
167
- await this.doDelete(this.dialog, 'API clients');
168
- }
169
- async clickAlertsTab() {
170
- await (0, test_1.expect)(this.alertsTab).toBeVisible({ timeout: 40000 });
171
- await this.alertsTab.click();
172
- // Wait for page to load - either button will be visible depending on whether alerts exist
173
- await (0, test_1.expect)(async () => {
174
- const hasCreateFirst = await this.createFirstAlertButton.isVisible();
175
- const hasCreateNew = await this.createNewAlertButton.isVisible();
176
- (0, test_1.expect)(hasCreateFirst || hasCreateNew).toBe(true);
177
- }).toPass({ timeout: 30000, intervals: [2000] });
178
- }
179
- async clickCreateFirstAlertButton() {
180
- await (0, test_1.expect)(this.createFirstAlertButton).toBeVisible({ timeout: 40000 });
181
- await this.createFirstAlertButton.click();
182
- }
183
- async clickCreateNewAlertButton() {
184
- await (0, test_1.expect)(this.createNewAlertButton).toBeVisible({ timeout: 60000 });
185
- await this.createNewAlertButton.click();
186
- await (0, test_1.expect)(this.page.getByText('Creating...')).not.toBeVisible({
187
- timeout: 60000,
188
- });
189
- }
190
- async createAlert(isFirstAlert = true) {
191
- if (isFirstAlert) {
192
- await this.clickCreateFirstAlertButton();
193
- }
194
- else {
195
- await this.clickCreateNewAlertButton();
196
- }
197
- await (0, test_1.expect)(this.createAlertsDialog).toBeVisible();
198
- await this.selectEmailRadioButton();
199
- await this.clickCreateAlertButton();
200
- }
201
- async selectEmailRadioButton() {
202
- await (0, test_1.expect)(this.emailRadioButton).toBeVisible({ timeout: 60000 });
203
- await this.emailRadioButton.click({ force: true });
204
- }
205
- async clickCreateAlertButton() {
206
- await (0, test_1.expect)(this.createAlertButton).toBeVisible({ timeout: 60000 });
207
- await this.createAlertButton.click();
208
- await (0, test_1.expect)(this.page.getByText('Creating...')).not.toBeVisible({
209
- timeout: 60000,
210
- });
211
- }
212
- async deleteAlerts() {
213
- await this.doDelete(this.dialog, 'Alerts');
214
- }
215
- async doDelete(dialog, text) {
216
- if ((await this.deleteButton.count()) <= 0) {
217
- console.log(`No delete button found, skipping deletion.`);
218
- return;
219
- }
220
- try {
221
- let deletes = await this.deleteButton.all();
222
- while (deletes.length > 0) {
223
- const deleteButton = deletes[0];
224
- if (await deleteButton.isVisible()) {
225
- await deleteButton.click({ timeout: 60000 });
226
- await (0, test_1.expect)(dialog).toBeVisible({ timeout: 40000 });
227
- await this.deleteSubButton.click();
228
- await (0, test_1.expect)(this.page.getByText('Deleting...')).not.toBeVisible({
229
- timeout: 60000,
230
- });
231
- }
232
- await (0, sleep_1.sleep)(3000);
233
- deletes = await this.deleteButton.all();
234
- }
235
- await (0, test_1.expect)(this.deleteButton).not.toBeVisible({
236
- timeout: 30000,
237
- });
238
- }
239
- catch (error) {
240
- console.error(`Error during ${text} deletion: `, error);
241
- }
242
- }
243
- async clickCreateClientButton() {
244
- await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.createFirstClientButton.or(this.createClientButton));
245
- }
246
- async clickCreateFirstClientButton() {
247
- const maxRetries = 3;
248
- for (let retries = 0; retries < maxRetries; retries++) {
249
- try {
250
- if (retries === 0) {
251
- await this.createFirstClientButton.click({ timeout: 60000 });
252
- }
253
- else {
254
- await this.page
255
- .getByRole('banner')
256
- .getByRole('link', { name: 'Clusters' })
257
- .click({ timeout: 60000 });
258
- await await this.createFirstClientButton.click({ timeout: 60000 });
259
- }
260
- return;
261
- }
262
- catch (error) {
263
- console.error(`Click attempt ${retries + 1} failed: ${error}`);
264
- await new Promise((resolve) => setTimeout(resolve, 10000));
265
- }
266
- }
267
- throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
268
- }
269
- async reload() {
270
- await this.page.reload();
271
- }
272
- async clickClientNameTextbox() {
273
- await this.clientNameTextbox.click({ timeout: 60000 });
274
- }
275
- async fillClientNameTextbox(name) {
276
- await this.clientNameTextbox.fill(name, { timeout: 60000 });
277
- }
278
- async clickTasklistCheckbox() {
279
- await this.tasklistCheckbox.click({ timeout: 60000 });
280
- }
281
- async clickOperateCheckbox() {
282
- await this.operateCheckbox.click({ timeout: 60000 });
283
- }
284
- async clickOptimizeCheckbox() {
285
- await this.optimizeCheckbox.click({ timeout: 60000 });
286
- }
287
- async clickSecretsCheckbox() {
288
- if (!(await this.secretsCheckbox.isChecked())) {
289
- await this.secretsCheckbox.click();
290
- }
291
- }
292
- async clickCreateButton() {
293
- await this.createButton.click({ timeout: 60000 });
294
- }
295
- async clickCloseModalButton() {
296
- await this.closeModalButton.click({ timeout: 60000 });
297
- }
298
- async clickSettingsTab() {
299
- await this.settingsTab.click({ timeout: 120000 });
300
- try {
301
- await (0, test_1.expect)(this.page.getByRole('heading', { name: 'cluster settings' })).toBeVisible({
302
- timeout: 120000,
303
- });
304
- }
305
- catch (error) {
306
- await this.settingsTab.click({ timeout: 120000 });
307
- }
308
- }
309
- async createAPIClient(name) {
310
- await this.clickCreateClientButton();
311
- await (0, test_1.expect)(this.createClientCredentialsDialog).toBeVisible({
312
- timeout: 60000,
313
- });
314
- await this.clickClientNameTextbox();
315
- await this.fillClientNameTextbox(name);
316
- await this.clickTasklistCheckbox();
317
- await this.clickOperateCheckbox();
318
- await this.clickOptimizeCheckbox();
319
- await this.clickSecretsCheckbox();
320
- await this.clickCreateButton();
321
- await (0, test_1.expect)(this.clientCredentialsDialog).toBeVisible({
322
- timeout: 20000,
323
- });
324
- await (0, test_1.expect)(this.clientCredentialsDialog
325
- .getByText('The Client Secret will not be shown again.')
326
- .first()).toBeVisible({
327
- timeout: 60000,
328
- });
329
- }
330
- async searchAndClickClientCredentialsLink(name) {
331
- await (0, test_1.expect)(this.clientsList.first()).toBeVisible({ timeout: 60000 });
332
- const clientLink = this.clientCredentialsLink(name);
333
- await (0, test_1.expect)(clientLink).toBeVisible({ timeout: 30000 });
334
- await clientLink.click();
335
- const clientCredentialsDetailsPage = new ClientCredentialsDetailsPage_1.ClientCredentialsDetailsPage(this.page);
336
- await clientCredentialsDetailsPage.isOpen(name);
337
- return clientCredentialsDetailsPage;
338
- }
339
- async enableRBA() {
340
- await (0, test_1.expect)(this.rbaHeading).toBeVisible({ timeout: 60000 });
341
- // Locate all elements with class .cds--toggle__text
342
- const toggleTextElements = await this.page.$$('.cds--toggle__text');
343
- // Check if toggleTextElements has at least 2 elements
344
- if (toggleTextElements.length >= 2) {
345
- // Get the text content of the second toggle text element
346
- const toggleText = await toggleTextElements[1].textContent();
347
- // Check if the text content is 'Disabled'
348
- if (toggleText === 'Disabled') {
349
- // Locate all elements with class .cds--toggle__switch
350
- const toggleSwitchElements = await this.page.$$('.cds--toggle__switch');
351
- // Check if toggleSwitchElements has at least 2 elements
352
- if (toggleSwitchElements.length >= 2) {
353
- // Click the second toggle switch element
354
- await toggleSwitchElements[1].click();
355
- console.log('Second toggle switch clicked.');
356
- await (0, test_1.expect)(this.enableRBADialog).toBeVisible({ timeout: 60000 });
357
- await this.rbaEnableButton.click({ timeout: 60000 });
358
- await (0, test_1.expect)(this.page.getByText('Enabling...')).not.toBeVisible({
359
- timeout: 60000,
360
- });
361
- }
362
- else {
363
- console.log('Second toggle switch not found or less than 2.');
364
- }
365
- }
366
- else {
367
- console.log("Second toggle text does not contain 'Disabled'.");
368
- }
369
- }
370
- else {
371
- console.log('Toggle text elements not found or less than 2.');
372
- }
373
- }
374
- async disableRBA() {
375
- await (0, test_1.expect)(this.rbaHeading).toBeVisible({ timeout: 60000 });
376
- // Locate all elements with class .cds--toggle__text
377
- const toggleTextElements = await this.page.$$('.cds--toggle__text');
378
- // Check if toggleTextElements has at least 2 elements
379
- if (toggleTextElements.length >= 2) {
380
- // Get the text content of the second toggle text element
381
- const toggleText = await toggleTextElements[1].textContent();
382
- // Check if the text content is 'Enabled'
383
- if (toggleText === 'Enabled') {
384
- // Locate all elements with class .cds--toggle__switch
385
- const toggleSwitchElements = await this.page.$$('.cds--toggle__switch');
386
- // Check if toggleSwitchElements has at least 2 elements
387
- if (toggleSwitchElements.length >= 2) {
388
- // Click the second toggle switch element
389
- await toggleSwitchElements[1].click();
390
- console.log('Second toggle switch clicked.');
391
- await (0, test_1.expect)(this.disableRBADialog).toBeVisible({ timeout: 60000 });
392
- await this.rbaDisableButton.click({ timeout: 60000 });
393
- await (0, test_1.expect)(this.page.getByText('Disabling...')).not.toBeVisible({
394
- timeout: 60000,
395
- });
396
- }
397
- else {
398
- console.log('Second toggle switch not found or less than 2.');
399
- }
400
- }
401
- else {
402
- console.log("Second toggle text does not contain 'Enabled'.");
403
- }
404
- }
405
- else {
406
- console.log('Toggle text elements not found or less than 2.');
407
- }
408
- }
409
- async assertComponentsHealth(components = ['Zeebe', 'Tasklist', 'Operate', 'Optimize']) {
410
- for (const component of components) {
411
- await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.page.getByText(`${component}Healthy`, { exact: true }), {
412
- visibilityTimeout: 60000,
413
- totalTimeout: 400000,
414
- maxRetries: 7,
415
- preAction: async () => {
416
- await this.page.reload();
417
- },
418
- });
419
- }
420
- }
421
- async userTaskEnabledAssertion() {
422
- try {
423
- await (0, test_1.expect)(await this.userTaskRestriction.getAttribute('aria-checked')).toBe('true');
424
- }
425
- catch (error) {
426
- await this.page.reload();
427
- await (0, test_1.expect)(this.userTaskRestriction.getAttribute('aria-checked')).toBe('true');
428
- }
429
- }
430
- async clickReviewUpdateButton() {
431
- await this.reviewUpdateButton.click({ timeout: 60000 });
432
- }
433
- async clickUpdateButton() {
434
- await this.updateButton.click({ timeout: 60000 });
435
- }
436
- async performClusterUpdate() {
437
- await this.clickReviewUpdateButton();
438
- await this.page.waitForTimeout(1000);
439
- await (0, test_1.expect)(this.updateAvailableDialog).toBeVisible({ timeout: 60000 });
440
- await this.clickUpdateButton();
441
- }
442
- }
443
- exports.ClusterDetailsPage = ClusterDetailsPage;
@@ -1,59 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class ClusterPage {
3
- private defaultClusterType;
4
- private page;
5
- readonly createNewClusterButton: Locator;
6
- readonly clusterNameInput: Locator;
7
- readonly createClusterButton: Locator;
8
- readonly clusterCreatingStatusText: Locator;
9
- readonly clusterHealthyStatusText: Locator;
10
- readonly clusterHealthyIndicatorSelector: string;
11
- readonly clusterGenerationCompleteMessage: Locator;
12
- readonly clustersBreadcrumb: Locator;
13
- readonly deleteClusterButton: Locator;
14
- readonly confirmDeleteInput: Locator;
15
- readonly dangerDeleteButton: Locator;
16
- readonly connectorSecretsTab: Locator;
17
- readonly createAClusterButton: Locator;
18
- readonly clusterVersionOption: Locator;
19
- readonly alphaTab: Locator;
20
- readonly devTab: Locator;
21
- readonly stableTab: Locator;
22
- readonly qaGenerationsTab: Locator;
23
- readonly gcpRegion: Locator;
24
- readonly belgiumRegion: Locator;
25
- readonly finlandRegion: Locator;
26
- readonly londonRegion: Locator;
27
- readonly g3DevClusterType: Locator;
28
- readonly clustersList: Locator;
29
- readonly cluster: (clusterName: string) => Locator;
30
- readonly clusterHealthiness: (clusterName: string) => Locator;
31
- readonly clusterLink: (clusterName: string) => Locator;
32
- readonly clusterDeleteButton: (clusterName: string) => Locator;
33
- readonly dialog: Locator;
34
- constructor(page: Page);
35
- clickClusterBanner(): Promise<void>;
36
- deleteCluster(name: string): Promise<void>;
37
- createClusterIfNotExists(clusterName: string, region?: string): Promise<void>;
38
- assertClusterHealthyStatusWithRetry(name: string, visibilityTimeout?: number, totalTimeout?: number): Promise<void>;
39
- clickCreateNewClusterButton(): Promise<void>;
40
- clickClusterNameInput(): Promise<void>;
41
- fillClusterNameInput(name: string): Promise<void>;
42
- clickCreateClusterButton(): Promise<void>;
43
- clickClustersBreadcrumb(clusterName: string): Promise<void>;
44
- clickConnectorSecretesTab(clusterName: string): Promise<void>;
45
- clickClusterLink(name: string): Promise<void>;
46
- clickClusterTab(): Promise<void>;
47
- createCluster(name: string, region?: string): Promise<void>;
48
- selectSubRegion(region: string): Promise<void>;
49
- private logClusterCreationInfo;
50
- private extractClusterIdFromUrl;
51
- clickCloudProvider(region?: string): Promise<void>;
52
- clickClusterType(): Promise<void>;
53
- clickClusterOption(): Promise<void>;
54
- clickAlphaTab(): Promise<void>;
55
- clickDevTab(): Promise<void>;
56
- clickStableTab(): Promise<void>;
57
- clickQAGenerationsTab(): Promise<void>;
58
- }
59
- export { ClusterPage };