@camunda/e2e-test-suite 0.0.202 → 0.0.203

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 (120) hide show
  1. package/README.md +1 -0
  2. package/dist/fixtures/8.10.d.ts +75 -0
  3. package/dist/fixtures/8.10.js +187 -0
  4. package/dist/pages/8.10/AppsPage.d.ts +38 -0
  5. package/dist/pages/8.10/AppsPage.js +398 -0
  6. package/dist/pages/8.10/Authorization.d.ts +31 -0
  7. package/dist/pages/8.10/Authorization.js +143 -0
  8. package/dist/pages/8.10/ClientCredentialsDetailsPage.d.ts +12 -0
  9. package/dist/pages/8.10/ClientCredentialsDetailsPage.js +36 -0
  10. package/dist/pages/8.10/ClusterDetailsPage.d.ts +81 -0
  11. package/dist/pages/8.10/ClusterDetailsPage.js +475 -0
  12. package/dist/pages/8.10/ClusterPage.d.ts +63 -0
  13. package/dist/pages/8.10/ClusterPage.js +349 -0
  14. package/dist/pages/8.10/ClusterSecretsPage.d.ts +46 -0
  15. package/dist/pages/8.10/ClusterSecretsPage.js +219 -0
  16. package/dist/pages/8.10/ConnectorMarketplacePage.d.ts +19 -0
  17. package/dist/pages/8.10/ConnectorMarketplacePage.js +56 -0
  18. package/dist/pages/8.10/ConnectorSettingsPage.d.ts +38 -0
  19. package/dist/pages/8.10/ConnectorSettingsPage.js +142 -0
  20. package/dist/pages/8.10/ConnectorTemplatePage.d.ts +11 -0
  21. package/dist/pages/8.10/ConnectorTemplatePage.js +34 -0
  22. package/dist/pages/8.10/ConsoleOrganizationPage.d.ts +76 -0
  23. package/dist/pages/8.10/ConsoleOrganizationPage.js +402 -0
  24. package/dist/pages/8.10/FormJsPage.d.ts +28 -0
  25. package/dist/pages/8.10/FormJsPage.js +85 -0
  26. package/dist/pages/8.10/HomePage.d.ts +27 -0
  27. package/dist/pages/8.10/HomePage.js +88 -0
  28. package/dist/pages/8.10/IdpCreatePage.d.ts +81 -0
  29. package/dist/pages/8.10/IdpCreatePage.js +355 -0
  30. package/dist/pages/8.10/LoginPage.d.ts +42 -0
  31. package/dist/pages/8.10/LoginPage.js +93 -0
  32. package/dist/pages/8.10/ModelerCreatePage.d.ts +224 -0
  33. package/dist/pages/8.10/ModelerCreatePage.js +1166 -0
  34. package/dist/pages/8.10/ModelerHomePage.d.ts +54 -0
  35. package/dist/pages/8.10/ModelerHomePage.js +235 -0
  36. package/dist/pages/8.10/ModelerUserInvitePage.d.ts +29 -0
  37. package/dist/pages/8.10/ModelerUserInvitePage.js +136 -0
  38. package/dist/pages/8.10/OCIdentityAuthorizationsPage.d.ts +11 -0
  39. package/dist/pages/8.10/OCIdentityAuthorizationsPage.js +32 -0
  40. package/dist/pages/8.10/OCIdentityGroupsPage.d.ts +38 -0
  41. package/dist/pages/8.10/OCIdentityGroupsPage.js +166 -0
  42. package/dist/pages/8.10/OCIdentityHomePage.d.ts +18 -0
  43. package/dist/pages/8.10/OCIdentityHomePage.js +57 -0
  44. package/dist/pages/8.10/OCIdentityMappingRulesPage.d.ts +23 -0
  45. package/dist/pages/8.10/OCIdentityMappingRulesPage.js +124 -0
  46. package/dist/pages/8.10/OCIdentityRolesPage.d.ts +40 -0
  47. package/dist/pages/8.10/OCIdentityRolesPage.js +182 -0
  48. package/dist/pages/8.10/OperateHomePage.d.ts +23 -0
  49. package/dist/pages/8.10/OperateHomePage.js +73 -0
  50. package/dist/pages/8.10/OperateProcessInstancePage.d.ts +23 -0
  51. package/dist/pages/8.10/OperateProcessInstancePage.js +94 -0
  52. package/dist/pages/8.10/OperateProcessesPage.d.ts +25 -0
  53. package/dist/pages/8.10/OperateProcessesPage.js +103 -0
  54. package/dist/pages/8.10/OptimizeCollectionsPage.d.ts +17 -0
  55. package/dist/pages/8.10/OptimizeCollectionsPage.js +68 -0
  56. package/dist/pages/8.10/OptimizeDashboardPage.d.ts +11 -0
  57. package/dist/pages/8.10/OptimizeDashboardPage.js +65 -0
  58. package/dist/pages/8.10/OptimizeHomePage.d.ts +13 -0
  59. package/dist/pages/8.10/OptimizeHomePage.js +55 -0
  60. package/dist/pages/8.10/OptimizeReportPage.d.ts +48 -0
  61. package/dist/pages/8.10/OptimizeReportPage.js +159 -0
  62. package/dist/pages/8.10/PlayPage.d.ts +14 -0
  63. package/dist/pages/8.10/PlayPage.js +68 -0
  64. package/dist/pages/8.10/SettingsPage.d.ts +10 -0
  65. package/dist/pages/8.10/SettingsPage.js +43 -0
  66. package/dist/pages/8.10/SignUpPage.d.ts +42 -0
  67. package/dist/pages/8.10/SignUpPage.js +134 -0
  68. package/dist/pages/8.10/TaskDetailsPage.d.ts +75 -0
  69. package/dist/pages/8.10/TaskDetailsPage.js +269 -0
  70. package/dist/pages/8.10/TaskPanelPage.d.ts +21 -0
  71. package/dist/pages/8.10/TaskPanelPage.js +93 -0
  72. package/dist/pages/8.10/TaskProcessesPage.d.ts +13 -0
  73. package/dist/pages/8.10/TaskProcessesPage.js +68 -0
  74. package/dist/pages/8.10/UtilitiesPage.d.ts +47 -0
  75. package/dist/pages/8.10/UtilitiesPage.js +489 -0
  76. package/dist/tests/8.10/access-user-role-management.spec.d.ts +1 -0
  77. package/dist/tests/8.10/access-user-role-management.spec.js +323 -0
  78. package/dist/tests/8.10/agentic-ai-user-flows.spec.d.ts +1 -0
  79. package/dist/tests/8.10/agentic-ai-user-flows.spec.js +185 -0
  80. package/dist/tests/8.10/api-tests-v2.spec.d.ts +1 -0
  81. package/dist/tests/8.10/api-tests-v2.spec.js +20 -0
  82. package/dist/tests/8.10/aws-cluster-user-flows.spec.d.ts +1 -0
  83. package/dist/tests/8.10/aws-cluster-user-flows.spec.js +178 -0
  84. package/dist/tests/8.10/cluster-variables.spec.d.ts +1 -0
  85. package/dist/tests/8.10/cluster-variables.spec.js +70 -0
  86. package/dist/tests/8.10/connectors-user-flows.spec.d.ts +1 -0
  87. package/dist/tests/8.10/connectors-user-flows.spec.js +479 -0
  88. package/dist/tests/8.10/console-user-flows.spec.d.ts +1 -0
  89. package/dist/tests/8.10/console-user-flows.spec.js +187 -0
  90. package/dist/tests/8.10/hto-user-flows.spec.d.ts +1 -0
  91. package/dist/tests/8.10/hto-user-flows.spec.js +471 -0
  92. package/dist/tests/8.10/idp-user-flows.spec.d.ts +1 -0
  93. package/dist/tests/8.10/idp-user-flows.spec.js +214 -0
  94. package/dist/tests/8.10/login-negative-tests.spec.d.ts +1 -0
  95. package/dist/tests/8.10/login-negative-tests.spec.js +29 -0
  96. package/dist/tests/8.10/login.spec.d.ts +1 -0
  97. package/dist/tests/8.10/login.spec.js +26 -0
  98. package/dist/tests/8.10/navigation.spec.d.ts +1 -0
  99. package/dist/tests/8.10/navigation.spec.js +65 -0
  100. package/dist/tests/8.10/operate-access-flow.spec.d.ts +1 -0
  101. package/dist/tests/8.10/operate-access-flow.spec.js +51 -0
  102. package/dist/tests/8.10/optimize-api-tests.spec.d.ts +1 -0
  103. package/dist/tests/8.10/optimize-api-tests.spec.js +268 -0
  104. package/dist/tests/8.10/optimize-user-flows.spec.d.ts +1 -0
  105. package/dist/tests/8.10/optimize-user-flows.spec.js +255 -0
  106. package/dist/tests/8.10/play.spec.d.ts +1 -0
  107. package/dist/tests/8.10/play.spec.js +85 -0
  108. package/dist/tests/8.10/rba-enabled-v1-user-flows.spec.d.ts +1 -0
  109. package/dist/tests/8.10/rba-enabled-v1-user-flows.spec.js +443 -0
  110. package/dist/tests/8.10/rba-enabled-v2-user-flows.spec.d.ts +1 -0
  111. package/dist/tests/8.10/rba-enabled-v2-user-flows.spec.js +446 -0
  112. package/dist/tests/8.10/smoke-tests.spec.d.ts +1 -0
  113. package/dist/tests/8.10/smoke-tests.spec.js +181 -0
  114. package/dist/tests/8.10/test-setup.spec.d.ts +1 -0
  115. package/dist/tests/8.10/test-setup.spec.js +94 -0
  116. package/dist/tests/8.10/utr-enabled-user-flows.spec.d.ts +1 -0
  117. package/dist/tests/8.10/utr-enabled-user-flows.spec.js +182 -0
  118. package/dist/tests/8.10/web-modeler-user-flows.spec.d.ts +1 -0
  119. package/dist/tests/8.10/web-modeler-user-flows.spec.js +544 -0
  120. package/package.json +1 -1
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OptimizeReportPage = void 0;
4
+ class OptimizeReportPage {
5
+ page;
6
+ processSelectionButton;
7
+ userTaskProcess;
8
+ versionSelection;
9
+ alwaysDisplayLatestSelection;
10
+ createReportLink;
11
+ durationButton;
12
+ countOption;
13
+ processInstanceButton;
14
+ userTaskOption;
15
+ heatMapButton;
16
+ numberButton;
17
+ tableOption;
18
+ reportName;
19
+ saveButton;
20
+ oneUserTaskInstance;
21
+ twoUserTaskInstance;
22
+ cancelButton;
23
+ createNewButton;
24
+ reportOption;
25
+ processInstanceCount;
26
+ blankReportButton;
27
+ selectDropdown;
28
+ constructor(page) {
29
+ this.page = page;
30
+ this.processSelectionButton = page.getByPlaceholder('Select...');
31
+ this.userTaskProcess = page
32
+ .getByText('User_Task_Process', { exact: true })
33
+ .first();
34
+ this.versionSelection = page.getByLabel('Version');
35
+ this.alwaysDisplayLatestSelection = page.getByText('Always display latest');
36
+ this.createReportLink = page.getByRole('link', { name: 'Create Report' });
37
+ this.durationButton = page.getByRole('button', { name: 'Duration' });
38
+ this.countOption = page.getByText('Count').first();
39
+ this.processInstanceButton = page.getByRole('button', {
40
+ name: 'Process Instance',
41
+ exact: true,
42
+ });
43
+ this.userTaskOption = page.getByRole('menuitemcheckbox', {
44
+ name: 'User Task',
45
+ });
46
+ this.heatMapButton = page.getByRole('button', { name: 'Heatmap Open menu' });
47
+ this.numberButton = page.getByRole('menuitemcheckbox', { name: 'Number' });
48
+ this.tableOption = page.getByRole('menuitemcheckbox', { name: 'Table' });
49
+ this.reportName = page.getByPlaceholder('Report name');
50
+ this.saveButton = page.getByRole('button', { name: 'Save' });
51
+ this.oneUserTaskInstance = page.getByRole('cell', { name: '1', exact: true });
52
+ this.twoUserTaskInstance = page.getByRole('cell', { name: '2', exact: true });
53
+ this.cancelButton = page.getByRole('button', { name: 'Cancel' });
54
+ this.createNewButton = page.getByRole('button', {
55
+ name: 'Create New',
56
+ exact: true,
57
+ });
58
+ this.reportOption = page.getByText('Report', { exact: true });
59
+ this.processInstanceCount = page.locator('.progressLabel');
60
+ this.blankReportButton = page.getByRole('button', { name: 'Blank report' });
61
+ this.selectDropdown = page
62
+ .getByRole('button', { name: 'Select... Open menu' })
63
+ .last();
64
+ }
65
+ async clickProcessSelectionButton() {
66
+ await this.processSelectionButton.click();
67
+ }
68
+ async clickUserTaskProcess(processName) {
69
+ await this.page
70
+ .getByText(processName, { exact: true })
71
+ .first()
72
+ .click({ timeout: 90000 });
73
+ }
74
+ async clickVersionSelection() {
75
+ await this.versionSelection.click();
76
+ }
77
+ async clickAlwaysDisplayLatestSelection() {
78
+ await this.alwaysDisplayLatestSelection.click();
79
+ }
80
+ async clickCreateReportLink() {
81
+ await this.createReportLink.click({ timeout: 60000 });
82
+ }
83
+ async clickDurationButton() {
84
+ await this.durationButton.click();
85
+ }
86
+ async clickCountOption() {
87
+ await this.countOption.click();
88
+ }
89
+ async clickProcessInstanceButton() {
90
+ await this.processInstanceButton.click();
91
+ }
92
+ async clickUserTaskOption() {
93
+ await this.userTaskOption.click({ timeout: 60000 });
94
+ }
95
+ async clickHeatMapButton() {
96
+ if (await this.heatMapButton.isVisible()) {
97
+ await this.heatMapButton.click({ timeout: 60000 });
98
+ }
99
+ }
100
+ async clickNumberButton() {
101
+ if (await this.numberButton.isVisible()) {
102
+ await this.numberButton.click();
103
+ }
104
+ }
105
+ async clickTableOption() {
106
+ await this.tableOption.click();
107
+ }
108
+ async clickReportName() {
109
+ await this.reportName.click();
110
+ }
111
+ async clearReportName() {
112
+ await this.reportName.clear({ force: true });
113
+ }
114
+ async fillReportName(name) {
115
+ await this.reportName.fill(name, { force: true });
116
+ }
117
+ async clickSaveButton() {
118
+ await this.saveButton.click();
119
+ }
120
+ async waitUntilLocatorIsVisible(locator, tab) {
121
+ let elapsedTime = 0;
122
+ const maxWaitTimeSeconds = 120000;
123
+ while (elapsedTime < maxWaitTimeSeconds) {
124
+ const element = await locator;
125
+ if (await element.isVisible()) {
126
+ return;
127
+ }
128
+ await tab.reload();
129
+ await tab.waitForTimeout(10 * 1000);
130
+ // Update the elapsed time
131
+ elapsedTime += 10000;
132
+ }
133
+ }
134
+ async waitUntilProcessIsVisible(locator, tab) {
135
+ let elapsedTime = 0;
136
+ const maxWaitTimeSeconds = 240000;
137
+ while (elapsedTime < maxWaitTimeSeconds) {
138
+ const element = await locator;
139
+ if (await element.isVisible()) {
140
+ return;
141
+ }
142
+ await this.cancelButton.click();
143
+ await tab.reload();
144
+ await tab.waitForTimeout(10 * 1000);
145
+ // Update the elapsed time
146
+ elapsedTime += 10000;
147
+ await this.createNewButton.click();
148
+ await this.reportOption.click();
149
+ await this.processSelectionButton.click();
150
+ }
151
+ }
152
+ async clickBlankReportButton() {
153
+ await this.blankReportButton.click();
154
+ }
155
+ async clickSelectDropdown() {
156
+ await this.selectDropdown.click();
157
+ }
158
+ }
159
+ exports.OptimizeReportPage = OptimizeReportPage;
@@ -0,0 +1,14 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class PlayPage {
3
+ private page;
4
+ readonly completeJobButton: Locator;
5
+ constructor(page: Page);
6
+ waitForCompleteJobButtonToBeAvailable(): Promise<void>;
7
+ clickCompleteJobButton(): Promise<void>;
8
+ clickStartInstanceButton(): Promise<void>;
9
+ dismissStartModal(): Promise<void>;
10
+ waitForInstanceDetailsToBeLoaded(): Promise<void>;
11
+ waitForNextElementToBeActive(historyItem: string): Promise<void>;
12
+ waitForProcessToBeCompleted(): Promise<void>;
13
+ }
14
+ export { PlayPage };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlayPage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const maxWaitTimeSeconds = 120000;
6
+ class PlayPage {
7
+ page;
8
+ completeJobButton;
9
+ constructor(page) {
10
+ this.page = page;
11
+ this.completeJobButton = page
12
+ .getByTestId('diagram')
13
+ .getByLabel('Complete job');
14
+ }
15
+ async waitForCompleteJobButtonToBeAvailable() {
16
+ await (0, test_1.expect)(this.completeJobButton).toBeVisible({
17
+ timeout: maxWaitTimeSeconds,
18
+ });
19
+ }
20
+ async clickCompleteJobButton() {
21
+ await this.completeJobButton.click();
22
+ }
23
+ async clickStartInstanceButton() {
24
+ await this.page
25
+ .getByTestId('diagram')
26
+ .getByLabel('Start instance', { exact: true })
27
+ .click();
28
+ }
29
+ async dismissStartModal() {
30
+ await this.page
31
+ .getByRole('button', {
32
+ name: 'Start a process instance',
33
+ })
34
+ .click();
35
+ }
36
+ async waitForInstanceDetailsToBeLoaded() {
37
+ const maxRetries = 2;
38
+ let attempts = 0;
39
+ while (attempts < maxRetries) {
40
+ try {
41
+ await (0, test_1.expect)(this.page.getByText(/process instance key/i)).toBeVisible({
42
+ timeout: maxWaitTimeSeconds,
43
+ });
44
+ await (0, test_1.expect)(this.page.getByText(/This process instance has no variables/i)).toBeVisible({
45
+ timeout: maxWaitTimeSeconds,
46
+ });
47
+ return;
48
+ }
49
+ catch (error) {
50
+ if (attempts >= maxRetries - 1)
51
+ throw error;
52
+ await this.page.reload();
53
+ attempts++;
54
+ }
55
+ }
56
+ }
57
+ async waitForNextElementToBeActive(historyItem) {
58
+ await (0, test_1.expect)(this.page.getByText(new RegExp(`^${historyItem}`, 'i'))).toBeVisible({
59
+ timeout: maxWaitTimeSeconds,
60
+ });
61
+ }
62
+ async waitForProcessToBeCompleted() {
63
+ await (0, test_1.expect)(this.page.getByText('Completed')).toBeVisible({
64
+ timeout: maxWaitTimeSeconds,
65
+ });
66
+ }
67
+ }
68
+ exports.PlayPage = PlayPage;
@@ -0,0 +1,10 @@
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(retries?: number): Promise<void>;
8
+ clickLogoutButton(retries?: number): Promise<void>;
9
+ }
10
+ export { SettingsPage };
@@ -0,0 +1,43 @@
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(retries = 3) {
14
+ for (let i = 0; i < retries; i++) {
15
+ try {
16
+ await this.openSettingsButton.click({ timeout: 180000 });
17
+ return; // If successful, exit the function
18
+ }
19
+ catch (error) {
20
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
21
+ await sleep(10000);
22
+ }
23
+ }
24
+ throw new Error(`Failed to click button after ${retries} retries`);
25
+ }
26
+ async clickLogoutButton(retries = 3) {
27
+ for (let i = 0; i < retries; i++) {
28
+ try {
29
+ await this.logoutButton.click({ timeout: 120000 });
30
+ return; // Click succeeded, exit the loop
31
+ }
32
+ catch (error) {
33
+ console.error(`Attempt ${i + 1} to click deploy button failed: ${error}`);
34
+ // Wait for 10 seconds
35
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
36
+ await sleep(10000);
37
+ await this.clickOpenSettingsButton();
38
+ }
39
+ }
40
+ throw new Error(`Failed to click deploy button after ${retries} retries`);
41
+ }
42
+ }
43
+ exports.SettingsPage = SettingsPage;
@@ -0,0 +1,42 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class SignUpPage {
3
+ private page;
4
+ readonly firstNameInput: Locator;
5
+ readonly lastNameInput: Locator;
6
+ readonly passwordInput: Locator;
7
+ readonly passwordInputInvitedUser: Locator;
8
+ readonly signupButton: Locator;
9
+ readonly emailInput: Locator;
10
+ readonly companyInput: Locator;
11
+ readonly createAccountButton: Locator;
12
+ readonly backgroundDrodownList: Locator;
13
+ readonly whatDoYouDoDropdownList: Locator;
14
+ readonly APIClientDropdownList: Locator;
15
+ readonly levelOfExperienceDropdownList: Locator;
16
+ readonly nextButton: Locator;
17
+ readonly runProcessRadioButton: Locator;
18
+ readonly whyAreYouEvaluatingCamunda: Locator;
19
+ readonly confirmSaaSTrial: Locator;
20
+ readonly loginToCamundaButton: Locator;
21
+ readonly backgroundPageHeading: Locator;
22
+ readonly useCasePageHeading: Locator;
23
+ readonly goalPageHeading: Locator;
24
+ readonly camundaPlansPageHeading: Locator;
25
+ readonly setPasswordPageHeading: Locator;
26
+ readonly signUpCompletedPageHeading: Locator;
27
+ readonly verifyEmailText: Locator;
28
+ constructor(page: Page);
29
+ signupToC8(emailAddress: string): Promise<void>;
30
+ clickFirstNameInput(): Promise<void>;
31
+ fillFirstNameInput(firstName: string): Promise<void>;
32
+ clickLastNameInput(): Promise<void>;
33
+ fillLastNameInput(lastName: string): Promise<void>;
34
+ clickPasswordInput(): Promise<void>;
35
+ fillPasswordInput(password: string): Promise<void>;
36
+ clickPasswordInputInvitedUser(): Promise<void>;
37
+ fillPasswordInputInvitedUser(password: string): Promise<void>;
38
+ clickSignupButton(): Promise<void>;
39
+ clickEmailInput(): Promise<void>;
40
+ fillEmailInput(email: string): Promise<void>;
41
+ }
42
+ export { SignUpPage };
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SignUpPage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ class SignUpPage {
6
+ page;
7
+ firstNameInput;
8
+ lastNameInput;
9
+ passwordInput;
10
+ passwordInputInvitedUser;
11
+ signupButton;
12
+ emailInput;
13
+ companyInput;
14
+ createAccountButton;
15
+ backgroundDrodownList;
16
+ whatDoYouDoDropdownList;
17
+ APIClientDropdownList;
18
+ levelOfExperienceDropdownList;
19
+ nextButton;
20
+ runProcessRadioButton;
21
+ whyAreYouEvaluatingCamunda;
22
+ confirmSaaSTrial;
23
+ loginToCamundaButton;
24
+ backgroundPageHeading;
25
+ useCasePageHeading;
26
+ goalPageHeading;
27
+ camundaPlansPageHeading;
28
+ setPasswordPageHeading;
29
+ signUpCompletedPageHeading;
30
+ verifyEmailText;
31
+ constructor(page) {
32
+ this.page = page;
33
+ this.firstNameInput = page.getByLabel('First Name');
34
+ this.lastNameInput = page.getByLabel('Last Name');
35
+ this.passwordInput = page.locator('[id="password"]');
36
+ this.passwordInputInvitedUser = page.getByLabel('Password (min 12 characters)');
37
+ this.signupButton = page.getByRole('button', { name: 'Sign up' });
38
+ this.emailInput = page.getByLabel('Email');
39
+ this.companyInput = page.getByLabel('Company*');
40
+ this.createAccountButton = page.getByRole('button', {
41
+ name: 'Create account',
42
+ });
43
+ this.backgroundDrodownList = page.getByLabel('Background*');
44
+ this.whatDoYouDoDropdownList = page.getByLabel('What do you do?*');
45
+ this.APIClientDropdownList = page.getByRole('combobox', {
46
+ name: 'what is your preferred api client?',
47
+ });
48
+ this.levelOfExperienceDropdownList = page.getByLabel('what is your level of experience with process design?*');
49
+ this.nextButton = page.getByRole('button', { name: 'Next' });
50
+ this.runProcessRadioButton = page.getByRole('radio');
51
+ this.whyAreYouEvaluatingCamunda = page.getByLabel('Why are you evaluating');
52
+ this.confirmSaaSTrial = page.getByRole('button', {
53
+ name: 'Confirm SaaS Trial',
54
+ });
55
+ this.loginToCamundaButton = page.getByRole('button', {
56
+ name: 'log in to camunda',
57
+ });
58
+ this.backgroundPageHeading = page.getByRole('heading', {
59
+ name: 'great! to customize your account, tell us a little about yourself',
60
+ });
61
+ this.useCasePageHeading = page.getByRole('heading', {
62
+ name: 'thank you! how will you use camunda',
63
+ });
64
+ this.goalPageHeading = page.getByRole('heading', {
65
+ name: 'finally, what is your goal with camunda?',
66
+ });
67
+ this.camundaPlansPageHeading = page.getByRole('heading', {
68
+ name: 'Here is your custom recommendation, please confirm your Camunda account below:',
69
+ });
70
+ this.setPasswordPageHeading = page.getByRole('heading', {
71
+ name: 'Finish',
72
+ });
73
+ this.signUpCompletedPageHeading = page.getByRole('heading', {
74
+ name: 'thank you for signing up for camunda',
75
+ });
76
+ this.runProcessRadioButton = page.getByRole('radio', { name: 'yes' });
77
+ this.verifyEmailText = page.getByText('Verify your email');
78
+ }
79
+ async signupToC8(emailAddress) {
80
+ await this.page.goto('https://accounts.ultrawombat.com/signup');
81
+ await this.clickFirstNameInput();
82
+ await this.fillFirstNameInput('QA');
83
+ await this.clickLastNameInput();
84
+ await this.fillLastNameInput('Camunda');
85
+ await this.clickEmailInput();
86
+ await this.fillEmailInput(emailAddress);
87
+ await this.clickPasswordInput();
88
+ await this.fillPasswordInput(process.env.C8_PASSWORD);
89
+ await this.clickSignupButton();
90
+ await (0, test_1.expect)(this.verifyEmailText.first()).toBeVisible({
91
+ timeout: 40000,
92
+ });
93
+ }
94
+ async clickFirstNameInput() {
95
+ await (0, test_1.expect)(this.firstNameInput).toBeVisible({ timeout: 30000 });
96
+ await this.firstNameInput.click();
97
+ }
98
+ async fillFirstNameInput(firstName) {
99
+ await this.firstNameInput.fill(firstName);
100
+ }
101
+ async clickLastNameInput() {
102
+ await (0, test_1.expect)(this.lastNameInput).toBeVisible({ timeout: 30000 });
103
+ await this.lastNameInput.click();
104
+ }
105
+ async fillLastNameInput(lastName) {
106
+ await this.lastNameInput.fill(lastName);
107
+ }
108
+ async clickPasswordInput() {
109
+ await (0, test_1.expect)(this.passwordInput).toBeVisible({ timeout: 30000 });
110
+ await this.passwordInput.click({ timeout: 30000 });
111
+ }
112
+ async fillPasswordInput(password) {
113
+ await this.passwordInput.fill(password);
114
+ }
115
+ async clickPasswordInputInvitedUser() {
116
+ await (0, test_1.expect)(this.passwordInputInvitedUser).toBeVisible({ timeout: 30000 });
117
+ await this.passwordInputInvitedUser.click({ timeout: 30000 });
118
+ }
119
+ async fillPasswordInputInvitedUser(password) {
120
+ await this.passwordInputInvitedUser.fill(password);
121
+ }
122
+ async clickSignupButton() {
123
+ await (0, test_1.expect)(this.signupButton).toBeVisible({ timeout: 30000 });
124
+ await this.signupButton.click();
125
+ }
126
+ async clickEmailInput() {
127
+ await (0, test_1.expect)(this.emailInput).toBeVisible({ timeout: 30000 });
128
+ await this.emailInput.click();
129
+ }
130
+ async fillEmailInput(email) {
131
+ await this.emailInput.fill(email);
132
+ }
133
+ }
134
+ exports.SignUpPage = SignUpPage;
@@ -0,0 +1,75 @@
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 assignedToMeText: Locator;
33
+ readonly textBox: Locator;
34
+ readonly noPreviewContainer: Locator;
35
+ readonly previewContainer: Locator;
36
+ readonly aiResponseField: Locator;
37
+ readonly publicFormsNotSupportedHeading: Locator;
38
+ readonly submitButton: Locator;
39
+ constructor(page: Page);
40
+ clickAssignToMeButton(): Promise<void>;
41
+ clickUnassignButton(): Promise<void>;
42
+ clickCompleteTaskButton(): Promise<void>;
43
+ clickAddVariableButton(): Promise<void>;
44
+ replaceExistingVariableValue(values: {
45
+ name: string;
46
+ value: string;
47
+ }): Promise<void>;
48
+ getNthVariableNameInput(nth: number): Locator;
49
+ getNthVariableValueInput(nth: number): Locator;
50
+ addVariable(payload: {
51
+ name: string;
52
+ value: string;
53
+ }): Promise<void>;
54
+ fillNumber(number: string): Promise<void>;
55
+ clickIncrementButton(): Promise<void>;
56
+ clickDecrementButton(): Promise<void>;
57
+ fillDate(date: string): Promise<void>;
58
+ enterTime(time: string): Promise<void>;
59
+ checkCheckbox(): Promise<void>;
60
+ selectDropdownValue(value: string): Promise<void>;
61
+ clickRadioButton(radioBtnLabel: string): Promise<void>;
62
+ checkChecklistBox(label: string): Promise<void>;
63
+ enterTwoValuesInTagList(value1: string, value2: string): Promise<void>;
64
+ clickTextInput(): Promise<void>;
65
+ fillTextInput(value: string): Promise<void>;
66
+ fillTextBox(text: string): Promise<void>;
67
+ fillName(nameInput: string): Promise<void>;
68
+ assertDocumentDownloadButton(documentName: string): Promise<void>;
69
+ assertLoadedImage(documentName: string): Promise<void>;
70
+ assertPdfPreviewViewerExists(): Promise<void>;
71
+ assertAIResponse(expected: RegExp): Promise<void>;
72
+ clickSubmitButton(): Promise<void>;
73
+ assertTextIsPresent(expectedText: string): Promise<void>;
74
+ }
75
+ export { TaskDetailsPage };