@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,103 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PlayPage = void 0;
4
- const test_1 = require("@playwright/test");
5
- const sleep_1 = require("../../utils/sleep");
6
- const maxWaitTimeSeconds = 120000;
7
- class PlayPage {
8
- page;
9
- completeJobButton;
10
- restartProcess;
11
- diagram;
12
- startInstanceButton;
13
- loadingInstanceDetailsText;
14
- dialog;
15
- constructor(page) {
16
- this.page = page;
17
- this.completeJobButton = page
18
- .getByTestId('diagram')
19
- .getByLabel('Complete job');
20
- this.restartProcess = this.page.getByRole('button', {
21
- name: 'Restart process',
22
- });
23
- this.diagram = page.getByTestId('diagram');
24
- this.startInstanceButton = this.page
25
- .getByTestId('diagram')
26
- .getByLabel('Start instance');
27
- this.loadingInstanceDetailsText = this.page.getByText('Loading instance details...');
28
- this.dialog = page.getByRole('dialog');
29
- }
30
- async waitForCompleteJobButtonToBeAvailable() {
31
- await (0, test_1.expect)(this.completeJobButton).toBeVisible({
32
- timeout: maxWaitTimeSeconds,
33
- });
34
- }
35
- async clickCompleteJobButton() {
36
- await (0, test_1.expect)(this.completeJobButton).toBeVisible({ timeout: 60000 });
37
- await (0, test_1.expect)(this.completeJobButton).toBeEnabled({ timeout: 60000 });
38
- await this.completeJobButton.click();
39
- }
40
- async clickStartInstanceButton() {
41
- const maxRetries = 3;
42
- let attempts = 0;
43
- while (attempts < maxRetries) {
44
- try {
45
- await this.diagram.waitFor({ state: 'visible', timeout: 30000 });
46
- await this.startInstanceButton.click({ timeout: 30000 });
47
- await (0, test_1.expect)(this.loadingInstanceDetailsText).toBeVisible();
48
- await (0, test_1.expect)(this.loadingInstanceDetailsText).not.toBeVisible({
49
- timeout: 60000,
50
- });
51
- await (0, test_1.expect)(this.dialog).not.toBeVisible({ timeout: 15000 });
52
- return;
53
- }
54
- catch (error) {
55
- if (attempts >= maxRetries - 1)
56
- throw error;
57
- await this.page.reload();
58
- await (0, sleep_1.sleep)(2000);
59
- attempts++;
60
- }
61
- }
62
- }
63
- async dismissStartModal() {
64
- await this.page
65
- .getByRole('button', {
66
- name: 'Start a process instance',
67
- })
68
- .click();
69
- }
70
- async waitForInstanceDetailsToBeLoaded() {
71
- const maxRetries = 3;
72
- let attempts = 0;
73
- while (attempts < maxRetries) {
74
- try {
75
- await (0, test_1.expect)(this.page.getByText(/process instance key/i)).toBeVisible({
76
- timeout: maxWaitTimeSeconds,
77
- });
78
- await (0, test_1.expect)(this.page.getByText(/This process instance has no variables/i)).toBeVisible({
79
- timeout: maxWaitTimeSeconds,
80
- });
81
- return;
82
- }
83
- catch (error) {
84
- if (attempts >= maxRetries - 1)
85
- throw error;
86
- await this.page.reload();
87
- const startButton = this.restartProcess.or(this.startInstanceButton);
88
- await startButton.waitFor({ state: 'visible', timeout: 30000 });
89
- await startButton.click();
90
- attempts++;
91
- }
92
- }
93
- }
94
- async waitForNextElementToBeActive(historyItem) {
95
- await (0, test_1.expect)(this.page.getByText(new RegExp(`^${historyItem}`, 'i'))).toBeVisible({
96
- timeout: maxWaitTimeSeconds,
97
- });
98
- }
99
- async waitForProcessToBeCompleted() {
100
- await (0, test_1.expect)(this.page.getByRole('heading', { name: 'Congratulations, you did it!' })).toBeVisible({ timeout: maxWaitTimeSeconds });
101
- }
102
- }
103
- exports.PlayPage = PlayPage;
@@ -1,10 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class SettingsPage {
3
- private page;
4
- readonly openSettingsButton: Locator;
5
- readonly logoutButton: Locator;
6
- constructor(page: Page);
7
- clickOpenSettingsButton(): Promise<void>;
8
- clickLogoutButton(): Promise<void>;
9
- }
10
- export { SettingsPage };
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SettingsPage = void 0;
4
- class SettingsPage {
5
- page;
6
- openSettingsButton;
7
- logoutButton;
8
- constructor(page) {
9
- this.page = page;
10
- this.openSettingsButton = page.getByLabel('Open Settings');
11
- this.logoutButton = page.getByRole('button', { name: 'Log out' });
12
- }
13
- async clickOpenSettingsButton() {
14
- await this.openSettingsButton.click({ timeout: 120000 });
15
- }
16
- async clickLogoutButton() {
17
- await this.logoutButton.click({ timeout: 30000 });
18
- }
19
- }
20
- exports.SettingsPage = SettingsPage;
@@ -1,64 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class TaskDetailsPage {
3
- private page;
4
- readonly assignToMeButton: Locator;
5
- readonly completeButton: Locator;
6
- readonly unassignButton: Locator;
7
- readonly assignee: Locator;
8
- readonly completeTaskButton: Locator;
9
- readonly addVariableButton: Locator;
10
- readonly detailsPanel: Locator;
11
- readonly detailsHeader: Locator;
12
- readonly pendingTaskDescription: Locator;
13
- readonly pickATaskHeader: Locator;
14
- readonly emptyTaskMessage: Locator;
15
- readonly nameInput: Locator;
16
- readonly addressInput: Locator;
17
- readonly ageInput: Locator;
18
- readonly variablesTable: Locator;
19
- readonly nameColumnHeader: Locator;
20
- readonly valueColumnHeader: Locator;
21
- readonly form: Locator;
22
- readonly numberInput: Locator;
23
- readonly incrementButton: Locator;
24
- readonly decrementButton: Locator;
25
- readonly dateInput: Locator;
26
- readonly timeInput: Locator;
27
- readonly checkbox: Locator;
28
- readonly selectDropdown: Locator;
29
- readonly tagList: Locator;
30
- readonly detailsInfo: Locator;
31
- readonly textInput: Locator;
32
- readonly taskCompletedBanner: Locator;
33
- readonly assignedToMeText: Locator;
34
- constructor(page: Page);
35
- clickAssignToMeButton(): Promise<void>;
36
- clickUnassignButton(): Promise<void>;
37
- clickCompleteTaskButton(): Promise<void>;
38
- clickAddVariableButton(): Promise<void>;
39
- replaceExistingVariableValue(values: {
40
- name: string;
41
- value: string;
42
- }): Promise<void>;
43
- getNthVariableNameInput(nth: number): Locator;
44
- getNthVariableValueInput(nth: number): Locator;
45
- addVariable(payload: {
46
- name: string;
47
- value: string;
48
- }): Promise<void>;
49
- fillNumber(number: string): Promise<void>;
50
- clickIncrementButton(): Promise<void>;
51
- clickDecrementButton(): Promise<void>;
52
- fillDate(date: string): Promise<void>;
53
- enterTime(time: string): Promise<void>;
54
- checkCheckbox(): Promise<void>;
55
- selectDropdownValue(value: string): Promise<void>;
56
- clickRadioButton(radioBtnLabel: string): Promise<void>;
57
- checkChecklistBox(label: string): Promise<void>;
58
- enterTwoValuesInTagList(value1: string, value2: string): Promise<void>;
59
- clickTextInput(): Promise<void>;
60
- fillTextInput(value: string): Promise<void>;
61
- priorityAssertion(priority: string): Promise<void>;
62
- taskAssertion(name: string): Promise<void>;
63
- }
64
- export { TaskDetailsPage };
@@ -1,240 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskDetailsPage = void 0;
4
- const test_1 = require("@playwright/test");
5
- const sleep_1 = require("../../utils/sleep");
6
- const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
7
- function cardinalToOrdinal(numberValue) {
8
- const realOrderIndex = numberValue.toString();
9
- if (['11', '12', '13'].includes(realOrderIndex.slice(-2))) {
10
- return `${realOrderIndex}th`;
11
- }
12
- switch (realOrderIndex.slice(-1)) {
13
- case '1':
14
- return `${realOrderIndex}st`;
15
- case '2':
16
- return `${realOrderIndex}nd`;
17
- case '3':
18
- return `${realOrderIndex}rd`;
19
- default:
20
- return `${realOrderIndex}th`;
21
- }
22
- }
23
- class TaskDetailsPage {
24
- page;
25
- assignToMeButton;
26
- completeButton;
27
- unassignButton;
28
- assignee;
29
- completeTaskButton;
30
- addVariableButton;
31
- detailsPanel;
32
- detailsHeader;
33
- pendingTaskDescription;
34
- pickATaskHeader;
35
- emptyTaskMessage;
36
- nameInput;
37
- addressInput;
38
- ageInput;
39
- variablesTable;
40
- nameColumnHeader;
41
- valueColumnHeader;
42
- form;
43
- numberInput;
44
- incrementButton;
45
- decrementButton;
46
- dateInput;
47
- timeInput;
48
- checkbox;
49
- selectDropdown;
50
- tagList;
51
- detailsInfo;
52
- textInput;
53
- taskCompletedBanner;
54
- assignedToMeText;
55
- constructor(page) {
56
- this.page = page;
57
- this.assignToMeButton = page.getByRole('button', { name: 'Assign to me' });
58
- this.completeButton = page.getByRole('button', { name: 'Complete' });
59
- this.unassignButton = page.getByRole('button', { name: 'Unassign' });
60
- this.assignee = page.getByTestId('assignee');
61
- this.completeTaskButton = page.getByRole('button', { name: 'Complete Task' });
62
- this.addVariableButton = page.getByRole('button', { name: 'Add Variable' });
63
- this.detailsPanel = this.page.getByRole('complementary', {
64
- name: 'Task details right panel',
65
- });
66
- this.detailsHeader = page.getByTitle('Task details header');
67
- this.pendingTaskDescription = page.getByText('Pending task');
68
- this.pickATaskHeader = page.getByRole('heading', {
69
- name: 'Pick a task to work on',
70
- });
71
- this.emptyTaskMessage = page.getByRole('heading', {
72
- name: /task has no variables/i,
73
- });
74
- this.nameInput = page.getByLabel('Name*');
75
- this.addressInput = page.getByLabel('Address*');
76
- this.ageInput = page.getByLabel('Age');
77
- this.variablesTable = page.getByTestId('variables-table');
78
- this.nameColumnHeader = this.variablesTable.getByRole('columnheader', {
79
- name: 'Name',
80
- });
81
- this.valueColumnHeader = this.variablesTable.getByRole('columnheader', {
82
- name: 'Value',
83
- });
84
- this.form = page.getByTestId('embedded-form');
85
- this.numberInput = this.form.getByLabel('Number');
86
- this.incrementButton = page.getByRole('button', { name: 'Increment' });
87
- this.decrementButton = page.getByRole('button', { name: 'Decrement' });
88
- this.dateInput = page.getByPlaceholder('mm/dd/yyyy');
89
- this.timeInput = page.getByPlaceholder('hh:mm ?m');
90
- this.checkbox = this.form.getByLabel('Checkbox');
91
- this.selectDropdown = this.form.getByText('Select').last();
92
- this.tagList = page.getByPlaceholder('Search');
93
- this.detailsInfo = page.getByTestId('details-info');
94
- this.textInput = page.locator('[class="fjs-input"]');
95
- this.taskCompletedBanner = this.page.getByText('Task completed').first();
96
- this.assignedToMeText = page
97
- .getByTestId('assignee')
98
- .getByText('Assigned to me');
99
- }
100
- async clickAssignToMeButton() {
101
- await (0, test_1.expect)(this.assignToMeButton).toBeVisible({ timeout: 60000 });
102
- await this.assignToMeButton.click({ timeout: 60000 });
103
- await (0, sleep_1.sleep)(1000);
104
- await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.assignedToMeText, {
105
- postAction: async () => {
106
- await this.page.reload();
107
- await (0, sleep_1.sleep)(5000);
108
- if (await this.assignToMeButton.isVisible()) {
109
- await this.assignToMeButton.click({ timeout: 60000 });
110
- }
111
- },
112
- });
113
- }
114
- async clickUnassignButton() {
115
- await this.unassignButton.click();
116
- }
117
- async clickCompleteTaskButton() {
118
- await this.completeTaskButton.click({ timeout: 60000 });
119
- await (0, test_1.expect)(this.page.getByText('Completing task...')).not.toBeVisible({
120
- timeout: 60000,
121
- });
122
- await (0, sleep_1.sleep)(1000);
123
- await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.taskCompletedBanner, {
124
- postAction: async () => {
125
- await this.page.reload();
126
- await (0, sleep_1.sleep)(5000);
127
- if (await this.completeTaskButton.isVisible()) {
128
- await this.completeTaskButton.click({ timeout: 60000 });
129
- }
130
- },
131
- });
132
- }
133
- async clickAddVariableButton() {
134
- await this.addVariableButton.click({ timeout: 60000 });
135
- }
136
- async replaceExistingVariableValue(values) {
137
- const { name, value } = values;
138
- await this.page.getByTitle(name).clear();
139
- await this.page.getByTitle(name).fill(value);
140
- }
141
- getNthVariableNameInput(nth) {
142
- return this.page.getByRole('textbox', {
143
- name: `${cardinalToOrdinal(nth)} variable name`,
144
- });
145
- }
146
- getNthVariableValueInput(nth) {
147
- return this.page.getByRole('textbox', {
148
- name: `${cardinalToOrdinal(nth)} variable value`,
149
- });
150
- }
151
- async addVariable(payload) {
152
- const { name, value } = payload;
153
- this.clickAddVariableButton();
154
- await this.getNthVariableNameInput(1).fill(name);
155
- await this.getNthVariableValueInput(1).fill(value);
156
- }
157
- async fillNumber(number) {
158
- await this.numberInput.fill(number);
159
- }
160
- async clickIncrementButton() {
161
- await this.incrementButton.click();
162
- }
163
- async clickDecrementButton() {
164
- await this.decrementButton.click();
165
- }
166
- async fillDate(date) {
167
- await this.dateInput.click();
168
- await this.dateInput.fill(date);
169
- await this.dateInput.press('Enter');
170
- }
171
- async enterTime(time) {
172
- await this.timeInput.click();
173
- await this.page.getByText(time).click();
174
- }
175
- async checkCheckbox() {
176
- await this.checkbox.check();
177
- }
178
- async selectDropdownValue(value) {
179
- await this.selectDropdown.click();
180
- await this.page.getByText(value).click();
181
- }
182
- async clickRadioButton(radioBtnLabel) {
183
- await this.page.getByText(radioBtnLabel).click();
184
- }
185
- async checkChecklistBox(label) {
186
- await this.page.getByLabel(label).check();
187
- }
188
- async enterTwoValuesInTagList(value1, value2) {
189
- await this.tagList.click();
190
- await this.page.getByText(value1).click();
191
- await this.page.getByText(value2, { exact: true }).click();
192
- }
193
- async clickTextInput() {
194
- await this.textInput.click();
195
- }
196
- async fillTextInput(value) {
197
- await this.textInput.fill(value);
198
- }
199
- async priorityAssertion(priority) {
200
- let retryCount = 0;
201
- const maxRetries = 2;
202
- while (retryCount < maxRetries) {
203
- try {
204
- await (0, test_1.expect)(this.detailsPanel.getByText(priority)).toBeVisible({
205
- timeout: 45000,
206
- });
207
- return; // Exit the function if the expectation is met
208
- }
209
- catch (error) {
210
- retryCount++;
211
- console.log(`Attempt ${retryCount} failed. Retrying...`);
212
- await this.page.reload();
213
- const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
214
- await sleep(10000);
215
- }
216
- }
217
- throw new Error(`Active icon not visible after ${maxRetries} attempts.`);
218
- }
219
- async taskAssertion(name) {
220
- let retryCount = 0;
221
- const maxRetries = 2;
222
- while (retryCount < maxRetries) {
223
- try {
224
- await (0, test_1.expect)(this.detailsInfo.getByText(name)).toBeVisible({
225
- timeout: 45000,
226
- });
227
- return; // Exit the function if the expectation is met
228
- }
229
- catch (error) {
230
- retryCount++;
231
- console.log(`Attempt ${retryCount} failed. Retrying...`);
232
- await this.page.reload();
233
- const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
234
- await sleep(10000);
235
- }
236
- }
237
- throw new Error(`Active icon not visible after ${maxRetries} attempts.`);
238
- }
239
- }
240
- exports.TaskDetailsPage = TaskDetailsPage;
@@ -1,22 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class TaskPanelPage {
3
- private page;
4
- readonly availableTasks: Locator;
5
- readonly filterOptions: Locator;
6
- readonly tasklistBanner: Locator;
7
- readonly collapseFilter: Locator;
8
- readonly processesPageTab: Locator;
9
- readonly tasksTab: Locator;
10
- readonly licenseKeyTagNonProduction: Locator;
11
- readonly licenseKeyTagProduction: Locator;
12
- constructor(page: Page);
13
- openTask(name: string): Promise<void>;
14
- filterBy(option: 'All open' | 'Unassigned' | 'Assigned to me' | 'Completed'): Promise<void>;
15
- scrollToLastTask(name: string): Promise<void>;
16
- scrollToFirstTask(name: string): Promise<void>;
17
- clickCollapseFilter(): Promise<void>;
18
- clickProcessesTab(): Promise<void>;
19
- taskCount(name: string): Promise<number>;
20
- clickTasksTab(): Promise<void>;
21
- }
22
- export { TaskPanelPage };
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskPanelPage = void 0;
4
- const test_1 = require("@playwright/test");
5
- const sleep_1 = require("../../utils/sleep");
6
- class TaskPanelPage {
7
- page;
8
- availableTasks;
9
- filterOptions;
10
- tasklistBanner;
11
- collapseFilter;
12
- processesPageTab;
13
- tasksTab;
14
- licenseKeyTagNonProduction;
15
- licenseKeyTagProduction;
16
- constructor(page) {
17
- this.page = page;
18
- this.availableTasks = page.getByTitle('Available tasks');
19
- this.filterOptions = page
20
- .locator('[aria-label="Filter controls"] li')
21
- .filter({ hasText: 'Expand to show filters' });
22
- this.tasklistBanner = page.getByRole('link', {
23
- name: 'Camunda logo Tasklist',
24
- });
25
- this.collapseFilter = page.locator('button[aria-controls="task-nav-bar"][aria-expanded="true"]');
26
- this.processesPageTab = page.getByRole('link', { name: 'Processes' });
27
- this.tasksTab = page.getByRole('link', { name: 'Tasks', exact: true });
28
- this.licenseKeyTagNonProduction = page.getByText('Non-production license', {
29
- exact: true,
30
- });
31
- this.licenseKeyTagProduction = page.getByText('Production license', {
32
- exact: true,
33
- });
34
- }
35
- async openTask(name) {
36
- await this.availableTasks
37
- .getByText(name, { exact: true })
38
- .nth(0)
39
- .click({ timeout: 180000 });
40
- }
41
- async filterBy(option) {
42
- await this.filterOptions.click({ timeout: 45000 });
43
- await (0, test_1.expect)(this.page.getByRole('link', { name: option })).toBeVisible({
44
- timeout: 120000,
45
- });
46
- await this.page.getByRole('link', { name: option }).click({ timeout: 120000 });
47
- }
48
- async scrollToLastTask(name) {
49
- await this.page.getByText(name).last().scrollIntoViewIfNeeded();
50
- }
51
- async scrollToFirstTask(name) {
52
- await this.page.getByText(name).first().scrollIntoViewIfNeeded();
53
- }
54
- async clickCollapseFilter() {
55
- await this.collapseFilter.click({ timeout: 45000 });
56
- }
57
- async clickProcessesTab() {
58
- await this.processesPageTab.click();
59
- }
60
- async taskCount(name) {
61
- await (0, sleep_1.sleep)(20000);
62
- return this.availableTasks.getByText(name, { exact: true }).count();
63
- }
64
- async clickTasksTab() {
65
- await this.tasksTab.click();
66
- }
67
- }
68
- exports.TaskPanelPage = TaskPanelPage;
@@ -1,11 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class TaskProcessesPage {
3
- private page;
4
- readonly popupContinueButton: Locator;
5
- readonly popup: Locator;
6
- readonly processes: Locator;
7
- constructor(page: Page);
8
- clickpopupContinueButton(): Promise<void>;
9
- startProcess(name: string): Promise<void>;
10
- }
11
- export { TaskProcessesPage };
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskProcessesPage = void 0;
4
- class TaskProcessesPage {
5
- page;
6
- popupContinueButton;
7
- popup;
8
- processes;
9
- constructor(page) {
10
- this.page = page;
11
- this.popupContinueButton = page.getByRole('button', { name: 'Continue' });
12
- this.popup = page.getByLabel('Start your process on demand');
13
- this.processes = page.locator('[data-testid="process-tile"]');
14
- }
15
- async clickpopupContinueButton() {
16
- try {
17
- await this.popupContinueButton.click({ timeout: 60000 });
18
- }
19
- catch (error) {
20
- console.log('Popup not present');
21
- }
22
- }
23
- async startProcess(name) {
24
- await this.processes
25
- .filter({ hasText: name })
26
- .nth(0)
27
- .getByRole('button', { name: 'Start process' })
28
- .click({ timeout: 60000 });
29
- }
30
- }
31
- exports.TaskProcessesPage = TaskProcessesPage;
@@ -1,21 +0,0 @@
1
- import { Locator, Page } from '@playwright/test';
2
- import { IdentityPage } from '../SM-8.6/IdentityPage';
3
- import { NavigationPage } from '../SM-8.6/NavigationPage';
4
- import { ModelerHomePage } from './ModelerHomePage';
5
- import { ModelerCreatePage } from './ModelerCreatePage';
6
- import { TaskPanelPage } from '../SM-8.6/TaskPanelPage';
7
- import { TaskDetailsPage } from '../SM-8.6/TaskDetailsPage';
8
- import { ConnectorSettingsPage } from '../SM-8.6/ConnectorSettingsPage';
9
- import { ConnectorMarketplacePage } from '../SM-8.6/ConnectorMarketplacePage';
10
- import { ConnectorTemplatePage } from './ConnectorTemplatePage';
11
- export declare function deleteAllUserGroups(navigationPage: NavigationPage, identityPage: IdentityPage): Promise<void>;
12
- export declare function runMultipleProcesses(page: Page, modelerHomePage: ModelerHomePage, modelerCreatePage: ModelerCreatePage, numberOfProcesses: number, processName: string, processId?: string): Promise<void>;
13
- export declare function createAndRunProcess(page: Page, modelerHomePage: ModelerHomePage, modelerCreatePage: ModelerCreatePage, processName: string, processId?: string): Promise<void>;
14
- export declare function completeTaskWithRetry(page: Page, taskPanelPage: TaskPanelPage, taskDetailsPage: TaskDetailsPage, taskName: string, taskPriority: string, maxRetries?: number): Promise<void>;
15
- export declare function modelRestConnector(modelerCreatePage: ModelerCreatePage, connectorSettingsPage: ConnectorSettingsPage, connectorMarketplacePage: ConnectorMarketplacePage, processName: string, url: string, auth: string, resultExpression: string, resultVariable?: string, basicAuthCredentials?: {
16
- username: string;
17
- password: string;
18
- }): Promise<void>;
19
- export declare function assertLocatorVisibleWithRetry(page: Page, locator: Locator, text: string, timeout?: number, maxRetries?: number): Promise<void>;
20
- export declare function assertPageTextWithRetry(page: Page, text: string, notVisible?: boolean, timeout?: number, maxRetries?: number): Promise<void>;
21
- export declare function modelAndRunConnectorsTimerEventDiagram(modelerCreatePage: ModelerCreatePage, modelerHomePage: ModelerHomePage, processName: string, page: Page, connectorMarketplacePage: ConnectorMarketplacePage, connectorTemplatePage: ConnectorTemplatePage): Promise<void>;