@camunda/e2e-test-suite 0.0.1 → 0.0.2

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 (183) hide show
  1. package/README.md +0 -2
  2. package/dist/pages/8.5/ModelerCreatePage.d.ts +1 -1
  3. package/dist/pages/8.5/ModelerCreatePage.js +15 -15
  4. package/dist/pages/8.6/ModelerCreatePage.d.ts +2 -1
  5. package/dist/pages/8.6/ModelerCreatePage.js +30 -16
  6. package/dist/pages/8.6/UtilitiesPage.d.ts +1 -3
  7. package/dist/pages/8.6/UtilitiesPage.js +5 -21
  8. package/dist/pages/8.7/ConsoleOrganizationPage.js +2 -1
  9. package/dist/pages/8.7/IdpCreatePage.d.ts +1 -1
  10. package/dist/pages/8.7/IdpCreatePage.js +16 -4
  11. package/dist/pages/8.7/ModelerCreatePage.d.ts +5 -5
  12. package/dist/pages/8.7/ModelerCreatePage.js +27 -30
  13. package/dist/pages/8.7/ModelerHomePage.d.ts +2 -0
  14. package/dist/pages/8.7/ModelerHomePage.js +26 -2
  15. package/dist/pages/8.8/ConsoleOrganizationPage.d.ts +9 -5
  16. package/dist/pages/8.8/ConsoleOrganizationPage.js +59 -16
  17. package/dist/pages/8.8/ModelerCreatePage.d.ts +5 -3
  18. package/dist/pages/8.8/ModelerCreatePage.js +35 -46
  19. package/dist/pages/8.8/OperateProcessesPage.js +1 -1
  20. package/dist/pages/8.8/UtilitiesPage.js +1 -1
  21. package/dist/pages/SM-8.5/ModelerCreatePage.js +1 -0
  22. package/dist/pages/SM-8.7/ClusterPage.js +1 -1
  23. package/dist/pages/SM-8.7/ModelerHomePage.js +1 -1
  24. package/dist/pages/SM-8.7/NavigationPage.js +1 -1
  25. package/dist/tests/8.6/connectors-user-flows.spec.js +3 -3
  26. package/dist/tests/8.6/web-modeler-user-flows.spec.js +3 -3
  27. package/dist/tests/8.7/hto-user-flows.spec.js +0 -3
  28. package/dist/tests/8.7/idp-user-flows.spec.js +1 -0
  29. package/dist/tests/8.7/web-modeler-user-flows.spec.js +2 -2
  30. package/dist/tests/8.8/aws-cluster-user-flows.spec.js +1 -1
  31. package/dist/tests/8.8/connectors-user-flows.spec.js +0 -2
  32. package/dist/tests/8.8/console-user-flows.spec.js +1 -3
  33. package/dist/tests/8.8/hto-user-flows.spec.js +4 -5
  34. package/dist/tests/8.8/rba-enabled-user-flows.spec.js +5 -3
  35. package/dist/tests/8.8/web-modeler-user-flows.spec.js +29 -39
  36. package/dist/tests/SM-8.5/mt-enabled-user-flows.spec.js +18 -0
  37. package/dist/tests/SM-8.7/mt-enabled-user-flows.spec.js +10 -3
  38. package/dist/tests/SM-8.8/optimize-user-flows.spec.js +7 -7
  39. package/package.json +1 -1
  40. package/dist/fixtures/8.4.d.ts +0 -57
  41. package/dist/fixtures/8.4.js +0 -150
  42. package/dist/fixtures/SM-8.4.d.ts +0 -55
  43. package/dist/fixtures/SM-8.4.js +0 -132
  44. package/dist/pages/8.4/AppsPage.d.ts +0 -33
  45. package/dist/pages/8.4/AppsPage.js +0 -333
  46. package/dist/pages/8.4/ClusterDetailsPage.d.ts +0 -59
  47. package/dist/pages/8.4/ClusterDetailsPage.js +0 -319
  48. package/dist/pages/8.4/ClusterPage.d.ts +0 -50
  49. package/dist/pages/8.4/ClusterPage.js +0 -334
  50. package/dist/pages/8.4/ClusterSecretsPage.d.ts +0 -21
  51. package/dist/pages/8.4/ClusterSecretsPage.js +0 -105
  52. package/dist/pages/8.4/ConnectorMarketplacePage.d.ts +0 -18
  53. package/dist/pages/8.4/ConnectorMarketplacePage.js +0 -59
  54. package/dist/pages/8.4/ConnectorSettingsPage.d.ts +0 -28
  55. package/dist/pages/8.4/ConnectorSettingsPage.js +0 -72
  56. package/dist/pages/8.4/ConnectorTemplatePage.d.ts +0 -11
  57. package/dist/pages/8.4/ConnectorTemplatePage.js +0 -34
  58. package/dist/pages/8.4/ConsoleOrganizationPage.d.ts +0 -69
  59. package/dist/pages/8.4/ConsoleOrganizationPage.js +0 -366
  60. package/dist/pages/8.4/FormJsPage.d.ts +0 -14
  61. package/dist/pages/8.4/FormJsPage.js +0 -44
  62. package/dist/pages/8.4/HomePage.d.ts +0 -27
  63. package/dist/pages/8.4/HomePage.js +0 -87
  64. package/dist/pages/8.4/LoginPage.d.ts +0 -30
  65. package/dist/pages/8.4/LoginPage.js +0 -83
  66. package/dist/pages/8.4/ModelerCreatePage.d.ts +0 -145
  67. package/dist/pages/8.4/ModelerCreatePage.js +0 -660
  68. package/dist/pages/8.4/ModelerHomePage.d.ts +0 -39
  69. package/dist/pages/8.4/ModelerHomePage.js +0 -153
  70. package/dist/pages/8.4/ModelerUserInvitePage.d.ts +0 -27
  71. package/dist/pages/8.4/ModelerUserInvitePage.js +0 -83
  72. package/dist/pages/8.4/OperateHomePage.d.ts +0 -21
  73. package/dist/pages/8.4/OperateHomePage.js +0 -53
  74. package/dist/pages/8.4/OperateProcessInstancePage.d.ts +0 -14
  75. package/dist/pages/8.4/OperateProcessInstancePage.js +0 -35
  76. package/dist/pages/8.4/OperateProcessesPage.d.ts +0 -22
  77. package/dist/pages/8.4/OperateProcessesPage.js +0 -80
  78. package/dist/pages/8.4/OptimizeCollectionsPage.d.ts +0 -15
  79. package/dist/pages/8.4/OptimizeCollectionsPage.js +0 -44
  80. package/dist/pages/8.4/OptimizeDashboardPage.d.ts +0 -8
  81. package/dist/pages/8.4/OptimizeDashboardPage.js +0 -48
  82. package/dist/pages/8.4/OptimizeHomePage.d.ts +0 -12
  83. package/dist/pages/8.4/OptimizeHomePage.js +0 -32
  84. package/dist/pages/8.4/OptimizeReportPage.d.ts +0 -49
  85. package/dist/pages/8.4/OptimizeReportPage.js +0 -160
  86. package/dist/pages/8.4/SettingsPage.d.ts +0 -10
  87. package/dist/pages/8.4/SettingsPage.js +0 -41
  88. package/dist/pages/8.4/SignUpPage.d.ts +0 -44
  89. package/dist/pages/8.4/SignUpPage.js +0 -137
  90. package/dist/pages/8.4/TaskDetailsPage.d.ts +0 -64
  91. package/dist/pages/8.4/TaskDetailsPage.js +0 -198
  92. package/dist/pages/8.4/TaskPanelPage.d.ts +0 -19
  93. package/dist/pages/8.4/TaskPanelPage.js +0 -61
  94. package/dist/pages/8.4/TaskProcessesPage.d.ts +0 -11
  95. package/dist/pages/8.4/TaskProcessesPage.js +0 -31
  96. package/dist/pages/8.4/UtilitiesPage.d.ts +0 -33
  97. package/dist/pages/8.4/UtilitiesPage.js +0 -312
  98. package/dist/pages/SM-8.4/ConnectorMarketplacePage.d.ts +0 -16
  99. package/dist/pages/SM-8.4/ConnectorMarketplacePage.js +0 -48
  100. package/dist/pages/SM-8.4/ConnectorSettingsPage.d.ts +0 -28
  101. package/dist/pages/SM-8.4/ConnectorSettingsPage.js +0 -82
  102. package/dist/pages/SM-8.4/ConsoleHomePage.d.ts +0 -7
  103. package/dist/pages/SM-8.4/ConsoleHomePage.js +0 -14
  104. package/dist/pages/SM-8.4/ConsoleOrganizationPage.d.ts +0 -22
  105. package/dist/pages/SM-8.4/ConsoleOrganizationPage.js +0 -68
  106. package/dist/pages/SM-8.4/FormJsPage.d.ts +0 -13
  107. package/dist/pages/SM-8.4/FormJsPage.js +0 -30
  108. package/dist/pages/SM-8.4/HomePage.d.ts +0 -20
  109. package/dist/pages/SM-8.4/HomePage.js +0 -49
  110. package/dist/pages/SM-8.4/IdentityPage.d.ts +0 -56
  111. package/dist/pages/SM-8.4/IdentityPage.js +0 -219
  112. package/dist/pages/SM-8.4/IdentityTenantPage.d.ts +0 -46
  113. package/dist/pages/SM-8.4/IdentityTenantPage.js +0 -173
  114. package/dist/pages/SM-8.4/IdentityUsersPage.d.ts +0 -90
  115. package/dist/pages/SM-8.4/IdentityUsersPage.js +0 -505
  116. package/dist/pages/SM-8.4/LoginPage.d.ts +0 -16
  117. package/dist/pages/SM-8.4/LoginPage.js +0 -50
  118. package/dist/pages/SM-8.4/ModelerCreatePage.d.ts +0 -142
  119. package/dist/pages/SM-8.4/ModelerCreatePage.js +0 -648
  120. package/dist/pages/SM-8.4/ModelerHomePage.d.ts +0 -35
  121. package/dist/pages/SM-8.4/ModelerHomePage.js +0 -139
  122. package/dist/pages/SM-8.4/NavigationPage.d.ts +0 -26
  123. package/dist/pages/SM-8.4/NavigationPage.js +0 -97
  124. package/dist/pages/SM-8.4/OperateHomePage.d.ts +0 -21
  125. package/dist/pages/SM-8.4/OperateHomePage.js +0 -63
  126. package/dist/pages/SM-8.4/OperateProcessInstancePage.d.ts +0 -23
  127. package/dist/pages/SM-8.4/OperateProcessInstancePage.js +0 -105
  128. package/dist/pages/SM-8.4/OperateProcessesPage.d.ts +0 -22
  129. package/dist/pages/SM-8.4/OperateProcessesPage.js +0 -90
  130. package/dist/pages/SM-8.4/OptimizeCollectionsPage.d.ts +0 -15
  131. package/dist/pages/SM-8.4/OptimizeCollectionsPage.js +0 -50
  132. package/dist/pages/SM-8.4/OptimizeDashboardPage.d.ts +0 -15
  133. package/dist/pages/SM-8.4/OptimizeDashboardPage.js +0 -59
  134. package/dist/pages/SM-8.4/OptimizeHomePage.d.ts +0 -17
  135. package/dist/pages/SM-8.4/OptimizeHomePage.js +0 -56
  136. package/dist/pages/SM-8.4/OptimizeReportPage.d.ts +0 -48
  137. package/dist/pages/SM-8.4/OptimizeReportPage.js +0 -157
  138. package/dist/pages/SM-8.4/SettingsPage.d.ts +0 -10
  139. package/dist/pages/SM-8.4/SettingsPage.js +0 -20
  140. package/dist/pages/SM-8.4/TaskDetailsPage.d.ts +0 -61
  141. package/dist/pages/SM-8.4/TaskDetailsPage.js +0 -175
  142. package/dist/pages/SM-8.4/TaskPanelPage.d.ts +0 -22
  143. package/dist/pages/SM-8.4/TaskPanelPage.js +0 -77
  144. package/dist/pages/SM-8.4/TaskProcessesPage.d.ts +0 -11
  145. package/dist/pages/SM-8.4/TaskProcessesPage.js +0 -31
  146. package/dist/pages/SM-8.4/UtilitiesPage.d.ts +0 -19
  147. package/dist/pages/SM-8.4/UtilitiesPage.js +0 -175
  148. package/dist/tests/8.4/connectors-user-flows.spec.d.ts +0 -1
  149. package/dist/tests/8.4/connectors-user-flows.spec.js +0 -407
  150. package/dist/tests/8.4/console-user-flows.spec.d.ts +0 -1
  151. package/dist/tests/8.4/console-user-flows.spec.js +0 -192
  152. package/dist/tests/8.4/hto-user-flows.spec.d.ts +0 -1
  153. package/dist/tests/8.4/hto-user-flows.spec.js +0 -186
  154. package/dist/tests/8.4/login.spec.d.ts +0 -1
  155. package/dist/tests/8.4/login.spec.js +0 -27
  156. package/dist/tests/8.4/navigation.spec.d.ts +0 -1
  157. package/dist/tests/8.4/navigation.spec.js +0 -62
  158. package/dist/tests/8.4/optimize-user-flows.spec.d.ts +0 -1
  159. package/dist/tests/8.4/optimize-user-flows.spec.js +0 -266
  160. package/dist/tests/8.4/rba-enabled-user-flows.spec.d.ts +0 -1
  161. package/dist/tests/8.4/rba-enabled-user-flows.spec.js +0 -306
  162. package/dist/tests/8.4/smoke-tests.spec.d.ts +0 -1
  163. package/dist/tests/8.4/smoke-tests.spec.js +0 -174
  164. package/dist/tests/8.4/test-setup.spec.d.ts +0 -1
  165. package/dist/tests/8.4/test-setup.spec.js +0 -61
  166. package/dist/tests/8.4/web-modeler-user-flows.spec.d.ts +0 -1
  167. package/dist/tests/8.4/web-modeler-user-flows.spec.js +0 -611
  168. package/dist/tests/SM-8.4/connectors-user-flows.spec.d.ts +0 -1
  169. package/dist/tests/SM-8.4/connectors-user-flows.spec.js +0 -224
  170. package/dist/tests/SM-8.4/hto-user-flows.spec.d.ts +0 -1
  171. package/dist/tests/SM-8.4/hto-user-flows.spec.js +0 -308
  172. package/dist/tests/SM-8.4/mt-enabled-user-flows.spec.d.ts +0 -1
  173. package/dist/tests/SM-8.4/mt-enabled-user-flows.spec.js +0 -537
  174. package/dist/tests/SM-8.4/optimize-user-flows.spec.d.ts +0 -1
  175. package/dist/tests/SM-8.4/optimize-user-flows.spec.js +0 -182
  176. package/dist/tests/SM-8.4/rba-enabled-user-flows.spec.d.ts +0 -1
  177. package/dist/tests/SM-8.4/rba-enabled-user-flows.spec.js +0 -250
  178. package/dist/tests/SM-8.4/smoke-tests.spec.d.ts +0 -1
  179. package/dist/tests/SM-8.4/smoke-tests.spec.js +0 -148
  180. package/dist/tests/SM-8.4/test-setup.spec.d.ts +0 -1
  181. package/dist/tests/SM-8.4/test-setup.spec.js +0 -105
  182. package/dist/tests/SM-8.4/web-modeler-user-flows.spec.d.ts +0 -1
  183. package/dist/tests/SM-8.4/web-modeler-user-flows.spec.js +0 -125
@@ -1,153 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModelerHomePage = void 0;
4
- const test_1 = require("@playwright/test");
5
- const sleep_1 = require("../../utils/sleep");
6
- class ModelerHomePage {
7
- page;
8
- defaultFolderName = 'Cross Component Test Project';
9
- modelerPageBanner;
10
- createNewProjectButton;
11
- projectNameInput;
12
- chooseBpmnTemplateButton;
13
- diagramTypeDropdown;
14
- bpmnTemplateOption;
15
- formTemplateOption;
16
- projectBreadcrumb;
17
- openOrganizationsButton;
18
- manageButton;
19
- rows;
20
- crossComponentProjectFolder;
21
- homeBreadcrumb;
22
- formNameInput;
23
- uploadFilesButton;
24
- constructor(page) {
25
- this.page = page;
26
- this.modelerPageBanner = page.getByRole('banner', {
27
- name: 'Camunda Modeler',
28
- });
29
- this.createNewProjectButton = page.getByRole('button', {
30
- name: 'New project',
31
- });
32
- this.projectNameInput = page.locator('[data-test="editable-input"]');
33
- this.chooseBpmnTemplateButton = page.getByRole('button', {
34
- name: 'Choose BPMN template',
35
- });
36
- this.diagramTypeDropdown = page.locator('[data-test="diagram-dropdown"]');
37
- this.bpmnTemplateOption = page
38
- .locator('[data-test="create-bpmn-diagram"]')
39
- .getByText('BPMN Diagram');
40
- this.formTemplateOption = page
41
- .locator('[data-test="create-form"]')
42
- .getByText('Form');
43
- this.projectBreadcrumb = page.locator('[data-test="breadcrumb-project"]');
44
- this.openOrganizationsButton = page.getByLabel('Open Organizations');
45
- this.manageButton = page.getByRole('button', { name: 'Manage' });
46
- this.rows = page.getByRole('row');
47
- this.formNameInput = page.locator('[data-test="editable-input"]');
48
- this.crossComponentProjectFolder = page
49
- .getByText(this.defaultFolderName, { exact: true })
50
- .first();
51
- this.homeBreadcrumb = page.locator('[data-test="breadcrumb-home"]');
52
- this.uploadFilesButton = page.getByRole('menuitem', { name: 'Upload files' });
53
- }
54
- async clickCreateNewProjectButton() {
55
- await this.createNewProjectButton.click({ timeout: 60000 });
56
- }
57
- async reload() {
58
- await this.page.reload();
59
- }
60
- async enterNewProjectName(name) {
61
- await this.projectNameInput.click({ timeout: 120000 });
62
- await this.projectNameInput.fill(name);
63
- await this.projectNameInput.press('Enter');
64
- }
65
- async clickChooseBpmnTemplateButton() {
66
- await this.chooseBpmnTemplateButton.click();
67
- }
68
- async clickHomeBreadcrumb() {
69
- try {
70
- await this.homeBreadcrumb.click();
71
- }
72
- catch (error) {
73
- await this.page.getByText('Home', { exact: true }).first().click();
74
- }
75
- }
76
- async enterFormName(name) {
77
- await this.formNameInput.click({ timeout: 60000 });
78
- await this.formNameInput.fill(name);
79
- await this.formNameInput.press('Enter');
80
- }
81
- async clickCrossComponentProjectFolder() {
82
- await (0, test_1.expect)(this.crossComponentProjectFolder).toBeVisible({
83
- timeout: 60000,
84
- });
85
- await this.crossComponentProjectFolder.click();
86
- }
87
- async createForm(formName) {
88
- await this.clickDiagramTypeDropdown();
89
- await this.clickFormOption();
90
- await this.enterFormName(formName);
91
- await (0, sleep_1.sleep)(10000);
92
- }
93
- async createCrossComponentProjectFolder() {
94
- await (0, sleep_1.sleep)(15000);
95
- if (await this.crossComponentProjectFolder.isVisible()) {
96
- console.log('Cross Component Project folder already exists. Clicking into it');
97
- await this.clickCrossComponentProjectFolder();
98
- return;
99
- }
100
- await this.clickCreateNewProjectButton();
101
- await this.enterNewProjectName(this.defaultFolderName);
102
- }
103
- async clickProcessDiagram(name) {
104
- const process = this.rows.filter({ hasText: name }).getByTitle(name).first();
105
- await (0, test_1.expect)(process).toBeVisible({ timeout: 30000 });
106
- await process.click();
107
- }
108
- async clickDiagramTypeDropdown() {
109
- await this.diagramTypeDropdown.click({ timeout: 60000 });
110
- }
111
- async clickBpmnTemplateOption() {
112
- await this.bpmnTemplateOption.click({ timeout: 120000 });
113
- }
114
- async clickFormOption() {
115
- await this.formTemplateOption.click();
116
- }
117
- async clickProjectBreadcrumb() {
118
- await this.projectBreadcrumb.click({ timeout: 60000 });
119
- }
120
- async clickOpenOrganizationsButton(retries = 3) {
121
- for (let i = 0; i < retries; i++) {
122
- try {
123
- await this.openOrganizationsButton.click({ timeout: 90000, force: true });
124
- return; // Click succeeded, exit the loop
125
- }
126
- catch (error) {
127
- console.error(`Attempt ${i + 1} to click deploy button failed: ${error}`);
128
- // Refresh the page
129
- await this.page.reload();
130
- await (0, sleep_1.sleep)(10000);
131
- }
132
- }
133
- throw new Error(`Failed to click open organization button after ${retries} retries`);
134
- }
135
- async clickManageButton(retries = 3) {
136
- for (let i = 0; i < retries; i++) {
137
- try {
138
- await this.manageButton.click({ timeout: 60000 });
139
- return; // Click succeeded, exit the loop
140
- }
141
- catch (error) {
142
- console.error(`Attempt ${i + 1} to click deploy button failed: ${error}`);
143
- await (0, sleep_1.sleep)(10000);
144
- await this.clickOpenOrganizationsButton();
145
- }
146
- }
147
- throw new Error(`Failed to click deploy button after ${retries} retries`);
148
- }
149
- async clickUploadFilesButton() {
150
- await this.uploadFilesButton.click({ timeout: 60000 });
151
- }
152
- }
153
- exports.ModelerHomePage = ModelerHomePage;
@@ -1,27 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class ModelerUserInvitePage {
3
- private page;
4
- private user_name;
5
- readonly buttonAddUser: Locator;
6
- readonly inputFieldUserEmailAddress: Locator;
7
- readonly buttonSendInvitation: Locator;
8
- readonly pendingInviteText: Locator;
9
- readonly settings: Locator;
10
- readonly logout: Locator;
11
- readonly buttonSkipCustomization: Locator;
12
- readonly buttonCloseHelpCentre: Locator;
13
- readonly collaboratorName: Locator;
14
- constructor(page: Page);
15
- clickAddUser(): Promise<void>;
16
- clickUserEmailInput(): Promise<void>;
17
- fillUserEmailInput(emailAddress?: string): Promise<void>;
18
- clickSendInviteButton(): Promise<void>;
19
- checkPendingInviteText(email: string): Promise<void>;
20
- inviteNewUser(): Promise<void>;
21
- clickSettings(): Promise<void>;
22
- clickLogout(): Promise<void>;
23
- clickSkipCustomization(): Promise<void>;
24
- clickCloseHelpCenter(): Promise<void>;
25
- verifyCollaboratorName(): Promise<void>;
26
- }
27
- export { ModelerUserInvitePage };
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModelerUserInvitePage = void 0;
4
- const test_1 = require("@playwright/test");
5
- const sleep_1 = require("../../utils/sleep");
6
- class ModelerUserInvitePage {
7
- page;
8
- user_name;
9
- buttonAddUser;
10
- inputFieldUserEmailAddress;
11
- buttonSendInvitation;
12
- pendingInviteText;
13
- settings;
14
- logout;
15
- buttonSkipCustomization;
16
- buttonCloseHelpCentre;
17
- collaboratorName;
18
- constructor(page) {
19
- this.page = page;
20
- this.buttonAddUser = page.locator('[data-test="add-collaborator"]');
21
- this.inputFieldUserEmailAddress = page.locator('[data-test="multi-select-input"]');
22
- this.buttonSendInvitation = page.locator('[data-test="invite-email-button"]');
23
- this.pendingInviteText = page.getByText('pending');
24
- this.settings = page.getByLabel('Open Settings');
25
- this.logout = page.getByRole('button', { name: 'Log out' });
26
- this.buttonSkipCustomization = page.getByRole('button', {
27
- name: 'Skip customization',
28
- });
29
- this.buttonCloseHelpCentre = page.getByRole('button', { name: 'Close' });
30
- this.collaboratorName = page.getByText('QA Camunda');
31
- }
32
- async clickAddUser() {
33
- await (0, test_1.expect)(this.buttonAddUser).toBeVisible({ timeout: 60000 });
34
- await this.buttonAddUser.click({ timeout: 30000 });
35
- }
36
- async clickUserEmailInput() {
37
- await (0, test_1.expect)(this.inputFieldUserEmailAddress).toBeVisible({
38
- timeout: 60000,
39
- });
40
- await this.inputFieldUserEmailAddress.click();
41
- }
42
- async fillUserEmailInput(emailAddress = this.user_name) {
43
- await this.inputFieldUserEmailAddress.fill(emailAddress);
44
- await (0, test_1.expect)(this.inputFieldUserEmailAddress).toHaveValue(emailAddress);
45
- await this.inputFieldUserEmailAddress.press('Enter');
46
- }
47
- async clickSendInviteButton() {
48
- await (0, test_1.expect)(this.buttonSendInvitation).toBeVisible({ timeout: 60000 });
49
- await this.buttonSendInvitation.click();
50
- }
51
- async checkPendingInviteText(email) {
52
- await (0, test_1.expect)(this.page.getByRole('row').filter({ hasText: `${email}` })).toContainText('pending', {
53
- timeout: 120000,
54
- });
55
- }
56
- async inviteNewUser() {
57
- await this.clickAddUser();
58
- await this.clickUserEmailInput();
59
- await this.fillUserEmailInput();
60
- await (0, sleep_1.sleep)(8000);
61
- await this.clickSendInviteButton();
62
- }
63
- async clickSettings() {
64
- await (0, test_1.expect)(this.settings).toBeVisible({ timeout: 60000 });
65
- await this.settings.click({ timeout: 90000 });
66
- }
67
- async clickLogout() {
68
- await (0, test_1.expect)(this.logout).toBeVisible({ timeout: 60000 });
69
- await this.logout.click({ timeout: 50000 });
70
- }
71
- async clickSkipCustomization() {
72
- await (0, test_1.expect)(this.buttonSkipCustomization).toBeVisible({ timeout: 60000 });
73
- await this.buttonSkipCustomization.click();
74
- }
75
- async clickCloseHelpCenter() {
76
- await (0, test_1.expect)(this.buttonCloseHelpCentre).toBeVisible({ timeout: 60000 });
77
- await this.buttonCloseHelpCentre.click();
78
- }
79
- async verifyCollaboratorName() {
80
- await (0, test_1.expect)(this.collaboratorName).toBeVisible({ timeout: 60000 });
81
- }
82
- }
83
- exports.ModelerUserInvitePage = ModelerUserInvitePage;
@@ -1,21 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class OperateHomePage {
3
- private page;
4
- readonly operateHeader: Locator;
5
- readonly processesTab: Locator;
6
- readonly informationDialog: Locator;
7
- readonly editVariableButton: Locator;
8
- readonly variableValueInput: Locator;
9
- readonly saveVariableButton: Locator;
10
- readonly editVariableSpinner: Locator;
11
- readonly operateBanner: Locator;
12
- constructor(page: Page);
13
- clickProcessesTab(): Promise<void>;
14
- closeInformationDialog(): Promise<void>;
15
- clickEditVariableButton(variableName: string): Promise<void>;
16
- clickVariableValueInput(): Promise<void>;
17
- clearVariableValueInput(): Promise<void>;
18
- fillVariableValueInput(value: string): Promise<void>;
19
- clickSaveVariableButton(): Promise<void>;
20
- }
21
- export { OperateHomePage };
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OperateHomePage = void 0;
4
- class OperateHomePage {
5
- page;
6
- operateHeader;
7
- processesTab;
8
- informationDialog;
9
- editVariableButton;
10
- variableValueInput;
11
- saveVariableButton;
12
- editVariableSpinner;
13
- operateBanner;
14
- constructor(page) {
15
- this.page = page;
16
- this.operateHeader = page.getByRole('link', { name: 'Camunda Operate' });
17
- this.processesTab = page.getByRole('link', { name: 'Processes' });
18
- this.informationDialog = page.getByRole('button', {
19
- name: 'Close this dialog',
20
- });
21
- this.editVariableButton = page.getByTestId('edit-variable-button');
22
- this.variableValueInput = page.getByTestId('edit-variable-value');
23
- this.saveVariableButton = page.getByLabel('Save variable');
24
- this.editVariableSpinner = page
25
- .getByTestId('variable-operation-spinner')
26
- .locator('circle')
27
- .nth(1);
28
- this.operateBanner = page.getByRole('link', { name: 'Camunda logo Operate' });
29
- }
30
- async clickProcessesTab() {
31
- await this.processesTab.click();
32
- }
33
- async closeInformationDialog() {
34
- await this.informationDialog.click();
35
- }
36
- async clickEditVariableButton(variableName) {
37
- const editVariableButton = 'Edit variable ' + variableName;
38
- await this.page.getByLabel(editVariableButton).click({ timeout: 60000 });
39
- }
40
- async clickVariableValueInput() {
41
- await this.variableValueInput.click();
42
- }
43
- async clearVariableValueInput() {
44
- await this.variableValueInput.clear();
45
- }
46
- async fillVariableValueInput(value) {
47
- await this.variableValueInput.fill(value);
48
- }
49
- async clickSaveVariableButton() {
50
- await this.saveVariableButton.click();
51
- }
52
- }
53
- exports.OperateHomePage = OperateHomePage;
@@ -1,14 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class OperateProcessInstancePage {
3
- private page;
4
- readonly diagram: Locator;
5
- readonly completedIcon: Locator;
6
- readonly diagramSpinner: Locator;
7
- readonly activeIcon: Locator;
8
- readonly incidentIcon: Locator;
9
- constructor(page: Page);
10
- connectorResultVariableName(name: string): Promise<Locator>;
11
- connectorResultVariableValue(variableName: string): Promise<Locator>;
12
- reload(): Promise<void>;
13
- }
14
- export { OperateProcessInstancePage };
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OperateProcessInstancePage = void 0;
4
- class OperateProcessInstancePage {
5
- page;
6
- diagram;
7
- completedIcon;
8
- diagramSpinner;
9
- activeIcon;
10
- incidentIcon;
11
- constructor(page) {
12
- this.page = page;
13
- this.diagram = page.getByTestId('diagram');
14
- this.completedIcon = page
15
- .getByTestId('instance-header')
16
- .getByTestId('COMPLETED-icon');
17
- this.diagramSpinner = page.getByTestId('diagram-spinner');
18
- this.activeIcon = page
19
- .getByTestId('instance-header')
20
- .getByTestId('ACTIVE-icon');
21
- this.incidentIcon = page
22
- .getByTestId('instance-header')
23
- .getByTestId('INCIDENT-icon');
24
- }
25
- async connectorResultVariableName(name) {
26
- return await this.page.getByTestId(name);
27
- }
28
- async connectorResultVariableValue(variableName) {
29
- return await this.page.getByTestId(variableName).locator('td').last();
30
- }
31
- async reload() {
32
- await this.page.reload();
33
- }
34
- }
35
- exports.OperateProcessInstancePage = OperateProcessInstancePage;
@@ -1,22 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class OperateProcessesPage {
3
- private page;
4
- readonly processResultCount: Locator;
5
- readonly processActiveCheckbox: Locator;
6
- readonly processCompletedCheckbox: Locator;
7
- readonly processRunningInstancesCheckbox: Locator;
8
- readonly processIncidentsCheckbox: Locator;
9
- readonly processPageHeading: Locator;
10
- readonly noMatchingInstancesMessage: Locator;
11
- readonly processFinishedInstancesCheckbox: Locator;
12
- constructor(page: Page);
13
- clickProcessActiveCheckbox(): Promise<void>;
14
- reload(): Promise<void>;
15
- assertProcessNameNotVisible(processName: string): Promise<void>;
16
- clickProcessCompletedCheckbox(): Promise<void>;
17
- clickProcessIncidentsCheckbox(): Promise<void>;
18
- clickRunningProcessInstancesCheckbox(): Promise<void>;
19
- clickFinishedProcessInstancesCheckbox(): Promise<void>;
20
- clickProcessInstanceLink(processName: string): Promise<void>;
21
- }
22
- export { OperateProcessesPage };
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OperateProcessesPage = void 0;
4
- const test_1 = require("@playwright/test");
5
- class OperateProcessesPage {
6
- page;
7
- processResultCount;
8
- processActiveCheckbox;
9
- processCompletedCheckbox;
10
- processRunningInstancesCheckbox;
11
- processIncidentsCheckbox;
12
- processPageHeading;
13
- noMatchingInstancesMessage;
14
- processFinishedInstancesCheckbox;
15
- constructor(page) {
16
- this.page = page;
17
- this.processResultCount = page.getByTestId('result-count');
18
- this.processActiveCheckbox = page
19
- .locator('label')
20
- .filter({ hasText: 'Active' });
21
- this.processCompletedCheckbox = page
22
- .locator('label')
23
- .filter({ hasText: 'Completed' });
24
- this.processRunningInstancesCheckbox = page
25
- .locator('label')
26
- .filter({ hasText: 'Running Instances' });
27
- this.processIncidentsCheckbox = page
28
- .locator('label')
29
- .filter({ hasText: 'Incidents' });
30
- this.processPageHeading = page
31
- .getByTestId('expanded-panel')
32
- .getByRole('heading', { name: 'Process' });
33
- this.noMatchingInstancesMessage = page.getByText('There are no Instances matching this filter set');
34
- this.processFinishedInstancesCheckbox = page
35
- .getByTestId('filter-finished-instances')
36
- .getByRole('checkbox');
37
- }
38
- async clickProcessActiveCheckbox() {
39
- await this.processActiveCheckbox.click({ timeout: 30000 });
40
- }
41
- async reload() {
42
- await this.page.reload();
43
- }
44
- async assertProcessNameNotVisible(processName) {
45
- await (0, test_1.expect)(this.page.getByRole('row', { name: processName })).not.toBeVisible({ timeout: 60000 });
46
- }
47
- async clickProcessCompletedCheckbox() {
48
- await this.processCompletedCheckbox.click({ timeout: 30000 });
49
- }
50
- async clickProcessIncidentsCheckbox() {
51
- await this.processIncidentsCheckbox.click({ timeout: 30000 });
52
- }
53
- async clickRunningProcessInstancesCheckbox() {
54
- await this.processRunningInstancesCheckbox.click({ timeout: 30000 });
55
- }
56
- async clickFinishedProcessInstancesCheckbox() {
57
- await this.processFinishedInstancesCheckbox.click({ timeout: 30000 });
58
- }
59
- async clickProcessInstanceLink(processName) {
60
- const maxRetries = 3;
61
- for (let retries = 0; retries < maxRetries; retries++) {
62
- try {
63
- if (retries === 0) {
64
- await this.page
65
- .locator('td:right-of(:text("' + processName + '"))')
66
- .first()
67
- .click({ timeout: 60000 });
68
- }
69
- return;
70
- }
71
- catch (error) {
72
- console.error(`Click attempt ${retries + 1} failed: ${error}`);
73
- await new Promise((resolve) => setTimeout(resolve, 10000));
74
- await this.page.reload();
75
- }
76
- }
77
- throw new Error(`Failed to click the link after ${maxRetries} attempts.`);
78
- }
79
- }
80
- exports.OperateProcessesPage = OperateProcessesPage;
@@ -1,15 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class OptimizeCollectionsPage {
3
- private page;
4
- readonly collectionsPageHeader: Locator;
5
- readonly createNewButton: Locator;
6
- readonly reportOption: Locator;
7
- readonly modalCloseButton: Locator;
8
- readonly processReport: Locator;
9
- readonly collectionsLink: Locator;
10
- constructor(page: Page);
11
- clickCreateNewButton(): Promise<void>;
12
- clickReportOption(): Promise<void>;
13
- clickMostRecentProcessReport(reportName: string): Promise<void>;
14
- }
15
- export { OptimizeCollectionsPage };
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OptimizeCollectionsPage = void 0;
4
- class OptimizeCollectionsPage {
5
- page;
6
- collectionsPageHeader;
7
- createNewButton;
8
- reportOption;
9
- modalCloseButton;
10
- processReport;
11
- collectionsLink;
12
- constructor(page) {
13
- this.page = page;
14
- this.collectionsPageHeader = page.getByRole('heading', {
15
- name: 'Collections, Dashboards, and Reports',
16
- });
17
- this.createNewButton = page.getByRole('button', {
18
- name: 'Create new',
19
- exact: true,
20
- });
21
- this.reportOption = page.getByText('Report', { exact: true });
22
- this.modalCloseButton = page.getByText('Close', { exact: true });
23
- this.processReport = page.getByText('Process Report').first();
24
- this.collectionsLink = page.getByRole('link', { name: 'Collections' });
25
- }
26
- async clickCreateNewButton() {
27
- try {
28
- await this.modalCloseButton.click({ timeout: 60000 });
29
- await this.collectionsLink.click({ timeout: 60000 });
30
- await this.createNewButton.click({ timeout: 60000 });
31
- }
32
- catch (error) {
33
- await this.collectionsLink.click({ timeout: 90000 });
34
- await this.createNewButton.click({ timeout: 60000 });
35
- }
36
- }
37
- async clickReportOption() {
38
- await this.reportOption.click();
39
- }
40
- async clickMostRecentProcessReport(reportName) {
41
- await this.page.getByText(reportName).click({ timeout: 60000 });
42
- }
43
- }
44
- exports.OptimizeCollectionsPage = OptimizeCollectionsPage;
@@ -1,8 +0,0 @@
1
- import { Page } from '@playwright/test';
2
- declare class OptimizeDashboardPage {
3
- private page;
4
- constructor(page: Page);
5
- processLinkAssertion(processName: string, maxRetries: number): Promise<void>;
6
- processOwnerNameAssertion(processName: string): Promise<void>;
7
- }
8
- export { OptimizeDashboardPage };
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OptimizeDashboardPage = void 0;
4
- const test_1 = require("@playwright/test");
5
- class OptimizeDashboardPage {
6
- page;
7
- constructor(page) {
8
- this.page = page;
9
- }
10
- async processLinkAssertion(processName, maxRetries) {
11
- for (let attempt = 0; attempt < maxRetries; attempt++) {
12
- try {
13
- await this.page.reload();
14
- await (0, test_1.expect)(this.page.getByRole('link', { name: processName })).toBeVisible({ timeout: 70000 });
15
- return;
16
- }
17
- catch (error) {
18
- if (attempt < maxRetries - 1) {
19
- console.warn(`Attempt ${attempt + 1} failed for asserting process link in Optimize. Retrying...`);
20
- }
21
- else {
22
- throw new Error(`Process link in Optimize assertion failed after ${maxRetries} attempts`);
23
- }
24
- }
25
- }
26
- }
27
- async processOwnerNameAssertion(processName) {
28
- const maxRetries = 5;
29
- const retryDelay = 60000;
30
- for (let attempt = 0; attempt < maxRetries; attempt++) {
31
- try {
32
- await this.page.reload();
33
- await (0, test_1.expect)(this.page.getByRole('link', { name: 'Process ' + processName })).toContainText('QA Camunda', { timeout: 60000 });
34
- return;
35
- }
36
- catch (error) {
37
- if (attempt < maxRetries - 1) {
38
- console.warn(`Attempt ${attempt + 1} failed for asserting owner name in Optimize.. Retrying...`);
39
- await new Promise((resolve) => setTimeout(resolve, retryDelay));
40
- }
41
- else {
42
- throw new Error(`Owner name assertion failed after ${maxRetries} attempts`);
43
- }
44
- }
45
- }
46
- }
47
- }
48
- exports.OptimizeDashboardPage = OptimizeDashboardPage;
@@ -1,12 +0,0 @@
1
- import { Page, Locator } from '@playwright/test';
2
- declare class OptimizeHomePage {
3
- private page;
4
- readonly collectionsLink: Locator;
5
- readonly dashboardLink: Locator;
6
- readonly modalCloseButton: Locator;
7
- readonly optimizeBanner: Locator;
8
- constructor(page: Page);
9
- clickCollectionsLink(): Promise<void>;
10
- clickDashboardLink(): Promise<void>;
11
- }
12
- export { OptimizeHomePage };
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OptimizeHomePage = void 0;
4
- class OptimizeHomePage {
5
- page;
6
- collectionsLink;
7
- dashboardLink;
8
- modalCloseButton;
9
- optimizeBanner;
10
- constructor(page) {
11
- this.page = page;
12
- this.collectionsLink = page.getByRole('link', { name: 'Collections' });
13
- this.dashboardLink = page.getByRole('link', { name: 'Dashboard' });
14
- this.modalCloseButton = page.getByText('Close', { exact: true }).first();
15
- this.optimizeBanner = page.getByRole('link', {
16
- name: 'Camunda logo Optimize',
17
- });
18
- }
19
- async clickCollectionsLink() {
20
- await this.collectionsLink.click({ timeout: 60000 });
21
- }
22
- async clickDashboardLink() {
23
- try {
24
- await this.modalCloseButton.click({ timeout: 30000 });
25
- await this.dashboardLink.click({ timeout: 60000 });
26
- }
27
- catch (error) {
28
- await this.dashboardLink.click({ timeout: 60000 });
29
- }
30
- }
31
- }
32
- exports.OptimizeHomePage = OptimizeHomePage;