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