@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.
- package/README.md +0 -2
- package/dist/pages/8.5/ModelerCreatePage.d.ts +1 -1
- package/dist/pages/8.5/ModelerCreatePage.js +15 -15
- package/dist/pages/8.6/ModelerCreatePage.d.ts +2 -1
- package/dist/pages/8.6/ModelerCreatePage.js +30 -16
- package/dist/pages/8.6/UtilitiesPage.d.ts +1 -3
- package/dist/pages/8.6/UtilitiesPage.js +5 -21
- package/dist/pages/8.7/ConsoleOrganizationPage.js +2 -1
- package/dist/pages/8.7/IdpCreatePage.d.ts +1 -1
- package/dist/pages/8.7/IdpCreatePage.js +16 -4
- package/dist/pages/8.7/ModelerCreatePage.d.ts +5 -5
- package/dist/pages/8.7/ModelerCreatePage.js +27 -30
- package/dist/pages/8.7/ModelerHomePage.d.ts +2 -0
- package/dist/pages/8.7/ModelerHomePage.js +26 -2
- package/dist/pages/8.8/ConsoleOrganizationPage.d.ts +9 -5
- package/dist/pages/8.8/ConsoleOrganizationPage.js +59 -16
- package/dist/pages/8.8/ModelerCreatePage.d.ts +5 -3
- package/dist/pages/8.8/ModelerCreatePage.js +35 -46
- package/dist/pages/8.8/OperateProcessesPage.js +1 -1
- package/dist/pages/8.8/UtilitiesPage.js +1 -1
- package/dist/pages/SM-8.5/ModelerCreatePage.js +1 -0
- package/dist/pages/SM-8.7/ClusterPage.js +1 -1
- package/dist/pages/SM-8.7/ModelerHomePage.js +1 -1
- package/dist/pages/SM-8.7/NavigationPage.js +1 -1
- package/dist/tests/8.6/connectors-user-flows.spec.js +3 -3
- package/dist/tests/8.6/web-modeler-user-flows.spec.js +3 -3
- package/dist/tests/8.7/hto-user-flows.spec.js +0 -3
- package/dist/tests/8.7/idp-user-flows.spec.js +1 -0
- package/dist/tests/8.7/web-modeler-user-flows.spec.js +2 -2
- package/dist/tests/8.8/aws-cluster-user-flows.spec.js +1 -1
- package/dist/tests/8.8/connectors-user-flows.spec.js +0 -2
- package/dist/tests/8.8/console-user-flows.spec.js +1 -3
- package/dist/tests/8.8/hto-user-flows.spec.js +4 -5
- package/dist/tests/8.8/rba-enabled-user-flows.spec.js +5 -3
- package/dist/tests/8.8/web-modeler-user-flows.spec.js +29 -39
- package/dist/tests/SM-8.5/mt-enabled-user-flows.spec.js +18 -0
- package/dist/tests/SM-8.7/mt-enabled-user-flows.spec.js +10 -3
- package/dist/tests/SM-8.8/optimize-user-flows.spec.js +7 -7
- package/package.json +1 -1
- package/dist/fixtures/8.4.d.ts +0 -57
- package/dist/fixtures/8.4.js +0 -150
- package/dist/fixtures/SM-8.4.d.ts +0 -55
- package/dist/fixtures/SM-8.4.js +0 -132
- package/dist/pages/8.4/AppsPage.d.ts +0 -33
- package/dist/pages/8.4/AppsPage.js +0 -333
- package/dist/pages/8.4/ClusterDetailsPage.d.ts +0 -59
- package/dist/pages/8.4/ClusterDetailsPage.js +0 -319
- package/dist/pages/8.4/ClusterPage.d.ts +0 -50
- package/dist/pages/8.4/ClusterPage.js +0 -334
- package/dist/pages/8.4/ClusterSecretsPage.d.ts +0 -21
- package/dist/pages/8.4/ClusterSecretsPage.js +0 -105
- package/dist/pages/8.4/ConnectorMarketplacePage.d.ts +0 -18
- package/dist/pages/8.4/ConnectorMarketplacePage.js +0 -59
- package/dist/pages/8.4/ConnectorSettingsPage.d.ts +0 -28
- package/dist/pages/8.4/ConnectorSettingsPage.js +0 -72
- package/dist/pages/8.4/ConnectorTemplatePage.d.ts +0 -11
- package/dist/pages/8.4/ConnectorTemplatePage.js +0 -34
- package/dist/pages/8.4/ConsoleOrganizationPage.d.ts +0 -69
- package/dist/pages/8.4/ConsoleOrganizationPage.js +0 -366
- package/dist/pages/8.4/FormJsPage.d.ts +0 -14
- package/dist/pages/8.4/FormJsPage.js +0 -44
- package/dist/pages/8.4/HomePage.d.ts +0 -27
- package/dist/pages/8.4/HomePage.js +0 -87
- package/dist/pages/8.4/LoginPage.d.ts +0 -30
- package/dist/pages/8.4/LoginPage.js +0 -83
- package/dist/pages/8.4/ModelerCreatePage.d.ts +0 -145
- package/dist/pages/8.4/ModelerCreatePage.js +0 -660
- package/dist/pages/8.4/ModelerHomePage.d.ts +0 -39
- package/dist/pages/8.4/ModelerHomePage.js +0 -153
- package/dist/pages/8.4/ModelerUserInvitePage.d.ts +0 -27
- package/dist/pages/8.4/ModelerUserInvitePage.js +0 -83
- package/dist/pages/8.4/OperateHomePage.d.ts +0 -21
- package/dist/pages/8.4/OperateHomePage.js +0 -53
- package/dist/pages/8.4/OperateProcessInstancePage.d.ts +0 -14
- package/dist/pages/8.4/OperateProcessInstancePage.js +0 -35
- package/dist/pages/8.4/OperateProcessesPage.d.ts +0 -22
- package/dist/pages/8.4/OperateProcessesPage.js +0 -80
- package/dist/pages/8.4/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/8.4/OptimizeCollectionsPage.js +0 -44
- package/dist/pages/8.4/OptimizeDashboardPage.d.ts +0 -8
- package/dist/pages/8.4/OptimizeDashboardPage.js +0 -48
- package/dist/pages/8.4/OptimizeHomePage.d.ts +0 -12
- package/dist/pages/8.4/OptimizeHomePage.js +0 -32
- package/dist/pages/8.4/OptimizeReportPage.d.ts +0 -49
- package/dist/pages/8.4/OptimizeReportPage.js +0 -160
- package/dist/pages/8.4/SettingsPage.d.ts +0 -10
- package/dist/pages/8.4/SettingsPage.js +0 -41
- package/dist/pages/8.4/SignUpPage.d.ts +0 -44
- package/dist/pages/8.4/SignUpPage.js +0 -137
- package/dist/pages/8.4/TaskDetailsPage.d.ts +0 -64
- package/dist/pages/8.4/TaskDetailsPage.js +0 -198
- package/dist/pages/8.4/TaskPanelPage.d.ts +0 -19
- package/dist/pages/8.4/TaskPanelPage.js +0 -61
- package/dist/pages/8.4/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/8.4/TaskProcessesPage.js +0 -31
- package/dist/pages/8.4/UtilitiesPage.d.ts +0 -33
- package/dist/pages/8.4/UtilitiesPage.js +0 -312
- package/dist/pages/SM-8.4/ConnectorMarketplacePage.d.ts +0 -16
- package/dist/pages/SM-8.4/ConnectorMarketplacePage.js +0 -48
- package/dist/pages/SM-8.4/ConnectorSettingsPage.d.ts +0 -28
- package/dist/pages/SM-8.4/ConnectorSettingsPage.js +0 -82
- package/dist/pages/SM-8.4/ConsoleHomePage.d.ts +0 -7
- package/dist/pages/SM-8.4/ConsoleHomePage.js +0 -14
- package/dist/pages/SM-8.4/ConsoleOrganizationPage.d.ts +0 -22
- package/dist/pages/SM-8.4/ConsoleOrganizationPage.js +0 -68
- package/dist/pages/SM-8.4/FormJsPage.d.ts +0 -13
- package/dist/pages/SM-8.4/FormJsPage.js +0 -30
- package/dist/pages/SM-8.4/HomePage.d.ts +0 -20
- package/dist/pages/SM-8.4/HomePage.js +0 -49
- package/dist/pages/SM-8.4/IdentityPage.d.ts +0 -56
- package/dist/pages/SM-8.4/IdentityPage.js +0 -219
- package/dist/pages/SM-8.4/IdentityTenantPage.d.ts +0 -46
- package/dist/pages/SM-8.4/IdentityTenantPage.js +0 -173
- package/dist/pages/SM-8.4/IdentityUsersPage.d.ts +0 -90
- package/dist/pages/SM-8.4/IdentityUsersPage.js +0 -505
- package/dist/pages/SM-8.4/LoginPage.d.ts +0 -16
- package/dist/pages/SM-8.4/LoginPage.js +0 -50
- package/dist/pages/SM-8.4/ModelerCreatePage.d.ts +0 -142
- package/dist/pages/SM-8.4/ModelerCreatePage.js +0 -648
- package/dist/pages/SM-8.4/ModelerHomePage.d.ts +0 -35
- package/dist/pages/SM-8.4/ModelerHomePage.js +0 -139
- package/dist/pages/SM-8.4/NavigationPage.d.ts +0 -26
- package/dist/pages/SM-8.4/NavigationPage.js +0 -97
- package/dist/pages/SM-8.4/OperateHomePage.d.ts +0 -21
- package/dist/pages/SM-8.4/OperateHomePage.js +0 -63
- package/dist/pages/SM-8.4/OperateProcessInstancePage.d.ts +0 -23
- package/dist/pages/SM-8.4/OperateProcessInstancePage.js +0 -105
- package/dist/pages/SM-8.4/OperateProcessesPage.d.ts +0 -22
- package/dist/pages/SM-8.4/OperateProcessesPage.js +0 -90
- package/dist/pages/SM-8.4/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/SM-8.4/OptimizeCollectionsPage.js +0 -50
- package/dist/pages/SM-8.4/OptimizeDashboardPage.d.ts +0 -15
- package/dist/pages/SM-8.4/OptimizeDashboardPage.js +0 -59
- package/dist/pages/SM-8.4/OptimizeHomePage.d.ts +0 -17
- package/dist/pages/SM-8.4/OptimizeHomePage.js +0 -56
- package/dist/pages/SM-8.4/OptimizeReportPage.d.ts +0 -48
- package/dist/pages/SM-8.4/OptimizeReportPage.js +0 -157
- package/dist/pages/SM-8.4/SettingsPage.d.ts +0 -10
- package/dist/pages/SM-8.4/SettingsPage.js +0 -20
- package/dist/pages/SM-8.4/TaskDetailsPage.d.ts +0 -61
- package/dist/pages/SM-8.4/TaskDetailsPage.js +0 -175
- package/dist/pages/SM-8.4/TaskPanelPage.d.ts +0 -22
- package/dist/pages/SM-8.4/TaskPanelPage.js +0 -77
- package/dist/pages/SM-8.4/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/SM-8.4/TaskProcessesPage.js +0 -31
- package/dist/pages/SM-8.4/UtilitiesPage.d.ts +0 -19
- package/dist/pages/SM-8.4/UtilitiesPage.js +0 -175
- package/dist/tests/8.4/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/connectors-user-flows.spec.js +0 -407
- package/dist/tests/8.4/console-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/console-user-flows.spec.js +0 -192
- package/dist/tests/8.4/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/hto-user-flows.spec.js +0 -186
- package/dist/tests/8.4/login.spec.d.ts +0 -1
- package/dist/tests/8.4/login.spec.js +0 -27
- package/dist/tests/8.4/navigation.spec.d.ts +0 -1
- package/dist/tests/8.4/navigation.spec.js +0 -62
- package/dist/tests/8.4/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/optimize-user-flows.spec.js +0 -266
- package/dist/tests/8.4/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/rba-enabled-user-flows.spec.js +0 -306
- package/dist/tests/8.4/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/8.4/smoke-tests.spec.js +0 -174
- package/dist/tests/8.4/test-setup.spec.d.ts +0 -1
- package/dist/tests/8.4/test-setup.spec.js +0 -61
- package/dist/tests/8.4/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/web-modeler-user-flows.spec.js +0 -611
- package/dist/tests/SM-8.4/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/connectors-user-flows.spec.js +0 -224
- package/dist/tests/SM-8.4/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/hto-user-flows.spec.js +0 -308
- package/dist/tests/SM-8.4/mt-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/mt-enabled-user-flows.spec.js +0 -537
- package/dist/tests/SM-8.4/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/optimize-user-flows.spec.js +0 -182
- package/dist/tests/SM-8.4/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/rba-enabled-user-flows.spec.js +0 -250
- package/dist/tests/SM-8.4/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/smoke-tests.spec.js +0 -148
- package/dist/tests/SM-8.4/test-setup.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/test-setup.spec.js +0 -105
- package/dist/tests/SM-8.4/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/web-modeler-user-flows.spec.js +0 -125
package/README.md
CHANGED
|
@@ -18,7 +18,6 @@ This test suite supports testing across three primary platforms:
|
|
|
18
18
|
|
|
19
19
|
For the Camunda SaaS offering, the test suite supports following cluster versions:
|
|
20
20
|
|
|
21
|
-
- 8.4.X
|
|
22
21
|
- 8.5.X
|
|
23
22
|
- 8.6.X
|
|
24
23
|
- 8.7.X
|
|
@@ -30,7 +29,6 @@ For the Camunda SaaS offering, the test suite supports following cluster version
|
|
|
30
29
|
|
|
31
30
|
For the Camunda SM Helm offering, the test suite supports following versions:
|
|
32
31
|
|
|
33
|
-
- 8.4.X
|
|
34
32
|
- 8.5.X
|
|
35
33
|
- 8.6.X
|
|
36
34
|
- 8.7.X
|
|
@@ -69,7 +69,7 @@ declare class ModelerCreatePage {
|
|
|
69
69
|
readonly formLinkingTypeDropdown: Locator;
|
|
70
70
|
readonly formLinkTypeOptions: Locator;
|
|
71
71
|
readonly addFormJsonConfigurationInput: Locator;
|
|
72
|
-
private
|
|
72
|
+
private deployAndRunDialog;
|
|
73
73
|
private deployDiagramDialog;
|
|
74
74
|
readonly timerEventOption: Locator;
|
|
75
75
|
readonly timerEventSettings: Locator;
|
|
@@ -73,7 +73,7 @@ class ModelerCreatePage {
|
|
|
73
73
|
formLinkingTypeDropdown;
|
|
74
74
|
formLinkTypeOptions;
|
|
75
75
|
addFormJsonConfigurationInput;
|
|
76
|
-
|
|
76
|
+
deployAndRunDialog;
|
|
77
77
|
deployDiagramDialog;
|
|
78
78
|
timerEventOption;
|
|
79
79
|
timerEventSettings;
|
|
@@ -95,11 +95,14 @@ class ModelerCreatePage {
|
|
|
95
95
|
.locator('span')
|
|
96
96
|
.first();
|
|
97
97
|
this.appendEndEventButton = page.getByTitle('Append end event');
|
|
98
|
-
this.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
this.
|
|
102
|
-
|
|
98
|
+
this.deployAndRunDialog = page.getByRole('dialog', {
|
|
99
|
+
name: 'Deploy & run diagram',
|
|
100
|
+
});
|
|
101
|
+
this.startInstanceMainButton = page.getByRole('button', {
|
|
102
|
+
name: 'Deploy & run',
|
|
103
|
+
});
|
|
104
|
+
this.startInstanceSubButton = this.deployAndRunDialog
|
|
105
|
+
.getByRole('button', { name: 'Deploy & run' })
|
|
103
106
|
.last();
|
|
104
107
|
this.viewProcessInstanceLink = page.getByRole('link', {
|
|
105
108
|
name: 'View process instance',
|
|
@@ -190,9 +193,6 @@ class ModelerCreatePage {
|
|
|
190
193
|
this.formLinkingTypeDropdown = page.getByLabel('Type');
|
|
191
194
|
this.formLinkTypeOptions = page.locator('#bio-properties-panel-formType');
|
|
192
195
|
this.addFormJsonConfigurationInput = page.getByLabel('Form JSON configuration');
|
|
193
|
-
this.startInstanceDialog = page.getByRole('dialog', {
|
|
194
|
-
name: 'Start instance',
|
|
195
|
-
});
|
|
196
196
|
this.deployDiagramDialog = page.getByRole('dialog', {
|
|
197
197
|
name: 'Deploy diagram',
|
|
198
198
|
});
|
|
@@ -477,16 +477,16 @@ class ModelerCreatePage {
|
|
|
477
477
|
timeout: 60000,
|
|
478
478
|
});
|
|
479
479
|
await this.clickStartInstanceMainButton();
|
|
480
|
-
await (0, test_1.expect)(this.
|
|
480
|
+
await (0, test_1.expect)(this.deployAndRunDialog).toBeVisible({
|
|
481
481
|
timeout: 30000,
|
|
482
482
|
});
|
|
483
483
|
//Select the correct cluster if multiple exist
|
|
484
|
-
const cluster = this.
|
|
484
|
+
const cluster = this.deployAndRunDialog.getByText(clusterName);
|
|
485
485
|
await (0, test_1.expect)(cluster).toBeVisible({
|
|
486
486
|
timeout: 30000,
|
|
487
487
|
});
|
|
488
488
|
await cluster.click();
|
|
489
|
-
await (0, test_1.expect)(this.
|
|
489
|
+
await (0, test_1.expect)(this.deployAndRunDialog
|
|
490
490
|
.locator('label')
|
|
491
491
|
.filter({
|
|
492
492
|
hasText: clusterName,
|
|
@@ -494,7 +494,7 @@ class ModelerCreatePage {
|
|
|
494
494
|
.getByRole('checkbox')).toBeChecked({ timeout: 30000 });
|
|
495
495
|
//Check healthy status of the selected cluster
|
|
496
496
|
const regex = new RegExp(`${clusterName}.*?HealthydevManage`);
|
|
497
|
-
await (0, test_1.expect)(this.
|
|
497
|
+
await (0, test_1.expect)(this.deployAndRunDialog).toHaveText(regex, {
|
|
498
498
|
timeout: 120000,
|
|
499
499
|
});
|
|
500
500
|
if (variables.length > 0) {
|
|
@@ -519,12 +519,12 @@ class ModelerCreatePage {
|
|
|
519
519
|
}
|
|
520
520
|
}
|
|
521
521
|
if (textToVisible.length > 0) {
|
|
522
|
-
await (0, test_1.expect)(this.
|
|
522
|
+
await (0, test_1.expect)(this.deployAndRunDialog.getByText(textToVisible)).toBeVisible({
|
|
523
523
|
timeout: 30000,
|
|
524
524
|
});
|
|
525
525
|
}
|
|
526
526
|
if (textNotToVisible.length > 0) {
|
|
527
|
-
await (0, test_1.expect)(this.
|
|
527
|
+
await (0, test_1.expect)(this.deployAndRunDialog.getByText(textNotToVisible)).not.toBeVisible({
|
|
528
528
|
timeout: 60000,
|
|
529
529
|
});
|
|
530
530
|
}
|
|
@@ -74,13 +74,14 @@ declare class ModelerCreatePage {
|
|
|
74
74
|
readonly jobTypeInput: Locator;
|
|
75
75
|
readonly playTab: Locator;
|
|
76
76
|
readonly continueToPlayButton: Locator;
|
|
77
|
-
private
|
|
77
|
+
private deployAndRunDialog;
|
|
78
78
|
private deployDiagramDialog;
|
|
79
79
|
readonly timerEventOption: Locator;
|
|
80
80
|
readonly timerEventSettings: Locator;
|
|
81
81
|
readonly timerType: Locator;
|
|
82
82
|
readonly timerValue: Locator;
|
|
83
83
|
readonly eighthPlacedElement: Locator;
|
|
84
|
+
readonly processIdSecondLocator: Locator;
|
|
84
85
|
constructor(page: Page);
|
|
85
86
|
modelJobWorkerDiagram(processName: string, embedFrom?: boolean): Promise<void>;
|
|
86
87
|
modelCamundaUserTaskDiagram(processName: string, processId?: string, formName?: string): Promise<void>;
|
|
@@ -78,13 +78,14 @@ class ModelerCreatePage {
|
|
|
78
78
|
jobTypeInput;
|
|
79
79
|
playTab;
|
|
80
80
|
continueToPlayButton;
|
|
81
|
-
|
|
81
|
+
deployAndRunDialog;
|
|
82
82
|
deployDiagramDialog;
|
|
83
83
|
timerEventOption;
|
|
84
84
|
timerEventSettings;
|
|
85
85
|
timerType;
|
|
86
86
|
timerValue;
|
|
87
87
|
eighthPlacedElement;
|
|
88
|
+
processIdSecondLocator;
|
|
88
89
|
constructor(page) {
|
|
89
90
|
this.page = page;
|
|
90
91
|
this.generalPanel = page.locator('[data-group-id="group-general"]');
|
|
@@ -102,9 +103,14 @@ class ModelerCreatePage {
|
|
|
102
103
|
.first();
|
|
103
104
|
this.parallelGatewayOption = page.getByText('parallel gateway');
|
|
104
105
|
this.appendEndEventButton = page.getByTitle('Append end event');
|
|
105
|
-
this.
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
this.deployAndRunDialog = page.getByRole('dialog', {
|
|
107
|
+
name: 'Deploy & run diagram',
|
|
108
|
+
});
|
|
109
|
+
this.startInstanceMainButton = page.getByRole('button', {
|
|
110
|
+
name: 'Deploy & run',
|
|
111
|
+
});
|
|
112
|
+
this.startInstanceSubButton = this.deployAndRunDialog
|
|
113
|
+
.getByRole('button', { name: 'Deploy & run' })
|
|
108
114
|
.last();
|
|
109
115
|
this.viewProcessInstanceLink = page.getByRole('link', {
|
|
110
116
|
name: 'View process instance',
|
|
@@ -213,9 +219,6 @@ class ModelerCreatePage {
|
|
|
213
219
|
this.candidateGroupsInput = page.getByRole('textbox', {
|
|
214
220
|
name: 'candidate groups',
|
|
215
221
|
});
|
|
216
|
-
this.startInstanceDialog = page.getByRole('dialog', {
|
|
217
|
-
name: 'Start instance',
|
|
218
|
-
});
|
|
219
222
|
this.deployDiagramDialog = page.getByRole('dialog', {
|
|
220
223
|
name: 'Deploy diagram',
|
|
221
224
|
});
|
|
@@ -229,6 +232,7 @@ class ModelerCreatePage {
|
|
|
229
232
|
this.eighthPlacedElement = page
|
|
230
233
|
.locator('g:nth-child(8) > .djs-element > .djs-hit')
|
|
231
234
|
.first();
|
|
235
|
+
this.processIdSecondLocator = page.getByLabel('Process ID');
|
|
232
236
|
}
|
|
233
237
|
async modelJobWorkerDiagram(processName, embedFrom = false) {
|
|
234
238
|
await (0, test_1.expect)(this.generalPanel).toBeVisible({
|
|
@@ -320,10 +324,20 @@ class ModelerCreatePage {
|
|
|
320
324
|
}
|
|
321
325
|
}
|
|
322
326
|
async clickIdInput() {
|
|
323
|
-
|
|
327
|
+
try {
|
|
328
|
+
await this.idInput.click();
|
|
329
|
+
}
|
|
330
|
+
catch {
|
|
331
|
+
await this.processIdSecondLocator.click();
|
|
332
|
+
}
|
|
324
333
|
}
|
|
325
334
|
async fillIdInput(id) {
|
|
326
|
-
|
|
335
|
+
try {
|
|
336
|
+
await this.idInput.fill(id);
|
|
337
|
+
}
|
|
338
|
+
catch {
|
|
339
|
+
await this.processIdSecondLocator.fill(id);
|
|
340
|
+
}
|
|
327
341
|
}
|
|
328
342
|
async clickPriorityInput() {
|
|
329
343
|
try {
|
|
@@ -356,7 +370,7 @@ class ModelerCreatePage {
|
|
|
356
370
|
.filter({
|
|
357
371
|
hasText: clusterName,
|
|
358
372
|
})
|
|
359
|
-
.getByRole('
|
|
373
|
+
.getByRole('switch')).toBeChecked({ timeout: 30000 });
|
|
360
374
|
//Check healthy status of the selected cluster
|
|
361
375
|
const regex = new RegExp(`${clusterName}.*?HealthydevManage`);
|
|
362
376
|
await (0, test_1.expect)(this.deployDiagramDialog).toHaveText(regex, {
|
|
@@ -386,24 +400,24 @@ class ModelerCreatePage {
|
|
|
386
400
|
timeout: 60000,
|
|
387
401
|
});
|
|
388
402
|
await this.clickStartInstanceMainButton();
|
|
389
|
-
await (0, test_1.expect)(this.
|
|
403
|
+
await (0, test_1.expect)(this.deployAndRunDialog).toBeVisible({
|
|
390
404
|
timeout: 30000,
|
|
391
405
|
});
|
|
392
406
|
//Select the correct cluster if multiple exist
|
|
393
|
-
const cluster = this.
|
|
407
|
+
const cluster = this.deployAndRunDialog.getByText(clusterName);
|
|
394
408
|
await (0, test_1.expect)(cluster).toBeVisible({
|
|
395
409
|
timeout: 30000,
|
|
396
410
|
});
|
|
397
411
|
await cluster.click();
|
|
398
|
-
await (0, test_1.expect)(this.
|
|
412
|
+
await (0, test_1.expect)(this.deployAndRunDialog
|
|
399
413
|
.locator('label')
|
|
400
414
|
.filter({
|
|
401
415
|
hasText: clusterName,
|
|
402
416
|
})
|
|
403
|
-
.getByRole('
|
|
417
|
+
.getByRole('switch')).toBeChecked({ timeout: 30000 });
|
|
404
418
|
//Check healthy status of the selected cluster
|
|
405
419
|
const regex = new RegExp(`${clusterName}.*?HealthydevManage`);
|
|
406
|
-
await (0, test_1.expect)(this.
|
|
420
|
+
await (0, test_1.expect)(this.deployAndRunDialog).toHaveText(regex, {
|
|
407
421
|
timeout: 120000,
|
|
408
422
|
});
|
|
409
423
|
if (variables.length > 0) {
|
|
@@ -428,7 +442,7 @@ class ModelerCreatePage {
|
|
|
428
442
|
}
|
|
429
443
|
}
|
|
430
444
|
if (textToVisible.length > 0) {
|
|
431
|
-
await (0, test_1.expect)(this.
|
|
445
|
+
await (0, test_1.expect)(this.deployAndRunDialog.getByText(textToVisible)).toBeVisible({
|
|
432
446
|
timeout: 30000,
|
|
433
447
|
});
|
|
434
448
|
}
|
|
@@ -13,8 +13,6 @@ import { OperateProcessesPage } from './OperateProcessesPage';
|
|
|
13
13
|
import { OperateProcessInstancePage } from './OperateProcessInstancePage';
|
|
14
14
|
import { ConnectorSettingsPage } from './ConnectorSettingsPage';
|
|
15
15
|
import { LoginPage } from './LoginPage';
|
|
16
|
-
import { ConnectorMarketplacePage } from './ConnectorMarketplacePage';
|
|
17
|
-
import { ConnectorTemplatePage } from './ConnectorTemplatePage';
|
|
18
16
|
export declare function loginWithRetry(page: Page, loginPage: LoginPage, timeout: number, maxRetries?: number): Promise<void>;
|
|
19
17
|
export declare function modelRestConnector(modelerCreatePage: ModelerCreatePage, connectorSettingsPage: ConnectorSettingsPage, processName: string, url: string, auth: string, resultExpression: string, resultVariable?: string, basicAuthCredentials?: {
|
|
20
18
|
username: string;
|
|
@@ -30,4 +28,4 @@ export declare function enableRBA(clusterName: string, homePage: HomePage, clust
|
|
|
30
28
|
export declare function clickInvitationLinkInEmail(page: Page, id: string, mailSlurp: MailSlurp): Promise<void>;
|
|
31
29
|
export declare function assertTestUsesCorrectOrganization(page: Page): Promise<void>;
|
|
32
30
|
export declare function deleteAllUserGroups(homePage: HomePage, organizationPage: ConsoleOrganizationPage, appsPage: AppsPage): Promise<void>;
|
|
33
|
-
export declare function modelAndRunConnectorsTimerEventDiagram(modelerCreatePage: ModelerCreatePage, modelerHomePage: ModelerHomePage, processName: string, page: Page,
|
|
31
|
+
export declare function modelAndRunConnectorsTimerEventDiagram(modelerCreatePage: ModelerCreatePage, modelerHomePage: ModelerHomePage, processName: string, page: Page, clusterName: string): Promise<void>;
|
|
@@ -275,7 +275,7 @@ async function deleteAllUserGroups(homePage, organizationPage, appsPage) {
|
|
|
275
275
|
await organizationPage.deleteAllGroups();
|
|
276
276
|
}
|
|
277
277
|
exports.deleteAllUserGroups = deleteAllUserGroups;
|
|
278
|
-
async function modelAndRunConnectorsTimerEventDiagram(modelerCreatePage, modelerHomePage, processName, page,
|
|
278
|
+
async function modelAndRunConnectorsTimerEventDiagram(modelerCreatePage, modelerHomePage, processName, page, clusterName) {
|
|
279
279
|
await modelerHomePage.clickCrossComponentProjectFolder();
|
|
280
280
|
await modelerHomePage.clickDiagramTypeDropdown();
|
|
281
281
|
await modelerHomePage.clickUploadFilesButton();
|
|
@@ -284,26 +284,10 @@ async function modelAndRunConnectorsTimerEventDiagram(modelerCreatePage, modeler
|
|
|
284
284
|
await modelerCreatePage.clickDiagramBreadcrumb();
|
|
285
285
|
await modelerCreatePage.clickEditDiagramNameButton();
|
|
286
286
|
await modelerCreatePage.enterDiagramName(processName);
|
|
287
|
-
await modelerCreatePage.
|
|
288
|
-
await modelerCreatePage.
|
|
289
|
-
await
|
|
290
|
-
|
|
291
|
-
});
|
|
292
|
-
await modelerCreatePage.clickMarketPlaceButton();
|
|
293
|
-
await connectorMarketplacePage.clickSearchForConnectorTextbox();
|
|
294
|
-
await connectorMarketplacePage.fillSearchForConnectorTextbox('REST Connector');
|
|
295
|
-
await (0, sleep_1.sleep)(10000);
|
|
296
|
-
await (0, test_1.expect)(page.getByText('REST ConnectorBy CamundaConnect, interact, and synchronize processes')).toBeVisible({
|
|
297
|
-
timeout: 60000,
|
|
298
|
-
});
|
|
299
|
-
await connectorMarketplacePage.downloadConnectorToProject();
|
|
300
|
-
await modelerHomePage.clickProjectBreadcrumb();
|
|
301
|
-
await modelerHomePage.clickProcessDiagram('REST Outbound Connector');
|
|
302
|
-
await connectorTemplatePage.publishConnector();
|
|
303
|
-
await modelerHomePage.clickProjectBreadcrumb();
|
|
304
|
-
await modelerHomePage.clickProcessDiagram(processName);
|
|
305
|
-
await (0, sleep_1.sleep)(5000);
|
|
306
|
-
await page.reload();
|
|
287
|
+
await modelerCreatePage.clickStartEventElement();
|
|
288
|
+
await modelerCreatePage.clickGeneralPropertiesPanel();
|
|
289
|
+
await modelerCreatePage.clickIdInput();
|
|
290
|
+
await modelerCreatePage.fillIdInput(processName);
|
|
307
291
|
await (0, sleep_1.sleep)(5000);
|
|
308
292
|
await modelerCreatePage.runProcessInstance(clusterName);
|
|
309
293
|
}
|
|
@@ -394,7 +394,8 @@ class ConsoleOrganizationPage {
|
|
|
394
394
|
}
|
|
395
395
|
async fillAssignMembers(names) {
|
|
396
396
|
for (const name of names) {
|
|
397
|
-
await this.assignMembersSearchbox.click({ timeout:
|
|
397
|
+
await this.assignMembersSearchbox.click({ timeout: 90000 });
|
|
398
|
+
await (0, sleep_1.sleep)(1000);
|
|
398
399
|
await this.assignMembersSearchbox.fill(name);
|
|
399
400
|
await this.assignMembersSearchResult
|
|
400
401
|
.filter({ hasText: name })
|
|
@@ -37,7 +37,7 @@ declare class IdpCreatePage {
|
|
|
37
37
|
clickSaveAsTestCaseButton(): Promise<void>;
|
|
38
38
|
clickValidateExtractionTab(): Promise<void>;
|
|
39
39
|
clickExpandAllRowsButton(): Promise<void>;
|
|
40
|
-
assertPassTestCaseResultsRow(): Promise<void>;
|
|
40
|
+
assertPassTestCaseResultsRow(retries?: number): Promise<void>;
|
|
41
41
|
clickPublishButton(): Promise<void>;
|
|
42
42
|
clickPublishToProjecOption(): Promise<void>;
|
|
43
43
|
fillVersionFieldName(name: string): Promise<void>;
|
|
@@ -130,10 +130,22 @@ class IdpCreatePage {
|
|
|
130
130
|
await this.expandAllRowsButton.click({ timeout: 60000 });
|
|
131
131
|
await (0, sleep_1.sleep)(1000);
|
|
132
132
|
}
|
|
133
|
-
async assertPassTestCaseResultsRow() {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
133
|
+
async assertPassTestCaseResultsRow(retries = 3) {
|
|
134
|
+
for (let i = 0; i < retries; i++) {
|
|
135
|
+
try {
|
|
136
|
+
await (0, test_1.expect)(this.passTestCaseResultsRows).toBeVisible({
|
|
137
|
+
timeout: 60000,
|
|
138
|
+
});
|
|
139
|
+
return; // Click succeeded, exit the loop
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
console.error(`Attempt ${i + 1} to assert pass test case failed: ${error}`);
|
|
143
|
+
await this.page.reload();
|
|
144
|
+
await this.clickValidateExtractionTab();
|
|
145
|
+
await this.clickExpandAllRowsButton();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
throw new Error(`Failed to assert pass test case after ${retries} retries`);
|
|
137
149
|
}
|
|
138
150
|
async clickPublishButton() {
|
|
139
151
|
await this.publishButton.click({ timeout: 60000 });
|
|
@@ -2,7 +2,6 @@ import { Page, Locator } from '@playwright/test';
|
|
|
2
2
|
declare class ModelerCreatePage {
|
|
3
3
|
private page;
|
|
4
4
|
readonly generalPanel: Locator;
|
|
5
|
-
private startInstanceDialog;
|
|
6
5
|
private deployDiagramDialog;
|
|
7
6
|
readonly processIdInput: Locator;
|
|
8
7
|
readonly startEventElement: Locator;
|
|
@@ -10,8 +9,6 @@ declare class ModelerCreatePage {
|
|
|
10
9
|
readonly changeTypeButton: Locator;
|
|
11
10
|
readonly userTaskOption: Locator;
|
|
12
11
|
readonly appendEndEventButton: Locator;
|
|
13
|
-
readonly startInstanceMainButton: Locator;
|
|
14
|
-
readonly startInstanceSubButton: Locator;
|
|
15
12
|
readonly viewProcessInstanceLink: Locator;
|
|
16
13
|
readonly nameInput: Locator;
|
|
17
14
|
readonly diagramBreadcrumb: Locator;
|
|
@@ -89,6 +86,9 @@ declare class ModelerCreatePage {
|
|
|
89
86
|
readonly timerType: Locator;
|
|
90
87
|
readonly timerValue: Locator;
|
|
91
88
|
readonly eighthPlacedElement: Locator;
|
|
89
|
+
readonly deployAndRunMainButton: Locator;
|
|
90
|
+
readonly deployAndRunSubButton: Locator;
|
|
91
|
+
readonly dialog: Locator;
|
|
92
92
|
constructor(page: Page);
|
|
93
93
|
modelJobWorkerDiagram(processName: string, embedFrom?: boolean): Promise<void>;
|
|
94
94
|
modelCamundaUserTaskDiagram(processName: string, processId?: string, formName?: string): Promise<void>;
|
|
@@ -112,12 +112,12 @@ declare class ModelerCreatePage {
|
|
|
112
112
|
clickAppendEndEventButton(parentElement?: string): Promise<void>;
|
|
113
113
|
clickCloseButton(): Promise<void>;
|
|
114
114
|
deployDiagram(clusterName: string, rbaEnabled: boolean): Promise<void>;
|
|
115
|
-
|
|
115
|
+
clickDeployAndRunMainButton(): Promise<void>;
|
|
116
|
+
clickDeployAndRunSubButton(): Promise<void>;
|
|
116
117
|
runProcessInstance(clusterName: string, variables?: string, formVariables?: {
|
|
117
118
|
[key: string]: string;
|
|
118
119
|
}, textToVisible?: string): Promise<void>;
|
|
119
120
|
retryRunProcess(maxRetries?: number): Promise<void>;
|
|
120
|
-
clickStartInstanceSubButton(): Promise<void>;
|
|
121
121
|
clickViewProcessInstanceLink(): Promise<void>;
|
|
122
122
|
clickNameInput(): Promise<void>;
|
|
123
123
|
fillNamedInput(name: string): Promise<void>;
|
|
@@ -6,7 +6,6 @@ const sleep_1 = require("../../utils/sleep");
|
|
|
6
6
|
class ModelerCreatePage {
|
|
7
7
|
page;
|
|
8
8
|
generalPanel;
|
|
9
|
-
startInstanceDialog;
|
|
10
9
|
deployDiagramDialog;
|
|
11
10
|
processIdInput;
|
|
12
11
|
startEventElement;
|
|
@@ -14,8 +13,6 @@ class ModelerCreatePage {
|
|
|
14
13
|
changeTypeButton;
|
|
15
14
|
userTaskOption;
|
|
16
15
|
appendEndEventButton;
|
|
17
|
-
startInstanceMainButton;
|
|
18
|
-
startInstanceSubButton;
|
|
19
16
|
viewProcessInstanceLink;
|
|
20
17
|
nameInput;
|
|
21
18
|
diagramBreadcrumb;
|
|
@@ -93,6 +90,9 @@ class ModelerCreatePage {
|
|
|
93
90
|
timerType;
|
|
94
91
|
timerValue;
|
|
95
92
|
eighthPlacedElement;
|
|
93
|
+
deployAndRunMainButton;
|
|
94
|
+
deployAndRunSubButton;
|
|
95
|
+
dialog;
|
|
96
96
|
constructor(page) {
|
|
97
97
|
this.page = page;
|
|
98
98
|
this.generalPanel = page.locator('[data-group-id="group-general"]');
|
|
@@ -111,16 +111,19 @@ class ModelerCreatePage {
|
|
|
111
111
|
.locator('span')
|
|
112
112
|
.first();
|
|
113
113
|
this.appendEndEventButton = page.getByTitle('Append end event');
|
|
114
|
-
this.
|
|
115
|
-
this.
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
this.dialog = page.getByRole('dialog');
|
|
115
|
+
this.deployAndRunMainButton = page.getByRole('button', {
|
|
116
|
+
name: 'Deploy & run',
|
|
117
|
+
exact: true,
|
|
118
|
+
});
|
|
119
|
+
this.deployAndRunSubButton = this.dialog.getByRole('button', {
|
|
120
|
+
name: 'Deploy & run',
|
|
121
|
+
exact: true,
|
|
122
|
+
});
|
|
118
123
|
this.viewProcessInstanceLink = page.getByRole('link', {
|
|
119
124
|
name: 'View process instance',
|
|
120
125
|
});
|
|
121
|
-
this.viewProcessLink = page.
|
|
122
|
-
name: 'View process in Operate',
|
|
123
|
-
});
|
|
126
|
+
this.viewProcessLink = page.getByText('view process in Operate');
|
|
124
127
|
this.nameInput = page.getByLabel('Name', { exact: true });
|
|
125
128
|
this.diagramBreadcrumb = page.locator('[data-test="breadcrumb-diagram"]');
|
|
126
129
|
this.editDiagramNameButton = page.getByText('Edit name');
|
|
@@ -187,9 +190,6 @@ class ModelerCreatePage {
|
|
|
187
190
|
this.rbaEnabledDeployedDialog = page.getByRole('dialog', {
|
|
188
191
|
name: 'Process successfully deployed.',
|
|
189
192
|
});
|
|
190
|
-
this.startInstanceDialog = page.getByRole('dialog', {
|
|
191
|
-
name: 'Start instance',
|
|
192
|
-
});
|
|
193
193
|
this.deployDiagramDialog = page.getByRole('dialog', {
|
|
194
194
|
name: 'Deploy diagram',
|
|
195
195
|
});
|
|
@@ -398,7 +398,7 @@ class ModelerCreatePage {
|
|
|
398
398
|
.filter({
|
|
399
399
|
hasText: clusterName,
|
|
400
400
|
})
|
|
401
|
-
.getByRole('
|
|
401
|
+
.getByRole('switch')).toBeChecked({ timeout: 30000 });
|
|
402
402
|
//Check healthy status of the selected cluster
|
|
403
403
|
const regex = new RegExp(`${clusterName}.*?HealthydevManage`);
|
|
404
404
|
await (0, test_1.expect)(this.deployDiagramDialog).toHaveText(regex, {
|
|
@@ -423,32 +423,32 @@ class ModelerCreatePage {
|
|
|
423
423
|
});
|
|
424
424
|
}
|
|
425
425
|
}
|
|
426
|
-
async
|
|
427
|
-
await this.
|
|
426
|
+
async clickDeployAndRunMainButton() {
|
|
427
|
+
await this.deployAndRunMainButton.click({ timeout: 30000 });
|
|
428
|
+
}
|
|
429
|
+
async clickDeployAndRunSubButton() {
|
|
430
|
+
await this.deployAndRunSubButton.click({ timeout: 30000 });
|
|
428
431
|
}
|
|
429
432
|
async runProcessInstance(clusterName, variables = '', formVariables = {}, textToVisible = '') {
|
|
430
|
-
await
|
|
431
|
-
|
|
432
|
-
});
|
|
433
|
-
await this.clickStartInstanceMainButton();
|
|
434
|
-
await (0, test_1.expect)(this.startInstanceDialog).toBeVisible({
|
|
433
|
+
await this.clickDeployAndRunMainButton();
|
|
434
|
+
await (0, test_1.expect)(this.dialog).toBeVisible({
|
|
435
435
|
timeout: 30000,
|
|
436
436
|
});
|
|
437
437
|
//Select the correct cluster if multiple exist
|
|
438
|
-
const cluster = this.
|
|
438
|
+
const cluster = this.dialog.getByText(clusterName);
|
|
439
439
|
await (0, test_1.expect)(cluster).toBeVisible({
|
|
440
440
|
timeout: 30000,
|
|
441
441
|
});
|
|
442
442
|
await cluster.click();
|
|
443
|
-
await (0, test_1.expect)(this.
|
|
443
|
+
await (0, test_1.expect)(this.dialog
|
|
444
444
|
.locator('label')
|
|
445
445
|
.filter({
|
|
446
446
|
hasText: clusterName,
|
|
447
447
|
})
|
|
448
|
-
.getByRole('
|
|
448
|
+
.getByRole('switch')).toBeChecked({ timeout: 30000 });
|
|
449
449
|
//Check healthy status of the selected cluster
|
|
450
450
|
const regex = new RegExp(`${clusterName}.*?HealthydevManage`);
|
|
451
|
-
await (0, test_1.expect)(this.
|
|
451
|
+
await (0, test_1.expect)(this.dialog).toHaveText(regex, {
|
|
452
452
|
timeout: 120000,
|
|
453
453
|
});
|
|
454
454
|
if (variables.length > 0) {
|
|
@@ -473,7 +473,7 @@ class ModelerCreatePage {
|
|
|
473
473
|
}
|
|
474
474
|
}
|
|
475
475
|
if (textToVisible.length > 0) {
|
|
476
|
-
await (0, test_1.expect)(this.
|
|
476
|
+
await (0, test_1.expect)(this.dialog.getByText(textToVisible)).toBeVisible({
|
|
477
477
|
timeout: 30000,
|
|
478
478
|
});
|
|
479
479
|
}
|
|
@@ -482,7 +482,7 @@ class ModelerCreatePage {
|
|
|
482
482
|
async retryRunProcess(maxRetries = 3) {
|
|
483
483
|
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
484
484
|
try {
|
|
485
|
-
await this.
|
|
485
|
+
await this.clickDeployAndRunSubButton();
|
|
486
486
|
await (0, test_1.expect)(this.viewProcessInstanceLink).toBeVisible({
|
|
487
487
|
timeout: 30000,
|
|
488
488
|
});
|
|
@@ -499,9 +499,6 @@ class ModelerCreatePage {
|
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
501
|
}
|
|
502
|
-
async clickStartInstanceSubButton() {
|
|
503
|
-
await this.startInstanceSubButton.click({ timeout: 90000 });
|
|
504
|
-
}
|
|
505
502
|
async clickViewProcessInstanceLink() {
|
|
506
503
|
await this.viewProcessInstanceLink.click({ timeout: 180000 });
|
|
507
504
|
}
|
|
@@ -20,10 +20,12 @@ declare class ModelerHomePage {
|
|
|
20
20
|
readonly homeBreadcrumb: Locator;
|
|
21
21
|
readonly rows: Locator;
|
|
22
22
|
readonly uploadFilesButton: Locator;
|
|
23
|
+
readonly dialog: Locator;
|
|
23
24
|
constructor(page: Page);
|
|
24
25
|
clickCreateNewProjectButton(): Promise<void>;
|
|
25
26
|
enterNewProjectName(name: string): Promise<void>;
|
|
26
27
|
enterIdpApplicationName(name: string): Promise<void>;
|
|
28
|
+
selectCluster(clusterName: string): Promise<void>;
|
|
27
29
|
createForm(formName: string): Promise<void>;
|
|
28
30
|
clickCreateIdpApplicationButton(): Promise<void>;
|
|
29
31
|
clickChooseBpmnTemplateButton(): Promise<void>;
|
|
@@ -24,6 +24,7 @@ class ModelerHomePage {
|
|
|
24
24
|
homeBreadcrumb;
|
|
25
25
|
rows;
|
|
26
26
|
uploadFilesButton;
|
|
27
|
+
dialog;
|
|
27
28
|
constructor(page) {
|
|
28
29
|
this.page = page;
|
|
29
30
|
this.modelerPageBanner = page.getByRole('banner', {
|
|
@@ -61,6 +62,7 @@ class ModelerHomePage {
|
|
|
61
62
|
});
|
|
62
63
|
this.rows = page.getByRole('row');
|
|
63
64
|
this.uploadFilesButton = page.getByRole('menuitem', { name: 'Upload files' });
|
|
65
|
+
this.dialog = page.getByRole('dialog');
|
|
64
66
|
}
|
|
65
67
|
async clickCreateNewProjectButton() {
|
|
66
68
|
await this.createNewProjectButton.click({ timeout: 90000 });
|
|
@@ -74,6 +76,25 @@ class ModelerHomePage {
|
|
|
74
76
|
await this.idpApplicationNameInput.click({ timeout: 60000 });
|
|
75
77
|
await this.idpApplicationNameInput.fill(name);
|
|
76
78
|
}
|
|
79
|
+
async selectCluster(clusterName) {
|
|
80
|
+
//Select the correct cluster if multiple exist
|
|
81
|
+
const cluster = this.dialog.getByText(clusterName);
|
|
82
|
+
await (0, test_1.expect)(cluster).toBeVisible({
|
|
83
|
+
timeout: 30000,
|
|
84
|
+
});
|
|
85
|
+
await cluster.click();
|
|
86
|
+
await (0, test_1.expect)(this.dialog
|
|
87
|
+
.locator('label')
|
|
88
|
+
.filter({
|
|
89
|
+
hasText: clusterName,
|
|
90
|
+
})
|
|
91
|
+
.getByRole('checkbox')).toBeChecked({ timeout: 30000 });
|
|
92
|
+
//Check healthy status of the selected cluster
|
|
93
|
+
const regex = new RegExp(`${clusterName}.*?HealthydevManage`);
|
|
94
|
+
await (0, test_1.expect)(this.dialog).toHaveText(regex, {
|
|
95
|
+
timeout: 120000,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
77
98
|
async createForm(formName) {
|
|
78
99
|
await this.clickDiagramTypeDropdown();
|
|
79
100
|
await this.clickFormOption();
|
|
@@ -134,8 +155,11 @@ class ModelerHomePage {
|
|
|
134
155
|
}
|
|
135
156
|
}
|
|
136
157
|
async clickOpenOrganizationsButton() {
|
|
137
|
-
await
|
|
138
|
-
await this.openOrganizationsButton.
|
|
158
|
+
await (0, sleep_1.sleep)(5000);
|
|
159
|
+
await (0, test_1.expect)(this.openOrganizationsButton).toBeVisible({
|
|
160
|
+
timeout: 10000,
|
|
161
|
+
});
|
|
162
|
+
await this.openOrganizationsButton.click({ timeout: 30000 });
|
|
139
163
|
}
|
|
140
164
|
async clickCrossComponentProjectFolder() {
|
|
141
165
|
let attempts = 0;
|
|
@@ -4,8 +4,8 @@ declare class ConsoleOrganizationPage {
|
|
|
4
4
|
readonly usersTab: Locator;
|
|
5
5
|
readonly optionsButton: Locator;
|
|
6
6
|
readonly editUserMenuItem: Locator;
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
7
|
+
readonly modelerCheckbox: Locator;
|
|
8
|
+
readonly adminCheckbox: Locator;
|
|
9
9
|
readonly analystCheckbox: Locator;
|
|
10
10
|
readonly confirmButton: Locator;
|
|
11
11
|
readonly settingsTab: Locator;
|
|
@@ -55,13 +55,17 @@ declare class ConsoleOrganizationPage {
|
|
|
55
55
|
checkReadPermissionCheckbox(): Promise<void>;
|
|
56
56
|
checkStartInstancePermissionCheckbox(): Promise<void>;
|
|
57
57
|
clickUsersTab(): Promise<void>;
|
|
58
|
+
selectAnalystRole(username?: string): Promise<void>;
|
|
59
|
+
selectModelerRole(username?: string): Promise<void>;
|
|
60
|
+
selectAdminRole(username?: string): Promise<void>;
|
|
58
61
|
clickOptionsButton(): Promise<void>;
|
|
59
62
|
clickEditUserMenuItem(): Promise<void>;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
uncheckDeveloperCheckbox(): Promise<void>;
|
|
63
|
+
checkModelerCheckbox(): Promise<void>;
|
|
64
|
+
checkAdminCheckbox(): Promise<void>;
|
|
63
65
|
checkAnalystCheckbox(): Promise<void>;
|
|
64
66
|
uncheckAnalystCheckbox(): Promise<void>;
|
|
67
|
+
uncheckModelerCheckbox(): Promise<void>;
|
|
68
|
+
uncheckAdminCheckbox(): Promise<void>;
|
|
65
69
|
clickConfirmButton(): Promise<void>;
|
|
66
70
|
clickSettingsTab(): Promise<void>;
|
|
67
71
|
clickOptInButton(): Promise<void>;
|