@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,81 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class IdpCreatePage {
3
+ private page;
4
+ readonly createIdpTemplateButton: Locator;
5
+ readonly idpExtractionTemplateName: Locator;
6
+ readonly idpDescriptionField: Locator;
7
+ readonly providerDropdown: Locator;
8
+ readonly createIdpExtractationTemplateButton: Locator;
9
+ readonly unstructured_UploadFilesButton: Locator;
10
+ readonly extractButton: Locator;
11
+ readonly unstructured_extractFieldName: Locator;
12
+ readonly unstructured_extractFieldPrompt: Locator;
13
+ readonly unstructured_addExtractionFieldButton: Locator;
14
+ readonly unstructured_extractionModelDropdown: Locator;
15
+ readonly unstructured_extractDocumentButton: Locator;
16
+ readonly unstructured_saveAsTestCaseButton: Locator;
17
+ readonly unstructured_testCaseSavedNotification: Locator;
18
+ readonly unstructured_validateExtractionTab: Locator;
19
+ readonly unstructured_expandAllRowsButton: Locator;
20
+ readonly unstructured_passTestCaseResultsRows: Locator;
21
+ readonly unstructured_publishButton: Locator;
22
+ readonly unstructured_publishToProjecOption: Locator;
23
+ readonly unstructured_versionFieldName: Locator;
24
+ readonly unstructured_versionFieldDescription: Locator;
25
+ readonly unstructured_publishButtonModal: Locator;
26
+ readonly unstructured_idpSuccessfullPublishNotification: Locator;
27
+ readonly unstructured_toastNotificationCloseButton: Locator;
28
+ readonly selectUnstructuredDataExtraction: Locator;
29
+ readonly selectStructuredDataExtraction: Locator;
30
+ readonly extractionInProgressNotification: Locator;
31
+ readonly structured_FieldsTab: Locator;
32
+ readonly structured_TablesTab: Locator;
33
+ readonly structured_CheckboxSelectAllFields: Locator;
34
+ readonly structured_CheckboxSelectAllTables: Locator;
35
+ readonly structured_uploadFilesButton: Locator;
36
+ readonly structured_SelectedFieldsTablesMessage: Locator;
37
+ readonly structured_TestTemplateTab: Locator;
38
+ readonly structured_TestExtractionTemplateButton: Locator;
39
+ readonly structured_TestSummaryResult: Locator;
40
+ readonly structured_DetailsResult: Locator;
41
+ readonly structured_PublishTemplateButton: Locator;
42
+ readonly structured_PublishTemplateToProjectButton: Locator;
43
+ readonly structured_SuccessfullPublishNotification: Locator;
44
+ constructor(page: Page);
45
+ clickCreateIdpTemplateButton(): Promise<void>;
46
+ fillIdpExtractionTemplateName(name: string): Promise<void>;
47
+ clickCreateIdpExtractationTemplateButton(): Promise<void>;
48
+ clickUnstructuredUploadFilesButton(): Promise<void>;
49
+ clickExtractButton(): Promise<void>;
50
+ fillExtractFieldName(name: string): Promise<void>;
51
+ fillPromptField(): Promise<void>;
52
+ clickAddExtractionFieldButton(): Promise<void>;
53
+ selectExtractionModelOption(option: string): Promise<void>;
54
+ clickExtractDocumentButton(): Promise<void>;
55
+ clickSaveAsTestCaseButton(): Promise<void>;
56
+ clickValidateExtractionTab(): Promise<void>;
57
+ clickExpandAllRowsButton(): Promise<void>;
58
+ assertPassTestCaseResultsRow(retries?: number): Promise<void>;
59
+ clickPublishButton(): Promise<void>;
60
+ clickPublishToProjecOption(): Promise<void>;
61
+ fillVersionFieldName(name: string): Promise<void>;
62
+ fillVersionFieldDescription(description: string): Promise<void>;
63
+ clickPublishButtonModal(): Promise<void>;
64
+ assertIdpSuccessPublishNotification(): Promise<void>;
65
+ clickCloseToastNotification(): Promise<void>;
66
+ selectStructuredDataExtractionMethod(): Promise<void>;
67
+ clickStructuredUploadFilesButton(): Promise<void>;
68
+ selectAllExtractionFields(): Promise<void>;
69
+ clickTablesTab(): Promise<void>;
70
+ selectAllExtractedTables(): Promise<void>;
71
+ assertFieldsAndTablesSelection(): Promise<void>;
72
+ clickTestTemplateTab(): Promise<void>;
73
+ clickTestExtractionTemplateButton(): Promise<void>;
74
+ extractionResultsAreVisible(): Promise<void>;
75
+ clickPublishTemplateButton(): Promise<void>;
76
+ clickPublishTemplateToProjectButton(): Promise<void>;
77
+ assertStructuredTemplateSuccessNotification(): Promise<void>;
78
+ fillIdpDescriptionField(description: string): Promise<void>;
79
+ selectProvider(provider: string): Promise<void>;
80
+ }
81
+ export { IdpCreatePage };
@@ -0,0 +1,355 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdpCreatePage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const sleep_1 = require("../../utils/sleep");
6
+ class IdpCreatePage {
7
+ page;
8
+ createIdpTemplateButton;
9
+ idpExtractionTemplateName;
10
+ idpDescriptionField;
11
+ providerDropdown;
12
+ createIdpExtractationTemplateButton;
13
+ unstructured_UploadFilesButton;
14
+ extractButton;
15
+ unstructured_extractFieldName;
16
+ unstructured_extractFieldPrompt;
17
+ unstructured_addExtractionFieldButton;
18
+ unstructured_extractionModelDropdown;
19
+ unstructured_extractDocumentButton;
20
+ unstructured_saveAsTestCaseButton;
21
+ unstructured_testCaseSavedNotification;
22
+ unstructured_validateExtractionTab;
23
+ unstructured_expandAllRowsButton;
24
+ unstructured_passTestCaseResultsRows;
25
+ unstructured_publishButton;
26
+ unstructured_publishToProjecOption;
27
+ unstructured_versionFieldName;
28
+ unstructured_versionFieldDescription;
29
+ unstructured_publishButtonModal;
30
+ unstructured_idpSuccessfullPublishNotification;
31
+ unstructured_toastNotificationCloseButton;
32
+ selectUnstructuredDataExtraction;
33
+ selectStructuredDataExtraction;
34
+ extractionInProgressNotification;
35
+ structured_FieldsTab;
36
+ structured_TablesTab;
37
+ structured_CheckboxSelectAllFields;
38
+ structured_CheckboxSelectAllTables;
39
+ structured_uploadFilesButton;
40
+ structured_SelectedFieldsTablesMessage;
41
+ structured_TestTemplateTab;
42
+ structured_TestExtractionTemplateButton;
43
+ structured_TestSummaryResult;
44
+ structured_DetailsResult;
45
+ structured_PublishTemplateButton;
46
+ structured_PublishTemplateToProjectButton;
47
+ structured_SuccessfullPublishNotification;
48
+ constructor(page) {
49
+ this.page = page;
50
+ this.createIdpTemplateButton = page.getByRole('button', {
51
+ name: 'Create extraction template',
52
+ exact: true,
53
+ });
54
+ this.idpExtractionTemplateName = page.getByLabel('Name');
55
+ this.idpDescriptionField = page.getByLabel('Description');
56
+ this.createIdpExtractationTemplateButton = page.getByRole('button', {
57
+ name: 'Create template',
58
+ exact: true,
59
+ });
60
+ this.unstructured_UploadFilesButton = page
61
+ .getByRole('button', {
62
+ name: 'Upload documents',
63
+ })
64
+ .first();
65
+ this.extractButton = page.getByRole('button', {
66
+ name: 'Extract',
67
+ exact: true,
68
+ });
69
+ this.unstructured_extractFieldName = page.locator('#new-extraction-field-name');
70
+ this.unstructured_extractFieldPrompt = page.locator('#new-extraction-field-prompt');
71
+ this.unstructured_addExtractionFieldButton = page.getByRole('button', {
72
+ name: 'Add',
73
+ exact: true,
74
+ });
75
+ this.unstructured_extractionModelDropdown =
76
+ page.locator('#extraction-model');
77
+ this.unstructured_extractDocumentButton = page.getByRole('button', {
78
+ name: 'Extract document',
79
+ });
80
+ this.unstructured_saveAsTestCaseButton = page.getByRole('button', {
81
+ name: 'Save as test case',
82
+ });
83
+ this.unstructured_validateExtractionTab = page.getByRole('tab', {
84
+ name: 'Validate extraction',
85
+ });
86
+ this.unstructured_testCaseSavedNotification = page.getByText('NotificationTest case');
87
+ this.unstructured_expandAllRowsButton = page.getByLabel('Expand all rows');
88
+ this.unstructured_passTestCaseResultsRows = page.locator('[data-test="pass-test-case-results"]');
89
+ this.unstructured_publishButton = page.getByRole('button', {
90
+ name: 'Publish',
91
+ });
92
+ this.unstructured_publishToProjecOption = page.getByRole('menuitem', {
93
+ name: 'Publish to project',
94
+ });
95
+ this.unstructured_versionFieldName = page.locator('#version-name');
96
+ this.unstructured_versionFieldDescription = page.locator('#version-description');
97
+ this.unstructured_publishButtonModal = page
98
+ .getByLabel('Publish Extraction Project')
99
+ .getByRole('button', { name: 'Publish' });
100
+ this.unstructured_idpSuccessfullPublishNotification = page.getByText('NotificationSuccessIDP');
101
+ this.unstructured_toastNotificationCloseButton =
102
+ page.getByLabel('Close notification');
103
+ this.selectUnstructuredDataExtraction = page.getByText('Unstructured data extraction');
104
+ this.selectStructuredDataExtraction = page.getByText('Structured form extraction');
105
+ this.extractionInProgressNotification = page.getByText('Extracting document...');
106
+ this.structured_uploadFilesButton = page
107
+ .getByRole('button', {
108
+ name: /Drag and drop.*PDF.*upload/i,
109
+ })
110
+ .first();
111
+ this.structured_FieldsTab = page.getByRole('tab', {
112
+ name: 'Fields',
113
+ });
114
+ this.structured_TablesTab = page.getByRole('tab', {
115
+ name: 'Tables',
116
+ });
117
+ this.structured_TestTemplateTab = page.getByRole('tab', {
118
+ name: 'Test template',
119
+ });
120
+ this.structured_CheckboxSelectAllFields = page.getByRole('columnheader', {
121
+ name: 'Activate all rows',
122
+ });
123
+ this.structured_CheckboxSelectAllTables =
124
+ page.getByText('Select all tables');
125
+ this.structured_SelectedFieldsTablesMessage = page.getByText(/^\s*\d+\s+fields\s*&\s*\d+\s+table(?:s)?\s+selected$/);
126
+ this.structured_TestExtractionTemplateButton = page.getByRole('button', {
127
+ name: 'Test extraction template',
128
+ });
129
+ this.structured_TestSummaryResult = page.getByRole('heading', {
130
+ name: 'Test Summary Results',
131
+ });
132
+ this.structured_DetailsResult = page.getByRole('heading', {
133
+ name: 'Detailed Results',
134
+ });
135
+ this.structured_PublishTemplateButton = page.getByRole('button', {
136
+ name: 'Publish Template',
137
+ });
138
+ this.structured_PublishTemplateToProjectButton = page.getByRole('button', {
139
+ name: 'Publish',
140
+ exact: true,
141
+ });
142
+ this.structured_SuccessfullPublishNotification =
143
+ page.getByText('Template published');
144
+ this.providerDropdown = page.getByRole('combobox', { name: 'Provider' });
145
+ }
146
+ async clickCreateIdpTemplateButton() {
147
+ await this.createIdpTemplateButton.click({ timeout: 60000 });
148
+ }
149
+ async fillIdpExtractionTemplateName(name) {
150
+ await this.idpExtractionTemplateName.fill(name);
151
+ }
152
+ async clickCreateIdpExtractationTemplateButton() {
153
+ await this.createIdpExtractationTemplateButton.click({
154
+ timeout: 60000,
155
+ });
156
+ }
157
+ async clickUnstructuredUploadFilesButton() {
158
+ await this.unstructured_UploadFilesButton.click({ timeout: 60000 });
159
+ await (0, sleep_1.sleep)(6000);
160
+ }
161
+ async clickExtractButton() {
162
+ await (0, test_1.expect)(this.extractButton).toBeEnabled({
163
+ timeout: 80000,
164
+ });
165
+ await this.extractButton.click({ timeout: 60000 });
166
+ await (0, sleep_1.sleep)(6000);
167
+ }
168
+ async fillExtractFieldName(name) {
169
+ await this.unstructured_extractFieldName.fill(name);
170
+ }
171
+ async fillPromptField() {
172
+ await this.unstructured_extractFieldPrompt.fill('Provide me the account number from this document');
173
+ }
174
+ async clickAddExtractionFieldButton() {
175
+ await this.unstructured_addExtractionFieldButton.click({ timeout: 60000 });
176
+ }
177
+ async selectExtractionModelOption(option) {
178
+ const comboboxOption = this.page.getByRole('option', { name: option });
179
+ if (await comboboxOption.isVisible()) {
180
+ console.log(`Option ${option} is already visible, no need to click dropdown`);
181
+ }
182
+ else {
183
+ await this.unstructured_extractionModelDropdown.click({
184
+ timeout: 60000,
185
+ });
186
+ await comboboxOption.click({ timeout: 120000 });
187
+ }
188
+ }
189
+ async clickExtractDocumentButton() {
190
+ await (0, test_1.expect)(this.unstructured_extractDocumentButton).toBeVisible({
191
+ timeout: 90000,
192
+ });
193
+ await this.unstructured_extractDocumentButton.click({ timeout: 60000 });
194
+ await (0, test_1.expect)(this.page.getByText('Extracting..')).not.toBeVisible({
195
+ timeout: 120000,
196
+ });
197
+ await (0, test_1.expect)(this.unstructured_saveAsTestCaseButton).toBeVisible({
198
+ timeout: 120000,
199
+ });
200
+ await (0, test_1.expect)(this.unstructured_saveAsTestCaseButton).toBeEnabled({
201
+ timeout: 120000,
202
+ });
203
+ }
204
+ async clickSaveAsTestCaseButton() {
205
+ await this.unstructured_saveAsTestCaseButton.click({ timeout: 60000 });
206
+ await (0, test_1.expect)(this.unstructured_testCaseSavedNotification).toBeVisible({
207
+ timeout: 120000,
208
+ });
209
+ }
210
+ async clickValidateExtractionTab() {
211
+ await this.unstructured_validateExtractionTab.click({ timeout: 60000 });
212
+ }
213
+ async clickExpandAllRowsButton() {
214
+ await (0, test_1.expect)(this.unstructured_expandAllRowsButton).toBeVisible({
215
+ timeout: 120000,
216
+ });
217
+ await this.unstructured_expandAllRowsButton.click({ timeout: 60000 });
218
+ await (0, sleep_1.sleep)(1000);
219
+ }
220
+ async assertPassTestCaseResultsRow(retries = 3) {
221
+ for (let i = 0; i < retries; i++) {
222
+ try {
223
+ await (0, test_1.expect)(this.unstructured_passTestCaseResultsRows).toBeVisible({
224
+ timeout: 60000,
225
+ });
226
+ return; // Click succeeded, exit the loop
227
+ }
228
+ catch (error) {
229
+ console.error(`Attempt ${i + 1} to assert pass test case failed: ${error}`);
230
+ await this.page.reload();
231
+ await this.clickValidateExtractionTab();
232
+ await this.clickExpandAllRowsButton();
233
+ }
234
+ }
235
+ throw new Error(`Failed to assert pass test case after ${retries} retries`);
236
+ }
237
+ async clickPublishButton() {
238
+ await this.unstructured_publishButton.click({ timeout: 60000 });
239
+ }
240
+ async clickPublishToProjecOption() {
241
+ await this.unstructured_publishToProjecOption.click({ timeout: 60000 });
242
+ }
243
+ async fillVersionFieldName(name) {
244
+ await this.unstructured_versionFieldName.fill(name);
245
+ }
246
+ async fillVersionFieldDescription(description) {
247
+ await this.unstructured_versionFieldDescription.fill(description);
248
+ }
249
+ async clickPublishButtonModal() {
250
+ await this.unstructured_publishButtonModal.click({ timeout: 60000 });
251
+ }
252
+ async assertIdpSuccessPublishNotification() {
253
+ await (0, test_1.expect)(this.unstructured_idpSuccessfullPublishNotification).toBeVisible({
254
+ timeout: 120000,
255
+ });
256
+ }
257
+ async clickCloseToastNotification() {
258
+ await this.unstructured_toastNotificationCloseButton.click({
259
+ timeout: 60000,
260
+ });
261
+ }
262
+ async selectStructuredDataExtractionMethod() {
263
+ await this.selectStructuredDataExtraction.click();
264
+ }
265
+ async clickStructuredUploadFilesButton() {
266
+ await (0, test_1.expect)(this.structured_uploadFilesButton).toBeVisible({
267
+ timeout: 60000,
268
+ });
269
+ await this.structured_uploadFilesButton.click({ timeout: 60000 });
270
+ await (0, sleep_1.sleep)(6000);
271
+ }
272
+ async selectAllExtractionFields() {
273
+ await (0, test_1.expect)(this.extractionInProgressNotification).not.toBeVisible({
274
+ timeout: 120000,
275
+ });
276
+ await (0, test_1.expect)(this.structured_FieldsTab).toBeVisible({
277
+ timeout: 180000,
278
+ });
279
+ await (0, test_1.expect)(this.structured_CheckboxSelectAllFields).toBeVisible({
280
+ timeout: 60000,
281
+ });
282
+ await this.structured_CheckboxSelectAllFields.click({ timeout: 60000 });
283
+ }
284
+ async clickTablesTab() {
285
+ await (0, test_1.expect)(this.structured_TablesTab).toBeVisible({
286
+ timeout: 60000,
287
+ });
288
+ await this.structured_TablesTab.click({ timeout: 60000 });
289
+ }
290
+ async selectAllExtractedTables() {
291
+ await (0, test_1.expect)(this.structured_CheckboxSelectAllTables).toBeVisible({
292
+ timeout: 60000,
293
+ });
294
+ await this.structured_CheckboxSelectAllTables.click({ timeout: 60000 });
295
+ }
296
+ async assertFieldsAndTablesSelection() {
297
+ await (0, test_1.expect)(this.structured_SelectedFieldsTablesMessage).toBeVisible({
298
+ timeout: 60000,
299
+ });
300
+ }
301
+ async clickTestTemplateTab() {
302
+ await (0, test_1.expect)(this.structured_TestTemplateTab).toBeVisible({
303
+ timeout: 60000,
304
+ });
305
+ await this.structured_TestTemplateTab.click({ timeout: 60000 });
306
+ }
307
+ async clickTestExtractionTemplateButton() {
308
+ await (0, test_1.expect)(this.structured_TestExtractionTemplateButton).toBeEnabled({
309
+ timeout: 60000,
310
+ });
311
+ await this.structured_TestExtractionTemplateButton.click({ timeout: 60000 });
312
+ await (0, test_1.expect)(this.extractionInProgressNotification).not.toBeVisible({
313
+ timeout: 120000,
314
+ });
315
+ }
316
+ async extractionResultsAreVisible() {
317
+ await (0, test_1.expect)(this.structured_TestSummaryResult).toBeVisible({
318
+ timeout: 60000,
319
+ });
320
+ await (0, test_1.expect)(this.structured_DetailsResult).toBeVisible({
321
+ timeout: 60000,
322
+ });
323
+ }
324
+ async clickPublishTemplateButton() {
325
+ await (0, test_1.expect)(this.structured_PublishTemplateButton).toBeVisible({
326
+ timeout: 60000,
327
+ });
328
+ await this.structured_PublishTemplateButton.click({ timeout: 60000 });
329
+ }
330
+ async clickPublishTemplateToProjectButton() {
331
+ await (0, test_1.expect)(this.structured_PublishTemplateToProjectButton).toBeVisible({
332
+ timeout: 60000,
333
+ });
334
+ await this.structured_PublishTemplateToProjectButton.click({
335
+ timeout: 60000,
336
+ });
337
+ }
338
+ async assertStructuredTemplateSuccessNotification() {
339
+ await (0, test_1.expect)(this.structured_SuccessfullPublishNotification).toBeVisible({
340
+ timeout: 120000,
341
+ });
342
+ }
343
+ async fillIdpDescriptionField(description) {
344
+ await this.idpDescriptionField.fill(description);
345
+ }
346
+ async selectProvider(provider) {
347
+ await this.providerDropdown.click({ timeout: 60000 });
348
+ const providerOption = this.page
349
+ .getByRole('option', { name: provider })
350
+ .getByText(provider);
351
+ await (0, test_1.expect)(providerOption).toBeVisible({ timeout: 120000 });
352
+ await providerOption.click({ timeout: 120000 });
353
+ }
354
+ }
355
+ exports.IdpCreatePage = IdpCreatePage;
@@ -0,0 +1,42 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ type ViolationEffect = 'ARIA_INVALID_STATE' | 'BUTTON_DISABLED' | 'FAILURE';
3
+ interface ValidInputSchema {
4
+ _schema: {
5
+ maxlength: number;
6
+ minlength: number;
7
+ violationEffect: ViolationEffect;
8
+ };
9
+ }
10
+ type Field = {
11
+ locator: Locator;
12
+ schema: ValidInputSchema;
13
+ };
14
+ declare class LoginPage {
15
+ private page;
16
+ readonly usernameInput: Field;
17
+ readonly passwordInput: Locator;
18
+ readonly continueButton: Locator;
19
+ readonly loginButton: Locator;
20
+ readonly loginMessage: Locator;
21
+ readonly errorMessage: Locator;
22
+ readonly passwordHeading: Locator;
23
+ constructor(page: Page);
24
+ fillUsername(username: string): Promise<void>;
25
+ clickContinueButton(): Promise<void>;
26
+ fillPassword(password: string): Promise<void>;
27
+ clickLoginButton(): Promise<void>;
28
+ login(credentials?: {
29
+ username?: string;
30
+ password?: string;
31
+ }): Promise<void>;
32
+ loginWithTestUser(credentials?: {
33
+ username?: string;
34
+ password?: string;
35
+ }): Promise<void>;
36
+ loginFailAssertion(): Promise<void>;
37
+ loginWithoutOrgAssertion(credentials?: {
38
+ username?: string;
39
+ password?: string;
40
+ }): Promise<void>;
41
+ }
42
+ export { LoginPage };
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoginPage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const UtilitiesPage_1 = require("./UtilitiesPage");
6
+ const userNameInputValidInputSchema = {
7
+ _schema: {
8
+ maxlength: 254,
9
+ minlength: 5,
10
+ violationEffect: 'ARIA_INVALID_STATE',
11
+ },
12
+ };
13
+ class LoginPage {
14
+ page;
15
+ usernameInput;
16
+ passwordInput;
17
+ continueButton;
18
+ loginButton;
19
+ loginMessage;
20
+ errorMessage;
21
+ passwordHeading;
22
+ constructor(page) {
23
+ this.page = page;
24
+ this.usernameInput = {
25
+ locator: page.getByLabel('Email address'),
26
+ schema: userNameInputValidInputSchema,
27
+ };
28
+ this.passwordInput = page.getByLabel('Password *');
29
+ this.continueButton = page.getByRole('button', {
30
+ name: 'Continue',
31
+ exact: true,
32
+ });
33
+ this.loginMessage = page.getByText('Log in to continue to Camunda.');
34
+ this.passwordHeading = page.getByRole('heading', {
35
+ name: 'Enter Your Password',
36
+ });
37
+ this.loginButton = page.getByRole('button', {
38
+ name: 'Continue',
39
+ exact: true,
40
+ });
41
+ this.errorMessage = page.getByText('Wrong email or password');
42
+ }
43
+ async fillUsername(username) {
44
+ await this.usernameInput.locator.fill(username);
45
+ }
46
+ async clickContinueButton() {
47
+ await this.continueButton.click({ timeout: 30000 });
48
+ }
49
+ async fillPassword(password) {
50
+ await this.passwordInput.fill(password);
51
+ }
52
+ async clickLoginButton() {
53
+ await this.loginButton.click({ timeout: 60000 });
54
+ }
55
+ async login(credentials = {}) {
56
+ const { username = process.env.C8_USERNAME, password = process.env.C8_PASSWORD, } = credentials;
57
+ await (0, test_1.expect)(this.usernameInput.locator).toBeVisible({ timeout: 200000 });
58
+ await this.fillUsername(username);
59
+ await this.clickContinueButton();
60
+ await this.fillPassword(password);
61
+ await (0, test_1.expect)(this.loginButton).toBeVisible({ timeout: 120000 });
62
+ await this.clickLoginButton();
63
+ await (0, UtilitiesPage_1.assertTestUsesCorrectOrganization)(this.page);
64
+ }
65
+ async loginWithTestUser(credentials = {}) {
66
+ const { username = process.env.C8_USERNAME_TEST, password = process.env.C8_PASSWORD_TEST, } = credentials;
67
+ await (0, test_1.expect)(this.usernameInput.locator).toBeVisible({ timeout: 120000 });
68
+ await this.fillUsername(username);
69
+ await this.clickContinueButton();
70
+ await this.fillPassword(password);
71
+ await (0, test_1.expect)(this.loginButton).toBeVisible({ timeout: 120000 });
72
+ await this.clickLoginButton();
73
+ await (0, UtilitiesPage_1.assertTestUsesCorrectOrganization)(this.page);
74
+ }
75
+ async loginFailAssertion() {
76
+ try {
77
+ await (0, test_1.expect)(this.errorMessage).toContainText('Wrong email or password');
78
+ }
79
+ catch (error) {
80
+ await (0, test_1.expect)(this.page.getByText('Your account has been blocked after multiple consecutive login attempts')).toBeVisible({ timeout: 20000 });
81
+ }
82
+ }
83
+ async loginWithoutOrgAssertion(credentials = {}) {
84
+ const { username = process.env.C8_USERNAME, password = process.env.C8_PASSWORD, } = credentials;
85
+ await (0, test_1.expect)(this.usernameInput.locator).toBeVisible({ timeout: 180000 });
86
+ await this.fillUsername(username);
87
+ await this.clickContinueButton();
88
+ await this.fillPassword(password);
89
+ await (0, test_1.expect)(this.loginButton).toBeVisible({ timeout: 120000 });
90
+ await this.clickLoginButton();
91
+ }
92
+ }
93
+ exports.LoginPage = LoginPage;