@camunda/e2e-test-suite 0.0.257 → 0.0.259

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/dist/fixtures/SM-8.10.d.ts +81 -0
  2. package/dist/fixtures/SM-8.10.js +184 -0
  3. package/dist/pages/SM-8.10/Authorization.d.ts +31 -0
  4. package/dist/pages/SM-8.10/Authorization.js +146 -0
  5. package/dist/pages/SM-8.10/ClusterDetailsPage.d.ts +8 -0
  6. package/dist/pages/SM-8.10/ClusterDetailsPage.js +28 -0
  7. package/dist/pages/SM-8.10/ClusterPage.d.ts +11 -0
  8. package/dist/pages/SM-8.10/ClusterPage.js +32 -0
  9. package/dist/pages/SM-8.10/ConnectorMarketplacePage.d.ts +16 -0
  10. package/dist/pages/SM-8.10/ConnectorMarketplacePage.js +52 -0
  11. package/dist/pages/SM-8.10/ConnectorSettingsPage.d.ts +40 -0
  12. package/dist/pages/SM-8.10/ConnectorSettingsPage.js +133 -0
  13. package/dist/pages/SM-8.10/ConnectorTemplatePage.d.ts +11 -0
  14. package/dist/pages/SM-8.10/ConnectorTemplatePage.js +34 -0
  15. package/dist/pages/SM-8.10/ConsoleHomePage.d.ts +11 -0
  16. package/dist/pages/SM-8.10/ConsoleHomePage.js +31 -0
  17. package/dist/pages/SM-8.10/ConsoleOrganizationPage.d.ts +22 -0
  18. package/dist/pages/SM-8.10/ConsoleOrganizationPage.js +68 -0
  19. package/dist/pages/SM-8.10/FormJsPage.d.ts +31 -0
  20. package/dist/pages/SM-8.10/FormJsPage.js +87 -0
  21. package/dist/pages/SM-8.10/HomePage.d.ts +20 -0
  22. package/dist/pages/SM-8.10/HomePage.js +49 -0
  23. package/dist/pages/SM-8.10/IdentityTenantPage.d.ts +52 -0
  24. package/dist/pages/SM-8.10/IdentityTenantPage.js +218 -0
  25. package/dist/pages/SM-8.10/IdentityUsersPage.d.ts +92 -0
  26. package/dist/pages/SM-8.10/IdentityUsersPage.js +473 -0
  27. package/dist/pages/SM-8.10/KeycloakAdminPage.d.ts +15 -0
  28. package/dist/pages/SM-8.10/KeycloakAdminPage.js +68 -0
  29. package/dist/pages/SM-8.10/KeycloakLoginPage.d.ts +11 -0
  30. package/dist/pages/SM-8.10/KeycloakLoginPage.js +25 -0
  31. package/dist/pages/SM-8.10/KeycloakUtils.d.ts +16 -0
  32. package/dist/pages/SM-8.10/KeycloakUtils.js +63 -0
  33. package/dist/pages/SM-8.10/LoginPage.d.ts +21 -0
  34. package/dist/pages/SM-8.10/LoginPage.js +100 -0
  35. package/dist/pages/SM-8.10/ManagementIdentityPage.d.ts +46 -0
  36. package/dist/pages/SM-8.10/ManagementIdentityPage.js +153 -0
  37. package/dist/pages/SM-8.10/ModelerCreatePage.d.ts +199 -0
  38. package/dist/pages/SM-8.10/ModelerCreatePage.js +1052 -0
  39. package/dist/pages/SM-8.10/ModelerHomePage.d.ts +44 -0
  40. package/dist/pages/SM-8.10/ModelerHomePage.js +179 -0
  41. package/dist/pages/SM-8.10/NavigationPage.d.ts +47 -0
  42. package/dist/pages/SM-8.10/NavigationPage.js +134 -0
  43. package/dist/pages/SM-8.10/OCIdentityAuthorizationsPage.d.ts +10 -0
  44. package/dist/pages/SM-8.10/OCIdentityAuthorizationsPage.js +35 -0
  45. package/dist/pages/SM-8.10/OCIdentityClusterVariablesPage.d.ts +20 -0
  46. package/dist/pages/SM-8.10/OCIdentityClusterVariablesPage.js +69 -0
  47. package/dist/pages/SM-8.10/OCIdentityGroupsPage.d.ts +39 -0
  48. package/dist/pages/SM-8.10/OCIdentityGroupsPage.js +154 -0
  49. package/dist/pages/SM-8.10/OCIdentityHomePage.d.ts +23 -0
  50. package/dist/pages/SM-8.10/OCIdentityHomePage.js +81 -0
  51. package/dist/pages/SM-8.10/OCIdentityMappingRulesPage.d.ts +23 -0
  52. package/dist/pages/SM-8.10/OCIdentityMappingRulesPage.js +110 -0
  53. package/dist/pages/SM-8.10/OCIdentityRolesPage.d.ts +55 -0
  54. package/dist/pages/SM-8.10/OCIdentityRolesPage.js +197 -0
  55. package/dist/pages/SM-8.10/OCTenantPage.d.ts +67 -0
  56. package/dist/pages/SM-8.10/OCTenantPage.js +280 -0
  57. package/dist/pages/SM-8.10/OperateHomePage.d.ts +24 -0
  58. package/dist/pages/SM-8.10/OperateHomePage.js +81 -0
  59. package/dist/pages/SM-8.10/OperateProcessInstancePage.d.ts +24 -0
  60. package/dist/pages/SM-8.10/OperateProcessInstancePage.js +170 -0
  61. package/dist/pages/SM-8.10/OperateProcessesPage.d.ts +32 -0
  62. package/dist/pages/SM-8.10/OperateProcessesPage.js +205 -0
  63. package/dist/pages/SM-8.10/OptimizeCollectionsPage.d.ts +17 -0
  64. package/dist/pages/SM-8.10/OptimizeCollectionsPage.js +66 -0
  65. package/dist/pages/SM-8.10/OptimizeDashboardPage.d.ts +14 -0
  66. package/dist/pages/SM-8.10/OptimizeDashboardPage.js +56 -0
  67. package/dist/pages/SM-8.10/OptimizeHomePage.d.ts +19 -0
  68. package/dist/pages/SM-8.10/OptimizeHomePage.js +64 -0
  69. package/dist/pages/SM-8.10/OptimizeReportPage.d.ts +50 -0
  70. package/dist/pages/SM-8.10/OptimizeReportPage.js +179 -0
  71. package/dist/pages/SM-8.10/PlayPage.d.ts +44 -0
  72. package/dist/pages/SM-8.10/PlayPage.js +235 -0
  73. package/dist/pages/SM-8.10/SettingsPage.d.ts +12 -0
  74. package/dist/pages/SM-8.10/SettingsPage.js +25 -0
  75. package/dist/pages/SM-8.10/TaskDetailsPage.d.ts +70 -0
  76. package/dist/pages/SM-8.10/TaskDetailsPage.js +266 -0
  77. package/dist/pages/SM-8.10/TaskPanelPage.d.ts +24 -0
  78. package/dist/pages/SM-8.10/TaskPanelPage.js +93 -0
  79. package/dist/pages/SM-8.10/TaskProcessesPage.d.ts +14 -0
  80. package/dist/pages/SM-8.10/TaskProcessesPage.js +53 -0
  81. package/dist/pages/SM-8.10/UtilitiesPage.d.ts +34 -0
  82. package/dist/pages/SM-8.10/UtilitiesPage.js +435 -0
  83. package/dist/pages/SM-8.10/optimizeReportUtils.d.ts +6 -0
  84. package/dist/pages/SM-8.10/optimizeReportUtils.js +42 -0
  85. package/dist/pages/SM-8.7/ModelerCreatePage.js +3 -0
  86. package/dist/pages/SM-8.7/PlayPage.d.ts +1 -0
  87. package/dist/pages/SM-8.7/PlayPage.js +4 -2
  88. package/dist/tests/SM-8.10/cluster-variables.spec.d.ts +1 -0
  89. package/dist/tests/SM-8.10/cluster-variables.spec.js +190 -0
  90. package/dist/tests/SM-8.10/connectors-user-flows.spec.d.ts +1 -0
  91. package/dist/tests/SM-8.10/connectors-user-flows.spec.js +260 -0
  92. package/dist/tests/SM-8.10/console-user-flows.spec.d.ts +1 -0
  93. package/dist/tests/SM-8.10/console-user-flows.spec.js +88 -0
  94. package/dist/tests/SM-8.10/document-handling-user-flows.spec.d.ts +1 -0
  95. package/dist/tests/SM-8.10/document-handling-user-flows.spec.js +157 -0
  96. package/dist/tests/SM-8.10/hto-user-flows.spec.d.ts +1 -0
  97. package/dist/tests/SM-8.10/hto-user-flows.spec.js +408 -0
  98. package/dist/tests/SM-8.10/identity-user-flows.spec.d.ts +1 -0
  99. package/dist/tests/SM-8.10/identity-user-flows.spec.js +233 -0
  100. package/dist/tests/SM-8.10/license-key-user-flows.spec.d.ts +1 -0
  101. package/dist/tests/SM-8.10/license-key-user-flows.spec.js +523 -0
  102. package/dist/tests/SM-8.10/login.spec.d.ts +1 -0
  103. package/dist/tests/SM-8.10/login.spec.js +24 -0
  104. package/dist/tests/SM-8.10/migration-path-user-flows.spec.d.ts +1 -0
  105. package/dist/tests/SM-8.10/migration-path-user-flows.spec.js +224 -0
  106. package/dist/tests/SM-8.10/mt-enabled-user-flows.spec.d.ts +1 -0
  107. package/dist/tests/SM-8.10/mt-enabled-user-flows.spec.js +584 -0
  108. package/dist/tests/SM-8.10/optimize-user-flows.spec.d.ts +1 -0
  109. package/dist/tests/SM-8.10/optimize-user-flows.spec.js +184 -0
  110. package/dist/tests/SM-8.10/play.spec.d.ts +1 -0
  111. package/dist/tests/SM-8.10/play.spec.js +152 -0
  112. package/dist/tests/SM-8.10/rba-enabled-user-flows.spec.d.ts +1 -0
  113. package/dist/tests/SM-8.10/rba-enabled-user-flows.spec.js +715 -0
  114. package/dist/tests/SM-8.10/smoke-tests.spec.d.ts +1 -0
  115. package/dist/tests/SM-8.10/smoke-tests.spec.js +163 -0
  116. package/dist/tests/SM-8.10/test-setup.spec.d.ts +1 -0
  117. package/dist/tests/SM-8.10/test-setup.spec.js +24 -0
  118. package/dist/tests/SM-8.10/web-modeler-user-flows.spec.d.ts +1 -0
  119. package/dist/tests/SM-8.10/web-modeler-user-flows.spec.js +178 -0
  120. package/package.json +1 -1
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConnectorSettingsPage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ class ConnectorSettingsPage {
6
+ page;
7
+ urlInput;
8
+ resultExpressionInput;
9
+ authenticationTypeDropdown;
10
+ usernameInput;
11
+ passwordInput;
12
+ methodTypeDropdown;
13
+ resultVariableInput;
14
+ bearerTokenInput;
15
+ authenticationTab;
16
+ outputMappingTab;
17
+ httpEndpointTab;
18
+ correlationTab;
19
+ inputTab;
20
+ webhookConfigurationTab;
21
+ constructor(page) {
22
+ this.page = page;
23
+ this.urlInput = page.getByLabel('URL');
24
+ this.resultExpressionInput = page.getByLabel('Result expression');
25
+ this.authenticationTypeDropdown = page.getByLabel('Type');
26
+ this.usernameInput = page.getByLabel('Username');
27
+ this.passwordInput = page.getByLabel('Password');
28
+ this.methodTypeDropdown = page.getByLabel('Method');
29
+ this.resultVariableInput = page.getByLabel('Result variable');
30
+ this.bearerTokenInput = page.getByLabel('Bearer token');
31
+ this.authenticationTab = page
32
+ .locator('div')
33
+ .filter({ hasText: /^Authentication$/ })
34
+ .first();
35
+ this.outputMappingTab = page
36
+ .locator('div')
37
+ .filter({ hasText: /^Output mapping$/ })
38
+ .first();
39
+ this.httpEndpointTab = page
40
+ .locator('div')
41
+ .filter({ hasText: /^HTTP endpoint$/ })
42
+ .first();
43
+ this.correlationTab = page
44
+ .locator('div')
45
+ .filter({ hasText: /^Correlation$/ })
46
+ .first();
47
+ this.inputTab = page
48
+ .locator('div')
49
+ .filter({ hasText: /^Input$/ })
50
+ .first();
51
+ this.webhookConfigurationTab = page
52
+ .locator('div')
53
+ .filter({ hasText: /^Webhook configuration$/ })
54
+ .first();
55
+ }
56
+ async clickUrlInput() {
57
+ try {
58
+ await this.urlInput.click({ timeout: 60000 });
59
+ }
60
+ catch {
61
+ await this.httpEndpointTab.click();
62
+ await this.urlInput.click({ timeout: 60000 });
63
+ }
64
+ }
65
+ async fillUrlInput(url) {
66
+ await this.urlInput.fill(url);
67
+ await (0, test_1.expect)(this.page.getByText('URL must not be empty.')).not.toBeVisible({ timeout: 30000 });
68
+ }
69
+ async clickResultExpressionInput() {
70
+ try {
71
+ await this.resultExpressionInput.click();
72
+ }
73
+ catch {
74
+ await this.clickOutputMappingTab();
75
+ await this.resultExpressionInput.click();
76
+ }
77
+ }
78
+ async fillResultExpressionInput(resultExpression) {
79
+ await this.resultExpressionInput.fill(resultExpression);
80
+ }
81
+ async selectAuthenticationType(authentication) {
82
+ await this.authenticationTypeDropdown.selectOption(authentication);
83
+ }
84
+ async clickUsernameInput() {
85
+ await this.usernameInput.click({ timeout: 30000 });
86
+ }
87
+ async fillUsernameInput(username) {
88
+ await this.usernameInput.fill(username, { timeout: 30000 });
89
+ await (0, test_1.expect)(this.page.getByText('Username must not be empty.')).not.toBeVisible({ timeout: 30000 });
90
+ }
91
+ async clickPasswordInput() {
92
+ await this.passwordInput.click();
93
+ }
94
+ async fillPasswordInput(password) {
95
+ await this.passwordInput.fill(password);
96
+ await (0, test_1.expect)(this.page.getByText('Password must not be empty.')).not.toBeVisible({ timeout: 30000 });
97
+ }
98
+ async selectMethodType(method) {
99
+ await this.methodTypeDropdown.selectOption(method, { timeout: 60000 });
100
+ }
101
+ async clickResultVariableInput() {
102
+ await this.resultVariableInput.click();
103
+ }
104
+ async fillResultVariableInput(variable) {
105
+ await this.resultVariableInput.fill(variable);
106
+ }
107
+ async clickBearerTokenInput() {
108
+ await this.bearerTokenInput.click({ timeout: 30000 });
109
+ }
110
+ async fillBearerTokenInput(token) {
111
+ await this.bearerTokenInput.fill(token);
112
+ await (0, test_1.expect)(this.page.getByText('Bearer token must not be empty.')).not.toBeVisible({ timeout: 30000 });
113
+ }
114
+ async clickAuthenticationTab() {
115
+ await this.authenticationTab.click({ timeout: 60000 });
116
+ }
117
+ async clickOutputMappingTab() {
118
+ await this.outputMappingTab.click({ timeout: 60000 });
119
+ }
120
+ async clickHTTPEndpointTab() {
121
+ await this.httpEndpointTab.click({ timeout: 60000 });
122
+ }
123
+ async clickCorrelationTab() {
124
+ await this.correlationTab.click({ timeout: 60000 });
125
+ }
126
+ async clickInputTab() {
127
+ await this.inputTab.click({ timeout: 60000 });
128
+ }
129
+ async clickWebhookConfigurationTab() {
130
+ await this.webhookConfigurationTab.click({ timeout: 60000 });
131
+ }
132
+ }
133
+ exports.ConnectorSettingsPage = ConnectorSettingsPage;
@@ -0,0 +1,11 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class ConnectorTemplatePage {
3
+ private page;
4
+ readonly publishToOrgButton: Locator;
5
+ readonly publishButton: Locator;
6
+ constructor(page: Page);
7
+ clickPublishToOrgButton(): Promise<void>;
8
+ clickPublishButton(): Promise<void>;
9
+ publishConnector(): Promise<void>;
10
+ }
11
+ export { ConnectorTemplatePage };
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConnectorTemplatePage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ class ConnectorTemplatePage {
6
+ page;
7
+ publishToOrgButton;
8
+ publishButton;
9
+ constructor(page) {
10
+ this.page = page;
11
+ this.publishButton = page.getByRole('button', {
12
+ name: 'Publish',
13
+ exact: true,
14
+ });
15
+ this.publishToOrgButton = page.locator('[data-test="publish-to-org"]');
16
+ }
17
+ async clickPublishToOrgButton() {
18
+ await this.publishToOrgButton.click({ timeout: 90000 });
19
+ }
20
+ async clickPublishButton() {
21
+ await this.publishButton.click({ timeout: 90000 });
22
+ }
23
+ async publishConnector() {
24
+ try {
25
+ await (0, test_1.expect)(this.publishToOrgButton).toBeVisible({ timeout: 15000 });
26
+ }
27
+ catch (error) {
28
+ return;
29
+ }
30
+ await this.clickPublishToOrgButton();
31
+ await this.clickPublishButton();
32
+ }
33
+ }
34
+ exports.ConnectorTemplatePage = ConnectorTemplatePage;
@@ -0,0 +1,11 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class ConsoleHomePage {
3
+ private page;
4
+ readonly consoleBanner: Locator;
5
+ readonly licenseKeyTagNonProduction: Locator;
6
+ readonly licenseKeyTagProduction: Locator;
7
+ readonly clusterTab: Locator;
8
+ constructor(page: Page);
9
+ clickClusters(): Promise<void>;
10
+ }
11
+ export { ConsoleHomePage };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConsoleHomePage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ class ConsoleHomePage {
6
+ page;
7
+ consoleBanner;
8
+ licenseKeyTagNonProduction;
9
+ licenseKeyTagProduction;
10
+ clusterTab;
11
+ constructor(page) {
12
+ this.page = page;
13
+ this.consoleBanner = page.getByRole('link', {
14
+ name: 'Camunda logo Console',
15
+ });
16
+ this.licenseKeyTagNonProduction = page.getByText('Non-production license', {
17
+ exact: true,
18
+ });
19
+ this.licenseKeyTagProduction = page.getByText('Production license', {
20
+ exact: true,
21
+ });
22
+ this.clusterTab = page
23
+ .getByRole('banner')
24
+ .getByRole('link', { name: 'Clusters' });
25
+ }
26
+ async clickClusters() {
27
+ await (0, test_1.expect)(this.clusterTab).toBeVisible({ timeout: 30000 });
28
+ await this.clusterTab.click({ timeout: 90000 });
29
+ }
30
+ }
31
+ exports.ConsoleHomePage = ConsoleHomePage;
@@ -0,0 +1,22 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class ConsoleOrganizationPage {
3
+ private page;
4
+ readonly usersTab: Locator;
5
+ readonly optionsButton: Locator;
6
+ readonly editUserMenuItem: Locator;
7
+ readonly operationsEngineerCheckbox: Locator;
8
+ readonly developerCheckbox: Locator;
9
+ readonly analystCheckbox: Locator;
10
+ readonly confirmButton: Locator;
11
+ constructor(page: Page);
12
+ clickUsersTab(): Promise<void>;
13
+ clickOptionsButton(): Promise<void>;
14
+ clickEditUserMenuItem(): Promise<void>;
15
+ clickOperationsEngineerCheckbox(): Promise<void>;
16
+ checkDeveloperCheckbox(): Promise<void>;
17
+ uncheckDeveloperCheckbox(): Promise<void>;
18
+ checkAnalystCheckbox(): Promise<void>;
19
+ uncheckAnalystCheckbox(): Promise<void>;
20
+ clickConfirmButton(): Promise<void>;
21
+ }
22
+ export { ConsoleOrganizationPage };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConsoleOrganizationPage = void 0;
4
+ class ConsoleOrganizationPage {
5
+ page;
6
+ usersTab;
7
+ optionsButton;
8
+ editUserMenuItem;
9
+ operationsEngineerCheckbox;
10
+ developerCheckbox;
11
+ analystCheckbox;
12
+ confirmButton;
13
+ constructor(page) {
14
+ this.page = page;
15
+ this.usersTab = page.getByRole('tab', { name: 'Users' });
16
+ this.optionsButton = page.getByRole('button', { name: 'Options' });
17
+ this.editUserMenuItem = page.getByRole('menuitem', { name: 'Edit User' });
18
+ this.operationsEngineerCheckbox = page
19
+ .getByRole('group')
20
+ .locator('label')
21
+ .filter({ hasText: 'Operations Engineer' });
22
+ this.developerCheckbox = page
23
+ .getByRole('group')
24
+ .locator('label')
25
+ .filter({ hasText: 'Developer' });
26
+ this.analystCheckbox = page
27
+ .getByRole('group')
28
+ .locator('label')
29
+ .filter({ hasText: 'Analyst' });
30
+ this.confirmButton = page.getByRole('button', { name: 'Confirm' });
31
+ }
32
+ async clickUsersTab() {
33
+ await this.usersTab.click();
34
+ }
35
+ async clickOptionsButton() {
36
+ await this.optionsButton.click();
37
+ }
38
+ async clickEditUserMenuItem() {
39
+ await this.editUserMenuItem.click();
40
+ }
41
+ async clickOperationsEngineerCheckbox() {
42
+ await this.operationsEngineerCheckbox.click();
43
+ }
44
+ async checkDeveloperCheckbox() {
45
+ if (!(await this.developerCheckbox.isChecked())) {
46
+ await this.developerCheckbox.click();
47
+ }
48
+ }
49
+ async uncheckDeveloperCheckbox() {
50
+ if (await this.developerCheckbox.isChecked()) {
51
+ await this.developerCheckbox.click();
52
+ }
53
+ }
54
+ async checkAnalystCheckbox() {
55
+ if (!(await this.analystCheckbox.isChecked())) {
56
+ await this.analystCheckbox.click();
57
+ }
58
+ }
59
+ async uncheckAnalystCheckbox() {
60
+ if (await this.analystCheckbox.isChecked()) {
61
+ await this.analystCheckbox.click();
62
+ }
63
+ }
64
+ async clickConfirmButton() {
65
+ await this.confirmButton.click();
66
+ }
67
+ }
68
+ exports.ConsoleOrganizationPage = ConsoleOrganizationPage;
@@ -0,0 +1,31 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class FormJsPage {
3
+ private page;
4
+ readonly aiFormGeneratorButton: Locator;
5
+ readonly formRequestInput: Locator;
6
+ readonly generateFormButton: Locator;
7
+ readonly formEditor: Locator;
8
+ readonly filePicker: Locator;
9
+ readonly generalPanel: Locator;
10
+ readonly keyInput: Locator;
11
+ readonly uploadMultipleFilesToggle: Locator;
12
+ readonly documentReferenceInput: Locator;
13
+ readonly documentPreview: Locator;
14
+ readonly deployFormButton: Locator;
15
+ readonly deployModalSubmitButton: Locator;
16
+ readonly deploySuccessNotification: Locator;
17
+ constructor(page: Page);
18
+ clickAIFormGeneratorButton(): Promise<void>;
19
+ clickFormRequestInput(): Promise<void>;
20
+ fillFormRequestInput(formRequest: string): Promise<void>;
21
+ clickGenerateFormButton(): Promise<void>;
22
+ dragAndDrop(source: Locator, target: Locator): Promise<void>;
23
+ clickGeneralPropertiesPanel(): Promise<void>;
24
+ fillKeyInput(key: string): Promise<void>;
25
+ enableUploadMultipleFiles(): Promise<void>;
26
+ filldocumentReferenceInput(key: string): Promise<void>;
27
+ clickDeployFormButton(): Promise<void>;
28
+ clickDeployModalSubmitButton(): Promise<void>;
29
+ deployForm(): Promise<void>;
30
+ }
31
+ export { FormJsPage };
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormJsPage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ class FormJsPage {
6
+ page;
7
+ aiFormGeneratorButton;
8
+ formRequestInput;
9
+ generateFormButton;
10
+ formEditor;
11
+ filePicker;
12
+ generalPanel;
13
+ keyInput;
14
+ uploadMultipleFilesToggle;
15
+ documentReferenceInput;
16
+ documentPreview;
17
+ deployFormButton;
18
+ deployModalSubmitButton;
19
+ deploySuccessNotification;
20
+ constructor(page) {
21
+ this.page = page;
22
+ this.aiFormGeneratorButton = page.getByRole('button', {
23
+ name: 'AI Form Generator',
24
+ });
25
+ this.formRequestInput = page.getByPlaceholder('A form for an american standard loan request');
26
+ this.generateFormButton = page.getByRole('button', { name: 'Generate form' });
27
+ this.formEditor = page.getByLabel('Form Definition');
28
+ this.filePicker = page.locator('button[data-field-type="filepicker"]');
29
+ this.generalPanel = this.generalPanel = page
30
+ .locator('[data-group-id="group-general"]')
31
+ .first();
32
+ this.keyInput = page.getByRole('textbox', { name: 'key' });
33
+ this.uploadMultipleFilesToggle = page.locator('div[data-entry-id="multiple"] .bio-properties-panel-toggle-switch__switcher');
34
+ this.documentReferenceInput = page.getByRole('textbox', {
35
+ name: 'document reference',
36
+ });
37
+ this.documentPreview = page.locator('button[data-field-type="documentPreview"]');
38
+ this.deployFormButton = page.locator('button.cds--btn--primary', {
39
+ hasText: 'Deploy',
40
+ });
41
+ this.deployModalSubmitButton = page.locator('button[data-modal-primary-focus="true"][type="submit"]');
42
+ this.deploySuccessNotification = page
43
+ .locator('.cds--toast-notification--success')
44
+ .filter({ hasText: 'Form deployed!' });
45
+ }
46
+ async clickAIFormGeneratorButton() {
47
+ await this.aiFormGeneratorButton.click();
48
+ }
49
+ async clickFormRequestInput() {
50
+ await this.formRequestInput.click();
51
+ }
52
+ async fillFormRequestInput(formRequest) {
53
+ await this.formRequestInput.fill(formRequest);
54
+ }
55
+ async clickGenerateFormButton() {
56
+ await this.generateFormButton.click();
57
+ }
58
+ async dragAndDrop(source, target) {
59
+ await source.waitFor();
60
+ await target.waitFor();
61
+ await source.dragTo(target);
62
+ }
63
+ async clickGeneralPropertiesPanel() {
64
+ await this.generalPanel.click({ timeout: 60000 });
65
+ }
66
+ async fillKeyInput(key) {
67
+ await this.keyInput.fill(key, { timeout: 60000 });
68
+ }
69
+ async enableUploadMultipleFiles() {
70
+ await this.uploadMultipleFilesToggle.click({ timeout: 60000 });
71
+ }
72
+ async filldocumentReferenceInput(key) {
73
+ await this.documentReferenceInput.fill(key, { timeout: 60000 });
74
+ }
75
+ async clickDeployFormButton() {
76
+ await this.deployFormButton.click({ timeout: 60000 });
77
+ }
78
+ async clickDeployModalSubmitButton() {
79
+ await this.deployModalSubmitButton.click({ timeout: 60000 });
80
+ }
81
+ async deployForm() {
82
+ await this.clickDeployFormButton();
83
+ await this.clickDeployModalSubmitButton();
84
+ await (0, test_1.expect)(this.deploySuccessNotification).toBeVisible({ timeout: 30000 });
85
+ }
86
+ }
87
+ exports.FormJsPage = FormJsPage;
@@ -0,0 +1,20 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class HomePage {
3
+ private page;
4
+ readonly dashboardTab: Locator;
5
+ readonly clusterTab: Locator;
6
+ readonly organizationTab: Locator;
7
+ readonly organizationViewTitle: Locator;
8
+ readonly welcomeMessage: Locator;
9
+ readonly informationDialog: Locator;
10
+ readonly camundaAppsButton: Locator;
11
+ readonly camundaComponentsButton: Locator;
12
+ constructor(page: Page);
13
+ clickClusters(): Promise<void>;
14
+ clickDashboard(): Promise<void>;
15
+ clickOrganization(): Promise<void>;
16
+ closeInformationDialog(): Promise<void>;
17
+ clickCamundaComponents(): Promise<void>;
18
+ clickCamundaApps(): Promise<void>;
19
+ }
20
+ export { HomePage };
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HomePage = void 0;
4
+ class HomePage {
5
+ page;
6
+ dashboardTab;
7
+ clusterTab;
8
+ organizationTab;
9
+ organizationViewTitle;
10
+ welcomeMessage;
11
+ informationDialog;
12
+ camundaAppsButton;
13
+ camundaComponentsButton;
14
+ constructor(page) {
15
+ this.page = page;
16
+ this.dashboardTab = page.getByRole('link', { name: 'Dashboard' });
17
+ this.clusterTab = page.getByRole('link', { name: 'Clusters' });
18
+ this.organizationTab = page.getByRole('link', { name: 'Organization' });
19
+ this.organizationViewTitle = page.getByText('Organization Management');
20
+ this.welcomeMessage = page.getByText('Welcome, demo').first();
21
+ this.informationDialog = page.getByRole('button', {
22
+ name: 'Close this dialog',
23
+ });
24
+ this.camundaComponentsButton = page.getByLabel('Camunda components');
25
+ this.camundaAppsButton = page.getByLabel('Camunda apps');
26
+ }
27
+ async clickClusters() {
28
+ await this.clusterTab.click({ timeout: 90000 });
29
+ }
30
+ async clickDashboard() {
31
+ await this.dashboardTab.click({ timeout: 90000 });
32
+ }
33
+ async clickOrganization() {
34
+ await this.organizationTab.click({ timeout: 90000 });
35
+ }
36
+ async closeInformationDialog() {
37
+ const isLocalTest = process.env.LOCAL_TEST;
38
+ if (isLocalTest) {
39
+ await this.informationDialog.click();
40
+ }
41
+ }
42
+ async clickCamundaComponents() {
43
+ await this.camundaComponentsButton.click({ timeout: 90000 });
44
+ }
45
+ async clickCamundaApps() {
46
+ await this.camundaAppsButton.click({ timeout: 90000 });
47
+ }
48
+ }
49
+ exports.HomePage = HomePage;
@@ -0,0 +1,52 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class IdentityTenantPage {
3
+ private page;
4
+ readonly createTenantMainButton: Locator;
5
+ readonly enterTenantNameInput: Locator;
6
+ readonly enterTenantIdInput: Locator;
7
+ readonly createTenantSubButton: Locator;
8
+ readonly assignedUsersTab: Locator;
9
+ readonly assignUsersButton: Locator;
10
+ readonly searchUsersInput: Locator;
11
+ readonly assignUserFinalButton: Locator;
12
+ readonly removeUserButton: Locator;
13
+ readonly removeButton: Locator;
14
+ readonly openSidebarButton: Locator;
15
+ readonly logoutButton: Locator;
16
+ readonly assignedApplicationsTab: Locator;
17
+ readonly searchApplicationsInput: Locator;
18
+ readonly assignApplicationsButtonFinal: Locator;
19
+ readonly assignApplicationsButton: Locator;
20
+ readonly modalCloseButton: Locator;
21
+ readonly cancelButton: Locator;
22
+ readonly dialog: Locator;
23
+ readonly row: (name: string) => Locator;
24
+ constructor(page: Page);
25
+ clickCreateTenantMainButton(): Promise<void>;
26
+ clickCreateTenantSubButton(): Promise<void>;
27
+ clickEnterTenantNameInput(): Promise<void>;
28
+ fillEnterTenantNameInput(tenantName: string): Promise<void>;
29
+ clickEnterTenantIdInput(): Promise<void>;
30
+ fillEnterTenantIdInput(tenantId: string): Promise<void>;
31
+ clickAssignedUsersTab(): Promise<void>;
32
+ clickAssignUsersButton(): Promise<void>;
33
+ clickSearchUsersInput(): Promise<void>;
34
+ fillSearchUsersInput(user: string): Promise<void>;
35
+ clickAssignUserFinalButton(): Promise<void>;
36
+ clickRemoveUserButton(): Promise<void>;
37
+ clickRemoveButton(): Promise<void>;
38
+ createTenant(tenantName: string): Promise<void>;
39
+ clickTenant(tenantName: string): Promise<void>;
40
+ private isRowVisible;
41
+ assignUserToTenant(tenantName: string, user: string, userEmail: string): Promise<void>;
42
+ removeUserFromTenant(tenantName: string): Promise<void>;
43
+ clickOpenSidebarButton(): Promise<void>;
44
+ clickLogoutButton(): Promise<void>;
45
+ assignClientToTenant(clientName: string): Promise<void>;
46
+ clickAssignedApplicationsTab(): Promise<void>;
47
+ clickSearchApplicationsInput(): Promise<void>;
48
+ fillSearchApplicationsInput(clientName: string): Promise<void>;
49
+ clickAssignApplicationsFinalButton(): Promise<void>;
50
+ clickAssignApplicationsButton(): Promise<void>;
51
+ }
52
+ export { IdentityTenantPage };