@camunda/e2e-test-suite 0.0.714 → 0.0.716

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/.github/c8_versions.json +0 -3
  2. package/README.md +0 -6
  3. package/dist/pages/8.9/ModelerCreatePage.d.ts +3 -1
  4. package/dist/pages/8.9/ModelerCreatePage.js +13 -3
  5. package/dist/tests/8.9/web-modeler-user-flows.spec.js +42 -37
  6. package/dist/utils/clusterVersions.d.ts +0 -1
  7. package/dist/utils/clusterVersions.js +0 -1
  8. package/package.json +1 -1
  9. package/dist/fixtures/8.6.d.ts +0 -63
  10. package/dist/fixtures/8.6.js +0 -162
  11. package/dist/fixtures/SM-8.6.d.ts +0 -63
  12. package/dist/fixtures/SM-8.6.js +0 -149
  13. package/dist/fixtures/c8Run-8.6.d.ts +0 -20
  14. package/dist/fixtures/c8Run-8.6.js +0 -56
  15. package/dist/pages/8.6/AppsPage.d.ts +0 -33
  16. package/dist/pages/8.6/AppsPage.js +0 -337
  17. package/dist/pages/8.6/ClientCredentialsDetailsPage.d.ts +0 -12
  18. package/dist/pages/8.6/ClientCredentialsDetailsPage.js +0 -36
  19. package/dist/pages/8.6/ClusterDetailsPage.d.ts +0 -75
  20. package/dist/pages/8.6/ClusterDetailsPage.js +0 -443
  21. package/dist/pages/8.6/ClusterPage.d.ts +0 -59
  22. package/dist/pages/8.6/ClusterPage.js +0 -320
  23. package/dist/pages/8.6/ClusterSecretsPage.d.ts +0 -28
  24. package/dist/pages/8.6/ClusterSecretsPage.js +0 -134
  25. package/dist/pages/8.6/ConnectorMarketplacePage.d.ts +0 -19
  26. package/dist/pages/8.6/ConnectorMarketplacePage.js +0 -60
  27. package/dist/pages/8.6/ConnectorSettingsPage.d.ts +0 -38
  28. package/dist/pages/8.6/ConnectorSettingsPage.js +0 -133
  29. package/dist/pages/8.6/ConnectorTemplatePage.d.ts +0 -11
  30. package/dist/pages/8.6/ConnectorTemplatePage.js +0 -34
  31. package/dist/pages/8.6/ConsoleOrganizationPage.d.ts +0 -87
  32. package/dist/pages/8.6/ConsoleOrganizationPage.js +0 -495
  33. package/dist/pages/8.6/FormJsPage.d.ts +0 -30
  34. package/dist/pages/8.6/FormJsPage.js +0 -112
  35. package/dist/pages/8.6/HomePage.d.ts +0 -27
  36. package/dist/pages/8.6/HomePage.js +0 -101
  37. package/dist/pages/8.6/LoginPage.d.ts +0 -30
  38. package/dist/pages/8.6/LoginPage.js +0 -85
  39. package/dist/pages/8.6/ModelerCreatePage.d.ts +0 -211
  40. package/dist/pages/8.6/ModelerCreatePage.js +0 -1125
  41. package/dist/pages/8.6/ModelerHomePage.d.ts +0 -48
  42. package/dist/pages/8.6/ModelerHomePage.js +0 -213
  43. package/dist/pages/8.6/ModelerUserInvitePage.d.ts +0 -28
  44. package/dist/pages/8.6/ModelerUserInvitePage.js +0 -106
  45. package/dist/pages/8.6/OperateHomePage.d.ts +0 -21
  46. package/dist/pages/8.6/OperateHomePage.js +0 -57
  47. package/dist/pages/8.6/OperateProcessInstancePage.d.ts +0 -17
  48. package/dist/pages/8.6/OperateProcessInstancePage.js +0 -58
  49. package/dist/pages/8.6/OperateProcessesPage.d.ts +0 -21
  50. package/dist/pages/8.6/OperateProcessesPage.js +0 -77
  51. package/dist/pages/8.6/OptimizeCollectionsPage.d.ts +0 -15
  52. package/dist/pages/8.6/OptimizeCollectionsPage.js +0 -44
  53. package/dist/pages/8.6/OptimizeDashboardPage.d.ts +0 -11
  54. package/dist/pages/8.6/OptimizeDashboardPage.js +0 -65
  55. package/dist/pages/8.6/OptimizeHomePage.d.ts +0 -12
  56. package/dist/pages/8.6/OptimizeHomePage.js +0 -32
  57. package/dist/pages/8.6/OptimizeReportPage.d.ts +0 -48
  58. package/dist/pages/8.6/OptimizeReportPage.js +0 -163
  59. package/dist/pages/8.6/PlayPage.d.ts +0 -14
  60. package/dist/pages/8.6/PlayPage.js +0 -66
  61. package/dist/pages/8.6/SettingsPage.d.ts +0 -10
  62. package/dist/pages/8.6/SettingsPage.js +0 -43
  63. package/dist/pages/8.6/SignUpPage.d.ts +0 -43
  64. package/dist/pages/8.6/SignUpPage.js +0 -136
  65. package/dist/pages/8.6/TaskDetailsPage.d.ts +0 -66
  66. package/dist/pages/8.6/TaskDetailsPage.js +0 -214
  67. package/dist/pages/8.6/TaskPanelPage.d.ts +0 -18
  68. package/dist/pages/8.6/TaskPanelPage.js +0 -54
  69. package/dist/pages/8.6/TaskProcessesPage.d.ts +0 -11
  70. package/dist/pages/8.6/TaskProcessesPage.js +0 -35
  71. package/dist/pages/8.6/UtilitiesPage.d.ts +0 -38
  72. package/dist/pages/8.6/UtilitiesPage.js +0 -328
  73. package/dist/pages/SM-8.6/ConnectorMarketplacePage.d.ts +0 -16
  74. package/dist/pages/SM-8.6/ConnectorMarketplacePage.js +0 -48
  75. package/dist/pages/SM-8.6/ConnectorSettingsPage.d.ts +0 -28
  76. package/dist/pages/SM-8.6/ConnectorSettingsPage.js +0 -82
  77. package/dist/pages/SM-8.6/ConnectorTemplatePage.d.ts +0 -11
  78. package/dist/pages/SM-8.6/ConnectorTemplatePage.js +0 -34
  79. package/dist/pages/SM-8.6/ConsoleHomePage.d.ts +0 -9
  80. package/dist/pages/SM-8.6/ConsoleHomePage.js +0 -22
  81. package/dist/pages/SM-8.6/ConsoleOrganizationPage.d.ts +0 -22
  82. package/dist/pages/SM-8.6/ConsoleOrganizationPage.js +0 -68
  83. package/dist/pages/SM-8.6/FormJsPage.d.ts +0 -13
  84. package/dist/pages/SM-8.6/FormJsPage.js +0 -30
  85. package/dist/pages/SM-8.6/HomePage.d.ts +0 -20
  86. package/dist/pages/SM-8.6/HomePage.js +0 -49
  87. package/dist/pages/SM-8.6/IdentityPage.d.ts +0 -67
  88. package/dist/pages/SM-8.6/IdentityPage.js +0 -266
  89. package/dist/pages/SM-8.6/IdentityTenantPage.d.ts +0 -50
  90. package/dist/pages/SM-8.6/IdentityTenantPage.js +0 -196
  91. package/dist/pages/SM-8.6/IdentityUsersPage.d.ts +0 -90
  92. package/dist/pages/SM-8.6/IdentityUsersPage.js +0 -505
  93. package/dist/pages/SM-8.6/KeycloakAdminPage.d.ts +0 -15
  94. package/dist/pages/SM-8.6/KeycloakAdminPage.js +0 -56
  95. package/dist/pages/SM-8.6/KeycloakLoginPage.d.ts +0 -11
  96. package/dist/pages/SM-8.6/KeycloakLoginPage.js +0 -25
  97. package/dist/pages/SM-8.6/KeycloakUtils.d.ts +0 -15
  98. package/dist/pages/SM-8.6/KeycloakUtils.js +0 -58
  99. package/dist/pages/SM-8.6/LoginPage.d.ts +0 -22
  100. package/dist/pages/SM-8.6/LoginPage.js +0 -123
  101. package/dist/pages/SM-8.6/ModelerCreatePage.d.ts +0 -167
  102. package/dist/pages/SM-8.6/ModelerCreatePage.js +0 -852
  103. package/dist/pages/SM-8.6/ModelerHomePage.d.ts +0 -41
  104. package/dist/pages/SM-8.6/ModelerHomePage.js +0 -150
  105. package/dist/pages/SM-8.6/NavigationPage.d.ts +0 -42
  106. package/dist/pages/SM-8.6/NavigationPage.js +0 -119
  107. package/dist/pages/SM-8.6/OperateHomePage.d.ts +0 -23
  108. package/dist/pages/SM-8.6/OperateHomePage.js +0 -65
  109. package/dist/pages/SM-8.6/OperateProcessInstancePage.d.ts +0 -22
  110. package/dist/pages/SM-8.6/OperateProcessInstancePage.js +0 -139
  111. package/dist/pages/SM-8.6/OperateProcessesPage.d.ts +0 -33
  112. package/dist/pages/SM-8.6/OperateProcessesPage.js +0 -166
  113. package/dist/pages/SM-8.6/OptimizeCollectionsPage.d.ts +0 -15
  114. package/dist/pages/SM-8.6/OptimizeCollectionsPage.js +0 -44
  115. package/dist/pages/SM-8.6/OptimizeDashboardPage.d.ts +0 -14
  116. package/dist/pages/SM-8.6/OptimizeDashboardPage.js +0 -56
  117. package/dist/pages/SM-8.6/OptimizeHomePage.d.ts +0 -19
  118. package/dist/pages/SM-8.6/OptimizeHomePage.js +0 -62
  119. package/dist/pages/SM-8.6/OptimizeReportPage.d.ts +0 -50
  120. package/dist/pages/SM-8.6/OptimizeReportPage.js +0 -162
  121. package/dist/pages/SM-8.6/PlayPage.d.ts +0 -19
  122. package/dist/pages/SM-8.6/PlayPage.js +0 -103
  123. package/dist/pages/SM-8.6/SettingsPage.d.ts +0 -10
  124. package/dist/pages/SM-8.6/SettingsPage.js +0 -20
  125. package/dist/pages/SM-8.6/TaskDetailsPage.d.ts +0 -64
  126. package/dist/pages/SM-8.6/TaskDetailsPage.js +0 -240
  127. package/dist/pages/SM-8.6/TaskPanelPage.d.ts +0 -22
  128. package/dist/pages/SM-8.6/TaskPanelPage.js +0 -68
  129. package/dist/pages/SM-8.6/TaskProcessesPage.d.ts +0 -11
  130. package/dist/pages/SM-8.6/TaskProcessesPage.js +0 -31
  131. package/dist/pages/SM-8.6/UtlitiesPage.d.ts +0 -21
  132. package/dist/pages/SM-8.6/UtlitiesPage.js +0 -207
  133. package/dist/pages/SM-8.6/optimizeReportUtils.d.ts +0 -6
  134. package/dist/pages/SM-8.6/optimizeReportUtils.js +0 -42
  135. package/dist/pages/c8Run-8.6/OperateHomePage.d.ts +0 -20
  136. package/dist/pages/c8Run-8.6/OperateHomePage.js +0 -52
  137. package/dist/pages/c8Run-8.6/OperateLoginPage.d.ts +0 -14
  138. package/dist/pages/c8Run-8.6/OperateLoginPage.js +0 -37
  139. package/dist/pages/c8Run-8.6/OperateProcessInstancePage.d.ts +0 -17
  140. package/dist/pages/c8Run-8.6/OperateProcessInstancePage.js +0 -76
  141. package/dist/pages/c8Run-8.6/OperateProcessesPage.d.ts +0 -20
  142. package/dist/pages/c8Run-8.6/OperateProcessesPage.js +0 -84
  143. package/dist/pages/c8Run-8.6/TaskDetailsPage.d.ts +0 -65
  144. package/dist/pages/c8Run-8.6/TaskDetailsPage.js +0 -219
  145. package/dist/pages/c8Run-8.6/TaskListLoginPage.d.ts +0 -14
  146. package/dist/pages/c8Run-8.6/TaskListLoginPage.js +0 -37
  147. package/dist/pages/c8Run-8.6/TaskPanelPage.d.ts +0 -23
  148. package/dist/pages/c8Run-8.6/TaskPanelPage.js +0 -76
  149. package/dist/pages/c8Run-8.6/UtilitiesPage.d.ts +0 -6
  150. package/dist/pages/c8Run-8.6/UtilitiesPage.js +0 -45
  151. package/dist/tests/8.6/connectors-user-flows.spec.d.ts +0 -1
  152. package/dist/tests/8.6/connectors-user-flows.spec.js +0 -435
  153. package/dist/tests/8.6/console-user-flows.spec.d.ts +0 -1
  154. package/dist/tests/8.6/console-user-flows.spec.js +0 -193
  155. package/dist/tests/8.6/hto-user-flows.spec.d.ts +0 -1
  156. package/dist/tests/8.6/hto-user-flows.spec.js +0 -365
  157. package/dist/tests/8.6/login.spec.d.ts +0 -1
  158. package/dist/tests/8.6/login.spec.js +0 -27
  159. package/dist/tests/8.6/navigation.spec.d.ts +0 -1
  160. package/dist/tests/8.6/navigation.spec.js +0 -57
  161. package/dist/tests/8.6/operate-access-flow.spec.d.ts +0 -1
  162. package/dist/tests/8.6/operate-access-flow.spec.js +0 -57
  163. package/dist/tests/8.6/optimize-user-flows.spec.d.ts +0 -1
  164. package/dist/tests/8.6/optimize-user-flows.spec.js +0 -231
  165. package/dist/tests/8.6/play.spec.d.ts +0 -1
  166. package/dist/tests/8.6/play.spec.js +0 -94
  167. package/dist/tests/8.6/rba-enabled-user-flows.spec.d.ts +0 -1
  168. package/dist/tests/8.6/rba-enabled-user-flows.spec.js +0 -288
  169. package/dist/tests/8.6/smoke-tests.spec.d.ts +0 -1
  170. package/dist/tests/8.6/smoke-tests.spec.js +0 -188
  171. package/dist/tests/8.6/test-setup.spec.d.ts +0 -1
  172. package/dist/tests/8.6/test-setup.spec.js +0 -68
  173. package/dist/tests/8.6/web-modeler-user-flows.spec.d.ts +0 -1
  174. package/dist/tests/8.6/web-modeler-user-flows.spec.js +0 -692
  175. package/dist/tests/SM-8.6/connectors-user-flows.spec.d.ts +0 -1
  176. package/dist/tests/SM-8.6/connectors-user-flows.spec.js +0 -247
  177. package/dist/tests/SM-8.6/console-user-flows.spec.d.ts +0 -1
  178. package/dist/tests/SM-8.6/console-user-flows.spec.js +0 -55
  179. package/dist/tests/SM-8.6/hto-user-flows.spec.d.ts +0 -1
  180. package/dist/tests/SM-8.6/hto-user-flows.spec.js +0 -393
  181. package/dist/tests/SM-8.6/license-key-user-flows.spec.d.ts +0 -1
  182. package/dist/tests/SM-8.6/license-key-user-flows.spec.js +0 -462
  183. package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.d.ts +0 -1
  184. package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.js +0 -500
  185. package/dist/tests/SM-8.6/optimize-user-flows.spec.d.ts +0 -1
  186. package/dist/tests/SM-8.6/optimize-user-flows.spec.js +0 -186
  187. package/dist/tests/SM-8.6/play.spec.d.ts +0 -1
  188. package/dist/tests/SM-8.6/play.spec.js +0 -87
  189. package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.d.ts +0 -1
  190. package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.js +0 -242
  191. package/dist/tests/SM-8.6/smoke-tests.spec.d.ts +0 -1
  192. package/dist/tests/SM-8.6/smoke-tests.spec.js +0 -158
  193. package/dist/tests/SM-8.6/test-setup.spec.d.ts +0 -1
  194. package/dist/tests/SM-8.6/test-setup.spec.js +0 -134
  195. package/dist/tests/SM-8.6/web-modeler-user-flows.spec.d.ts +0 -1
  196. package/dist/tests/SM-8.6/web-modeler-user-flows.spec.js +0 -126
  197. package/dist/tests/c8Run-8.6/api-tests.spec.d.ts +0 -1
  198. package/dist/tests/c8Run-8.6/api-tests.spec.js +0 -67
  199. package/dist/tests/c8Run-8.6/connectors-user-flows.spec.d.ts +0 -1
  200. package/dist/tests/c8Run-8.6/connectors-user-flows.spec.js +0 -119
  201. package/dist/tests/c8Run-8.6/hto-user-flows.spec.d.ts +0 -1
  202. package/dist/tests/c8Run-8.6/hto-user-flows.spec.js +0 -199
  203. package/dist/tests/c8Run-8.6/login.spec.d.ts +0 -1
  204. package/dist/tests/c8Run-8.6/login.spec.js +0 -22
@@ -1,75 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- import { ClientCredentialsDetailsPage } from '../8.6/ClientCredentialsDetailsPage';
3
- declare class ClusterDetailsPage {
4
- private page;
5
- readonly apiTab: Locator;
6
- readonly createFirstClientButton: Locator;
7
- readonly clientNameTextbox: Locator;
8
- readonly tasklistCheckbox: Locator;
9
- readonly optimizeCheckbox: Locator;
10
- readonly secretsCheckbox: Locator;
11
- readonly operateCheckbox: Locator;
12
- readonly createButton: Locator;
13
- readonly closeModalButton: Locator;
14
- readonly clientsList: Locator;
15
- readonly createClientButton: Locator;
16
- readonly settingsTab: Locator;
17
- readonly rbaEnableButton: Locator;
18
- readonly rbaDisableButton: Locator;
19
- readonly dialog: Locator;
20
- readonly enableRBADialog: Locator;
21
- readonly disableRBADialog: Locator;
22
- readonly deleteButton: Locator;
23
- readonly deleteSubButton: Locator;
24
- readonly createClientCredentialsDialog: Locator;
25
- readonly clientCredentialsDialog: Locator;
26
- readonly userTaskRestriction: Locator;
27
- readonly alertsTab: Locator;
28
- readonly alertsList: Locator;
29
- readonly createFirstAlertButton: Locator;
30
- readonly createNewAlertButton: Locator;
31
- readonly emailRadioButton: Locator;
32
- readonly createAlertsDialog: Locator;
33
- readonly createAlertButton: Locator;
34
- readonly rbaHeading: Locator;
35
- readonly rbaEnabledMessage: Locator;
36
- readonly clientCredentialsLink: (clientCredentials: string) => Locator;
37
- readonly clientRow: (name: string) => Locator;
38
- readonly clientRowDeleteButton: (name: string) => Locator;
39
- readonly reviewUpdateButton: Locator;
40
- readonly updateAvailableDialog: Locator;
41
- readonly updateButton: Locator;
42
- constructor(page: Page);
43
- clickAPITab(): Promise<void>;
44
- deleteAPIClientsIfExist(name?: string): Promise<void>;
45
- clickAlertsTab(): Promise<void>;
46
- clickCreateFirstAlertButton(): Promise<void>;
47
- clickCreateNewAlertButton(): Promise<void>;
48
- createAlert(isFirstAlert?: boolean): Promise<void>;
49
- selectEmailRadioButton(): Promise<void>;
50
- clickCreateAlertButton(): Promise<void>;
51
- deleteAlerts(): Promise<void>;
52
- private doDelete;
53
- clickCreateClientButton(): Promise<void>;
54
- clickCreateFirstClientButton(): Promise<void>;
55
- reload(): Promise<void>;
56
- clickClientNameTextbox(): Promise<void>;
57
- fillClientNameTextbox(name: string): Promise<void>;
58
- clickTasklistCheckbox(): Promise<void>;
59
- clickOperateCheckbox(): Promise<void>;
60
- clickOptimizeCheckbox(): Promise<void>;
61
- clickSecretsCheckbox(): Promise<void>;
62
- clickCreateButton(): Promise<void>;
63
- clickCloseModalButton(): Promise<void>;
64
- clickSettingsTab(): Promise<void>;
65
- createAPIClient(name: string): Promise<void>;
66
- searchAndClickClientCredentialsLink(name: string): Promise<ClientCredentialsDetailsPage>;
67
- enableRBA(): Promise<void>;
68
- disableRBA(): Promise<void>;
69
- assertComponentsHealth(components?: string[]): Promise<void>;
70
- userTaskEnabledAssertion(): Promise<void>;
71
- clickReviewUpdateButton(): Promise<void>;
72
- clickUpdateButton(): Promise<void>;
73
- performClusterUpdate(): Promise<void>;
74
- }
75
- export { ClusterDetailsPage };
@@ -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 };