@camunda/e2e-test-suite 0.0.713 → 0.0.715
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/.github/c8_versions.json +0 -3
- package/README.md +0 -6
- package/dist/pages/8.8/ClusterDetailsPage.js +5 -2
- package/dist/pages/8.8/ModelerCreatePage.js +10 -14
- package/dist/utils/clusterVersions.d.ts +0 -1
- package/dist/utils/clusterVersions.js +0 -1
- package/package.json +1 -1
- package/dist/fixtures/8.6.d.ts +0 -63
- package/dist/fixtures/8.6.js +0 -162
- package/dist/fixtures/SM-8.6.d.ts +0 -63
- package/dist/fixtures/SM-8.6.js +0 -149
- package/dist/fixtures/c8Run-8.6.d.ts +0 -20
- package/dist/fixtures/c8Run-8.6.js +0 -56
- package/dist/pages/8.6/AppsPage.d.ts +0 -33
- package/dist/pages/8.6/AppsPage.js +0 -337
- package/dist/pages/8.6/ClientCredentialsDetailsPage.d.ts +0 -12
- package/dist/pages/8.6/ClientCredentialsDetailsPage.js +0 -36
- package/dist/pages/8.6/ClusterDetailsPage.d.ts +0 -75
- package/dist/pages/8.6/ClusterDetailsPage.js +0 -443
- package/dist/pages/8.6/ClusterPage.d.ts +0 -59
- package/dist/pages/8.6/ClusterPage.js +0 -320
- package/dist/pages/8.6/ClusterSecretsPage.d.ts +0 -28
- package/dist/pages/8.6/ClusterSecretsPage.js +0 -134
- package/dist/pages/8.6/ConnectorMarketplacePage.d.ts +0 -19
- package/dist/pages/8.6/ConnectorMarketplacePage.js +0 -60
- package/dist/pages/8.6/ConnectorSettingsPage.d.ts +0 -38
- package/dist/pages/8.6/ConnectorSettingsPage.js +0 -133
- package/dist/pages/8.6/ConnectorTemplatePage.d.ts +0 -11
- package/dist/pages/8.6/ConnectorTemplatePage.js +0 -34
- package/dist/pages/8.6/ConsoleOrganizationPage.d.ts +0 -87
- package/dist/pages/8.6/ConsoleOrganizationPage.js +0 -495
- package/dist/pages/8.6/FormJsPage.d.ts +0 -30
- package/dist/pages/8.6/FormJsPage.js +0 -112
- package/dist/pages/8.6/HomePage.d.ts +0 -27
- package/dist/pages/8.6/HomePage.js +0 -101
- package/dist/pages/8.6/LoginPage.d.ts +0 -30
- package/dist/pages/8.6/LoginPage.js +0 -85
- package/dist/pages/8.6/ModelerCreatePage.d.ts +0 -211
- package/dist/pages/8.6/ModelerCreatePage.js +0 -1125
- package/dist/pages/8.6/ModelerHomePage.d.ts +0 -48
- package/dist/pages/8.6/ModelerHomePage.js +0 -213
- package/dist/pages/8.6/ModelerUserInvitePage.d.ts +0 -28
- package/dist/pages/8.6/ModelerUserInvitePage.js +0 -106
- package/dist/pages/8.6/OperateHomePage.d.ts +0 -21
- package/dist/pages/8.6/OperateHomePage.js +0 -57
- package/dist/pages/8.6/OperateProcessInstancePage.d.ts +0 -17
- package/dist/pages/8.6/OperateProcessInstancePage.js +0 -58
- package/dist/pages/8.6/OperateProcessesPage.d.ts +0 -21
- package/dist/pages/8.6/OperateProcessesPage.js +0 -77
- package/dist/pages/8.6/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/8.6/OptimizeCollectionsPage.js +0 -44
- package/dist/pages/8.6/OptimizeDashboardPage.d.ts +0 -11
- package/dist/pages/8.6/OptimizeDashboardPage.js +0 -65
- package/dist/pages/8.6/OptimizeHomePage.d.ts +0 -12
- package/dist/pages/8.6/OptimizeHomePage.js +0 -32
- package/dist/pages/8.6/OptimizeReportPage.d.ts +0 -48
- package/dist/pages/8.6/OptimizeReportPage.js +0 -163
- package/dist/pages/8.6/PlayPage.d.ts +0 -14
- package/dist/pages/8.6/PlayPage.js +0 -66
- package/dist/pages/8.6/SettingsPage.d.ts +0 -10
- package/dist/pages/8.6/SettingsPage.js +0 -43
- package/dist/pages/8.6/SignUpPage.d.ts +0 -43
- package/dist/pages/8.6/SignUpPage.js +0 -136
- package/dist/pages/8.6/TaskDetailsPage.d.ts +0 -66
- package/dist/pages/8.6/TaskDetailsPage.js +0 -214
- package/dist/pages/8.6/TaskPanelPage.d.ts +0 -18
- package/dist/pages/8.6/TaskPanelPage.js +0 -54
- package/dist/pages/8.6/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/8.6/TaskProcessesPage.js +0 -35
- package/dist/pages/8.6/UtilitiesPage.d.ts +0 -38
- package/dist/pages/8.6/UtilitiesPage.js +0 -328
- package/dist/pages/SM-8.6/ConnectorMarketplacePage.d.ts +0 -16
- package/dist/pages/SM-8.6/ConnectorMarketplacePage.js +0 -48
- package/dist/pages/SM-8.6/ConnectorSettingsPage.d.ts +0 -28
- package/dist/pages/SM-8.6/ConnectorSettingsPage.js +0 -82
- package/dist/pages/SM-8.6/ConnectorTemplatePage.d.ts +0 -11
- package/dist/pages/SM-8.6/ConnectorTemplatePage.js +0 -34
- package/dist/pages/SM-8.6/ConsoleHomePage.d.ts +0 -9
- package/dist/pages/SM-8.6/ConsoleHomePage.js +0 -22
- package/dist/pages/SM-8.6/ConsoleOrganizationPage.d.ts +0 -22
- package/dist/pages/SM-8.6/ConsoleOrganizationPage.js +0 -68
- package/dist/pages/SM-8.6/FormJsPage.d.ts +0 -13
- package/dist/pages/SM-8.6/FormJsPage.js +0 -30
- package/dist/pages/SM-8.6/HomePage.d.ts +0 -20
- package/dist/pages/SM-8.6/HomePage.js +0 -49
- package/dist/pages/SM-8.6/IdentityPage.d.ts +0 -67
- package/dist/pages/SM-8.6/IdentityPage.js +0 -266
- package/dist/pages/SM-8.6/IdentityTenantPage.d.ts +0 -50
- package/dist/pages/SM-8.6/IdentityTenantPage.js +0 -196
- package/dist/pages/SM-8.6/IdentityUsersPage.d.ts +0 -90
- package/dist/pages/SM-8.6/IdentityUsersPage.js +0 -505
- package/dist/pages/SM-8.6/KeycloakAdminPage.d.ts +0 -15
- package/dist/pages/SM-8.6/KeycloakAdminPage.js +0 -56
- package/dist/pages/SM-8.6/KeycloakLoginPage.d.ts +0 -11
- package/dist/pages/SM-8.6/KeycloakLoginPage.js +0 -25
- package/dist/pages/SM-8.6/KeycloakUtils.d.ts +0 -15
- package/dist/pages/SM-8.6/KeycloakUtils.js +0 -58
- package/dist/pages/SM-8.6/LoginPage.d.ts +0 -22
- package/dist/pages/SM-8.6/LoginPage.js +0 -123
- package/dist/pages/SM-8.6/ModelerCreatePage.d.ts +0 -167
- package/dist/pages/SM-8.6/ModelerCreatePage.js +0 -852
- package/dist/pages/SM-8.6/ModelerHomePage.d.ts +0 -41
- package/dist/pages/SM-8.6/ModelerHomePage.js +0 -150
- package/dist/pages/SM-8.6/NavigationPage.d.ts +0 -42
- package/dist/pages/SM-8.6/NavigationPage.js +0 -119
- package/dist/pages/SM-8.6/OperateHomePage.d.ts +0 -23
- package/dist/pages/SM-8.6/OperateHomePage.js +0 -65
- package/dist/pages/SM-8.6/OperateProcessInstancePage.d.ts +0 -22
- package/dist/pages/SM-8.6/OperateProcessInstancePage.js +0 -139
- package/dist/pages/SM-8.6/OperateProcessesPage.d.ts +0 -33
- package/dist/pages/SM-8.6/OperateProcessesPage.js +0 -166
- package/dist/pages/SM-8.6/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/SM-8.6/OptimizeCollectionsPage.js +0 -44
- package/dist/pages/SM-8.6/OptimizeDashboardPage.d.ts +0 -14
- package/dist/pages/SM-8.6/OptimizeDashboardPage.js +0 -56
- package/dist/pages/SM-8.6/OptimizeHomePage.d.ts +0 -19
- package/dist/pages/SM-8.6/OptimizeHomePage.js +0 -62
- package/dist/pages/SM-8.6/OptimizeReportPage.d.ts +0 -50
- package/dist/pages/SM-8.6/OptimizeReportPage.js +0 -162
- package/dist/pages/SM-8.6/PlayPage.d.ts +0 -19
- package/dist/pages/SM-8.6/PlayPage.js +0 -103
- package/dist/pages/SM-8.6/SettingsPage.d.ts +0 -10
- package/dist/pages/SM-8.6/SettingsPage.js +0 -20
- package/dist/pages/SM-8.6/TaskDetailsPage.d.ts +0 -64
- package/dist/pages/SM-8.6/TaskDetailsPage.js +0 -240
- package/dist/pages/SM-8.6/TaskPanelPage.d.ts +0 -22
- package/dist/pages/SM-8.6/TaskPanelPage.js +0 -68
- package/dist/pages/SM-8.6/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/SM-8.6/TaskProcessesPage.js +0 -31
- package/dist/pages/SM-8.6/UtlitiesPage.d.ts +0 -21
- package/dist/pages/SM-8.6/UtlitiesPage.js +0 -207
- package/dist/pages/SM-8.6/optimizeReportUtils.d.ts +0 -6
- package/dist/pages/SM-8.6/optimizeReportUtils.js +0 -42
- package/dist/pages/c8Run-8.6/OperateHomePage.d.ts +0 -20
- package/dist/pages/c8Run-8.6/OperateHomePage.js +0 -52
- package/dist/pages/c8Run-8.6/OperateLoginPage.d.ts +0 -14
- package/dist/pages/c8Run-8.6/OperateLoginPage.js +0 -37
- package/dist/pages/c8Run-8.6/OperateProcessInstancePage.d.ts +0 -17
- package/dist/pages/c8Run-8.6/OperateProcessInstancePage.js +0 -76
- package/dist/pages/c8Run-8.6/OperateProcessesPage.d.ts +0 -20
- package/dist/pages/c8Run-8.6/OperateProcessesPage.js +0 -84
- package/dist/pages/c8Run-8.6/TaskDetailsPage.d.ts +0 -65
- package/dist/pages/c8Run-8.6/TaskDetailsPage.js +0 -219
- package/dist/pages/c8Run-8.6/TaskListLoginPage.d.ts +0 -14
- package/dist/pages/c8Run-8.6/TaskListLoginPage.js +0 -37
- package/dist/pages/c8Run-8.6/TaskPanelPage.d.ts +0 -23
- package/dist/pages/c8Run-8.6/TaskPanelPage.js +0 -76
- package/dist/pages/c8Run-8.6/UtilitiesPage.d.ts +0 -6
- package/dist/pages/c8Run-8.6/UtilitiesPage.js +0 -45
- package/dist/tests/8.6/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/connectors-user-flows.spec.js +0 -435
- package/dist/tests/8.6/console-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/console-user-flows.spec.js +0 -193
- package/dist/tests/8.6/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/hto-user-flows.spec.js +0 -365
- package/dist/tests/8.6/login.spec.d.ts +0 -1
- package/dist/tests/8.6/login.spec.js +0 -27
- package/dist/tests/8.6/navigation.spec.d.ts +0 -1
- package/dist/tests/8.6/navigation.spec.js +0 -57
- package/dist/tests/8.6/operate-access-flow.spec.d.ts +0 -1
- package/dist/tests/8.6/operate-access-flow.spec.js +0 -57
- package/dist/tests/8.6/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/optimize-user-flows.spec.js +0 -231
- package/dist/tests/8.6/play.spec.d.ts +0 -1
- package/dist/tests/8.6/play.spec.js +0 -94
- package/dist/tests/8.6/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/rba-enabled-user-flows.spec.js +0 -288
- package/dist/tests/8.6/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/8.6/smoke-tests.spec.js +0 -188
- package/dist/tests/8.6/test-setup.spec.d.ts +0 -1
- package/dist/tests/8.6/test-setup.spec.js +0 -68
- package/dist/tests/8.6/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/web-modeler-user-flows.spec.js +0 -692
- package/dist/tests/SM-8.6/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/connectors-user-flows.spec.js +0 -247
- package/dist/tests/SM-8.6/console-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/console-user-flows.spec.js +0 -55
- package/dist/tests/SM-8.6/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/hto-user-flows.spec.js +0 -393
- package/dist/tests/SM-8.6/license-key-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/license-key-user-flows.spec.js +0 -462
- package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.js +0 -500
- package/dist/tests/SM-8.6/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/optimize-user-flows.spec.js +0 -186
- package/dist/tests/SM-8.6/play.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/play.spec.js +0 -87
- package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.js +0 -242
- package/dist/tests/SM-8.6/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/smoke-tests.spec.js +0 -158
- package/dist/tests/SM-8.6/test-setup.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/test-setup.spec.js +0 -134
- package/dist/tests/SM-8.6/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/web-modeler-user-flows.spec.js +0 -126
- package/dist/tests/c8Run-8.6/api-tests.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/api-tests.spec.js +0 -67
- package/dist/tests/c8Run-8.6/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/connectors-user-flows.spec.js +0 -119
- package/dist/tests/c8Run-8.6/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/hto-user-flows.spec.js +0 -199
- package/dist/tests/c8Run-8.6/login.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/login.spec.js +0 -22
|
@@ -1,495 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConsoleOrganizationPage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
const sleep_1 = require("../../utils/sleep");
|
|
6
|
-
const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
|
|
7
|
-
class ConsoleOrganizationPage {
|
|
8
|
-
page;
|
|
9
|
-
usersTab;
|
|
10
|
-
optionsButton;
|
|
11
|
-
editUserMenuItem;
|
|
12
|
-
operationsEngineerCheckbox;
|
|
13
|
-
developerCheckbox;
|
|
14
|
-
analystCheckbox;
|
|
15
|
-
confirmButton;
|
|
16
|
-
settingsTab;
|
|
17
|
-
optInButton;
|
|
18
|
-
optInCheckbox;
|
|
19
|
-
optInAICheckbox;
|
|
20
|
-
newContextPadButton;
|
|
21
|
-
newContextPadButtonText;
|
|
22
|
-
mainUser;
|
|
23
|
-
authorizedResources;
|
|
24
|
-
noAuthorizedResourceMessage;
|
|
25
|
-
createResourceAuthorizationButton;
|
|
26
|
-
createResourceAuthorizationDialog;
|
|
27
|
-
nextButton;
|
|
28
|
-
createButton;
|
|
29
|
-
idComboBox;
|
|
30
|
-
readPermissionCheckbox;
|
|
31
|
-
startProcessIPermissionCheckbox;
|
|
32
|
-
dialog;
|
|
33
|
-
rows;
|
|
34
|
-
deleteAuthorisedResourceButton;
|
|
35
|
-
deleteAuthorisedResourceSubButton;
|
|
36
|
-
noGroupsHeading;
|
|
37
|
-
createFirstGroupButton;
|
|
38
|
-
createGroupDialoge;
|
|
39
|
-
assignMembersButton;
|
|
40
|
-
assignMembersSubButton;
|
|
41
|
-
assignMembersSearchbox;
|
|
42
|
-
assignMembersSearchResult;
|
|
43
|
-
organizationManagementLink;
|
|
44
|
-
deleteButton;
|
|
45
|
-
deleteSubButton;
|
|
46
|
-
createGroupButton;
|
|
47
|
-
groupsTab;
|
|
48
|
-
groupNameInput;
|
|
49
|
-
createGroupSubButton;
|
|
50
|
-
filterTableSearchbox;
|
|
51
|
-
constructor(page) {
|
|
52
|
-
this.page = page;
|
|
53
|
-
this.usersTab = page.getByRole('tab', { name: 'Users' });
|
|
54
|
-
this.optionsButton = page.getByRole('button', { name: 'Options' });
|
|
55
|
-
this.editUserMenuItem = page.getByRole('menuitem', { name: 'Edit User' });
|
|
56
|
-
this.operationsEngineerCheckbox = page
|
|
57
|
-
.getByRole('group')
|
|
58
|
-
.locator('label')
|
|
59
|
-
.filter({ hasText: 'Operations Engineer' });
|
|
60
|
-
this.developerCheckbox = page
|
|
61
|
-
.getByRole('group')
|
|
62
|
-
.locator('label')
|
|
63
|
-
.filter({ hasText: 'Developer' });
|
|
64
|
-
this.analystCheckbox = page
|
|
65
|
-
.getByRole('group')
|
|
66
|
-
.locator('label')
|
|
67
|
-
.filter({ hasText: 'Analyst' });
|
|
68
|
-
this.confirmButton = page.getByRole('button', { name: 'Confirm' });
|
|
69
|
-
this.settingsTab = page.getByRole('tab', { name: 'Settings' });
|
|
70
|
-
this.optInButton = page.getByRole('button', { name: 'Opt-in', exact: true });
|
|
71
|
-
this.optInCheckbox = page.getByLabel('I understand and agree to');
|
|
72
|
-
this.optInAICheckbox = page.getByLabel('I understand and agree to Terms for AI Usage');
|
|
73
|
-
this.newContextPadButton = page.getByRole('switch').last();
|
|
74
|
-
this.newContextPadButtonText = page
|
|
75
|
-
.locator('[class= "cds--toggle__text"]')
|
|
76
|
-
.last();
|
|
77
|
-
this.mainUser = page
|
|
78
|
-
.getByRole('row')
|
|
79
|
-
.filter({ hasText: process.env.C8_USERNAME });
|
|
80
|
-
this.authorizedResources = page.getByRole('tab', {
|
|
81
|
-
name: 'authorizations',
|
|
82
|
-
});
|
|
83
|
-
this.noAuthorizedResourceMessage = page.getByText("You haven't created any resource authorizations yet", { exact: true });
|
|
84
|
-
this.createResourceAuthorizationButton = page.getByRole('button', {
|
|
85
|
-
name: 'Create resource authorization',
|
|
86
|
-
exact: true,
|
|
87
|
-
});
|
|
88
|
-
this.createResourceAuthorizationDialog = page.getByRole('dialog', {
|
|
89
|
-
name: 'Create resource authorizations',
|
|
90
|
-
exact: true,
|
|
91
|
-
});
|
|
92
|
-
this.nextButton = this.createResourceAuthorizationDialog.getByRole('button', {
|
|
93
|
-
name: 'Next',
|
|
94
|
-
});
|
|
95
|
-
this.createButton = this.createResourceAuthorizationDialog.getByRole('button', {
|
|
96
|
-
name: 'Create',
|
|
97
|
-
});
|
|
98
|
-
this.idComboBox = page.getByRole('combobox', { name: 'ID' });
|
|
99
|
-
this.readPermissionCheckbox = page.getByRole('checkbox', {
|
|
100
|
-
name: 'Read definition',
|
|
101
|
-
});
|
|
102
|
-
this.startProcessIPermissionCheckbox = page.getByRole('checkbox', {
|
|
103
|
-
name: 'Start process instance',
|
|
104
|
-
});
|
|
105
|
-
this.dialog = page.getByRole('dialog');
|
|
106
|
-
this.deleteAuthorisedResourceButton = page.getByRole('button', {
|
|
107
|
-
name: 'Delete',
|
|
108
|
-
});
|
|
109
|
-
this.deleteAuthorisedResourceSubButton = page.getByRole('button', {
|
|
110
|
-
name: 'danger Delete',
|
|
111
|
-
});
|
|
112
|
-
this.groupsTab = page.getByRole('tab', { name: 'Groups' });
|
|
113
|
-
this.createGroupButton = page.getByRole('button', {
|
|
114
|
-
name: 'create a group',
|
|
115
|
-
});
|
|
116
|
-
this.createGroupSubButton = page
|
|
117
|
-
.getByRole('button', {
|
|
118
|
-
name: 'create a group',
|
|
119
|
-
})
|
|
120
|
-
.last();
|
|
121
|
-
this.groupNameInput = page.getByRole('textbox', { name: 'name' });
|
|
122
|
-
this.rows = this.page.getByRole('row');
|
|
123
|
-
this.createGroupButton = page.getByRole('button', {
|
|
124
|
-
name: 'create group',
|
|
125
|
-
});
|
|
126
|
-
this.noGroupsHeading = page.getByRole('heading', {
|
|
127
|
-
name: 'you don’t have any groups yet',
|
|
128
|
-
});
|
|
129
|
-
this.createFirstGroupButton = page.getByRole('button', {
|
|
130
|
-
name: 'create a group',
|
|
131
|
-
});
|
|
132
|
-
this.createGroupDialoge = page.getByRole('dialog', {
|
|
133
|
-
name: 'create group',
|
|
134
|
-
});
|
|
135
|
-
this.assignMembersButton = page.getByRole('button', {
|
|
136
|
-
name: 'assign members',
|
|
137
|
-
});
|
|
138
|
-
this.assignMembersSubButton = page
|
|
139
|
-
.getByRole('button', {
|
|
140
|
-
name: 'assign',
|
|
141
|
-
})
|
|
142
|
-
.last();
|
|
143
|
-
this.assignMembersSearchbox = page.getByRole('searchbox', {
|
|
144
|
-
name: 'search by full name or email address',
|
|
145
|
-
});
|
|
146
|
-
this.assignMembersSearchResult = page.locator('.cds--list-box__menu-item');
|
|
147
|
-
this.organizationManagementLink = page.getByRole('link', {
|
|
148
|
-
name: 'organization management',
|
|
149
|
-
});
|
|
150
|
-
this.deleteButton = page.getByRole('button', { name: 'delete' });
|
|
151
|
-
this.deleteSubButton = page
|
|
152
|
-
.getByRole('button', {
|
|
153
|
-
name: 'danger',
|
|
154
|
-
})
|
|
155
|
-
.last();
|
|
156
|
-
this.groupsTab = page.getByRole('tab', { name: 'Groups' });
|
|
157
|
-
this.groupNameInput = page.getByRole('textbox', { name: 'name' });
|
|
158
|
-
this.createGroupSubButton = page
|
|
159
|
-
.getByRole('button', {
|
|
160
|
-
name: 'create group',
|
|
161
|
-
})
|
|
162
|
-
.last();
|
|
163
|
-
this.filterTableSearchbox = page.getByRole('searchbox', {
|
|
164
|
-
name: 'Filter table',
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
async clickUsersTab() {
|
|
168
|
-
await (0, test_1.expect)(this.usersTab).toBeVisible({ timeout: 60000 });
|
|
169
|
-
await this.usersTab.click({ timeout: 60000 });
|
|
170
|
-
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.filterTableSearchbox, {
|
|
171
|
-
postAction: async () => {
|
|
172
|
-
await this.usersTab.click({ timeout: 60000 });
|
|
173
|
-
},
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
async clickMainUser(email) {
|
|
177
|
-
await this.filterTable([email]);
|
|
178
|
-
const user = this.rows.filter({ hasText: email }).getByRole('link').first();
|
|
179
|
-
await (0, test_1.expect)(user).toBeVisible({ timeout: 60000 });
|
|
180
|
-
await user.click();
|
|
181
|
-
}
|
|
182
|
-
async clickAuthorizations() {
|
|
183
|
-
await (0, test_1.expect)(this.authorizedResources).toBeVisible({ timeout: 60000 });
|
|
184
|
-
await this.authorizedResources.click();
|
|
185
|
-
}
|
|
186
|
-
async clickCreateAuthorizedResourceButton() {
|
|
187
|
-
await (0, test_1.expect)(this.createButton).toBeVisible({ timeout: 60000 });
|
|
188
|
-
await this.createButton.click();
|
|
189
|
-
}
|
|
190
|
-
async processIdResourceAssertion(processId) {
|
|
191
|
-
await (0, test_1.expect)(this.page.getByRole('row', { name: processId })).toBeVisible({
|
|
192
|
-
timeout: 90000,
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
async clickCreateResourceAuthorizationButton() {
|
|
196
|
-
await (0, test_1.expect)(this.createResourceAuthorizationButton).toBeVisible({
|
|
197
|
-
timeout: 60000,
|
|
198
|
-
});
|
|
199
|
-
await this.createResourceAuthorizationButton.click();
|
|
200
|
-
}
|
|
201
|
-
async clickNextButton() {
|
|
202
|
-
await (0, test_1.expect)(this.nextButton).toBeVisible({
|
|
203
|
-
timeout: 60000,
|
|
204
|
-
});
|
|
205
|
-
await this.nextButton.click();
|
|
206
|
-
}
|
|
207
|
-
async clickProcessIdInput() {
|
|
208
|
-
await (0, test_1.expect)(this.idComboBox).toBeVisible({ timeout: 60000 });
|
|
209
|
-
await this.idComboBox.click();
|
|
210
|
-
}
|
|
211
|
-
async fillProcessIdInput(processId) {
|
|
212
|
-
await this.idComboBox.fill(processId);
|
|
213
|
-
}
|
|
214
|
-
async checkReadPermissionCheckbox() {
|
|
215
|
-
await (0, test_1.expect)(this.readPermissionCheckbox).toBeVisible({ timeout: 60000 });
|
|
216
|
-
if (!(await this.readPermissionCheckbox.isChecked())) {
|
|
217
|
-
await this.readPermissionCheckbox.click({ force: true });
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
async checkStartInstancePermissionCheckbox() {
|
|
221
|
-
if (!(await this.startProcessIPermissionCheckbox.isChecked())) {
|
|
222
|
-
await this.startProcessIPermissionCheckbox.click({ force: true });
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
async authorizedResourceAssertion(processId, maxRetries = 3, retryDelay = 20000) {
|
|
226
|
-
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
227
|
-
try {
|
|
228
|
-
await this.page.reload();
|
|
229
|
-
await this.clickAuthorizations();
|
|
230
|
-
await (0, test_1.expect)(this.page.getByRole('row', { name: processId })).toBeVisible({ timeout: 90000 });
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
catch (error) {
|
|
234
|
-
if (attempt < maxRetries - 1) {
|
|
235
|
-
console.warn(`Attempt ${attempt + 1} failed. Retrying...`);
|
|
236
|
-
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
throw new Error(`Assertion failed after ${maxRetries} attempts`);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
async clickOptionsButton() {
|
|
245
|
-
await this.optionsButton.click({ timeout: 90000 });
|
|
246
|
-
}
|
|
247
|
-
async clickEditUserMenuItem() {
|
|
248
|
-
await this.editUserMenuItem.click({ timeout: 60000 });
|
|
249
|
-
}
|
|
250
|
-
async clickOperationsEngineerCheckbox() {
|
|
251
|
-
await this.operationsEngineerCheckbox.click();
|
|
252
|
-
}
|
|
253
|
-
async checkDeveloperCheckbox() {
|
|
254
|
-
if (!(await this.developerCheckbox.isChecked())) {
|
|
255
|
-
await this.developerCheckbox.click({ timeout: 60000 });
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
async uncheckDeveloperCheckbox() {
|
|
259
|
-
if (await this.developerCheckbox.isChecked()) {
|
|
260
|
-
await this.developerCheckbox.click({ timeout: 60000 });
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
async checkAnalystCheckbox() {
|
|
264
|
-
if (!(await this.analystCheckbox.isChecked())) {
|
|
265
|
-
await this.analystCheckbox.click({ timeout: 60000 });
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
async uncheckAnalystCheckbox() {
|
|
269
|
-
if (await this.analystCheckbox.isChecked()) {
|
|
270
|
-
await this.analystCheckbox.click({ timeout: 60000 });
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
async clickConfirmButton() {
|
|
274
|
-
await this.confirmButton.click({ timeout: 60000 });
|
|
275
|
-
}
|
|
276
|
-
async clickSettingsTab() {
|
|
277
|
-
await this.settingsTab.click({ timeout: 120000 });
|
|
278
|
-
try {
|
|
279
|
-
await (0, test_1.expect)(this.page.getByRole('heading', { name: 'Alpha features' })).toBeVisible({
|
|
280
|
-
timeout: 120000,
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
catch (error) {
|
|
284
|
-
await this.settingsTab.click({ timeout: 120000 });
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
async clickOptInButton() {
|
|
288
|
-
await this.optInButton.click({ timeout: 60000 });
|
|
289
|
-
}
|
|
290
|
-
async scrollToOptInCheckbox() {
|
|
291
|
-
await this.page.locator('.ps-contract-scroll').evaluate((el) => {
|
|
292
|
-
el.scrollTop = el.scrollHeight;
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
async checkOptInCheckbox() {
|
|
296
|
-
await this.optInCheckbox.check({ timeout: 90000 });
|
|
297
|
-
}
|
|
298
|
-
async clickNewContextPadButton() {
|
|
299
|
-
try {
|
|
300
|
-
await (0, test_1.expect)(this.newContextPadButtonText).toHaveText('Enabled', {
|
|
301
|
-
timeout: 90000,
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
catch {
|
|
305
|
-
await this.page.reload();
|
|
306
|
-
await this.newContextPadButton.click({ timeout: 90000 });
|
|
307
|
-
await (0, test_1.expect)(this.newContextPadButtonText).toHaveText('Enabled', {
|
|
308
|
-
timeout: 60000,
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
async enableAlphaFeature(name) {
|
|
313
|
-
const maxRetries = 3;
|
|
314
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
315
|
-
try {
|
|
316
|
-
await this.clickSettingsTab();
|
|
317
|
-
await this.optInToAlphaFeatures();
|
|
318
|
-
await (0, sleep_1.sleep)(30000);
|
|
319
|
-
await this.page.reload();
|
|
320
|
-
await this.clickSettingsTab();
|
|
321
|
-
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.rows.first(), {
|
|
322
|
-
visibilityTimeout: 15000,
|
|
323
|
-
totalTimeout: 90000,
|
|
324
|
-
postAction: async () => {
|
|
325
|
-
await this.page.reload();
|
|
326
|
-
},
|
|
327
|
-
});
|
|
328
|
-
const alphaFeature = this.rows.filter({ hasText: name }).first();
|
|
329
|
-
if ((await alphaFeature.count()) < 1) {
|
|
330
|
-
console.error(`No alpha feature(${name}) is found.`);
|
|
331
|
-
return;
|
|
332
|
-
}
|
|
333
|
-
//Opt-in The Alpha Feature
|
|
334
|
-
const alphaFeatureOptInButton = alphaFeature.getByRole('button', {
|
|
335
|
-
name: 'Opt in to enable',
|
|
336
|
-
});
|
|
337
|
-
if (await alphaFeatureOptInButton.isVisible({ timeout: 10000 })) {
|
|
338
|
-
await alphaFeatureOptInButton.click({ timeout: 30000 });
|
|
339
|
-
await this.optInAICheckbox.scrollIntoViewIfNeeded();
|
|
340
|
-
await this.optInAICheckbox.check({ timeout: 30000 });
|
|
341
|
-
await (0, sleep_1.sleep)(3000);
|
|
342
|
-
}
|
|
343
|
-
//Enable Alpha Feature
|
|
344
|
-
const toggleText = await alphaFeature
|
|
345
|
-
.locator('[class= "cds--toggle__text"]')
|
|
346
|
-
.textContent();
|
|
347
|
-
console.info(`Previous feature(${name}) setting is ${toggleText}.`);
|
|
348
|
-
if (toggleText == 'Enabled') {
|
|
349
|
-
console.log(`Feature ${name} is already enabled.`);
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
if (toggleText == 'Disabled') {
|
|
353
|
-
await alphaFeature
|
|
354
|
-
.locator('[class= "cds--toggle__switch"]')
|
|
355
|
-
.first()
|
|
356
|
-
.click();
|
|
357
|
-
await (0, sleep_1.sleep)(10000);
|
|
358
|
-
}
|
|
359
|
-
await (0, test_1.expect)(alphaFeature.locator('[class= "cds--toggle__text"]')).toHaveText('Enabled');
|
|
360
|
-
return;
|
|
361
|
-
}
|
|
362
|
-
catch (error) {
|
|
363
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
364
|
-
await this.page.reload();
|
|
365
|
-
await (0, sleep_1.sleep)(10000);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
throw new Error(`Failed to eanble alpha feature ${name} after ${maxRetries} attempts.`);
|
|
369
|
-
}
|
|
370
|
-
async deleteAuthorisedResourcesIfExist() {
|
|
371
|
-
try {
|
|
372
|
-
await (0, test_1.expect)(this.deleteAuthorisedResourceButton.first()).toBeVisible({
|
|
373
|
-
timeout: 10000,
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
catch (error) {
|
|
377
|
-
return; //No authorised resource found in the list
|
|
378
|
-
}
|
|
379
|
-
try {
|
|
380
|
-
let deletes = await this.deleteAuthorisedResourceButton.all();
|
|
381
|
-
while (deletes.length > 0) {
|
|
382
|
-
const deleteButton = deletes[0];
|
|
383
|
-
if (await deleteButton.isVisible()) {
|
|
384
|
-
await deleteButton.click({ timeout: 60000 });
|
|
385
|
-
await (0, test_1.expect)(this.dialog).toBeVisible({ timeout: 40000 });
|
|
386
|
-
await this.deleteAuthorisedResourceSubButton.click();
|
|
387
|
-
await (0, test_1.expect)(this.page.getByText('Deleting...')).not.toBeVisible({
|
|
388
|
-
timeout: 60000,
|
|
389
|
-
});
|
|
390
|
-
}
|
|
391
|
-
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
392
|
-
await sleep(3000);
|
|
393
|
-
deletes = await this.deleteAuthorisedResourceButton.all();
|
|
394
|
-
}
|
|
395
|
-
await (0, test_1.expect)(this.deleteAuthorisedResourceButton).not.toBeVisible({
|
|
396
|
-
timeout: 30000,
|
|
397
|
-
});
|
|
398
|
-
}
|
|
399
|
-
catch (error) {
|
|
400
|
-
console.error('Error during authorised resource deletion: ', error);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
async optInToAlphaFeatures() {
|
|
404
|
-
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.rows.first(), {
|
|
405
|
-
visibilityTimeout: 60000,
|
|
406
|
-
totalTimeout: 140000,
|
|
407
|
-
postAction: async () => {
|
|
408
|
-
await this.page.reload();
|
|
409
|
-
},
|
|
410
|
-
});
|
|
411
|
-
try {
|
|
412
|
-
await (0, test_1.expect)(this.optInButton).toBeVisible({ timeout: 30000 });
|
|
413
|
-
await this.clickOptInButton();
|
|
414
|
-
await this.scrollToOptInCheckbox();
|
|
415
|
-
await this.checkOptInCheckbox();
|
|
416
|
-
}
|
|
417
|
-
catch {
|
|
418
|
-
await (0, test_1.expect)(this.optInButton).not.toBeVisible();
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
async clickGroupsTab() {
|
|
422
|
-
await this.groupsTab.click({ timeout: 60000 });
|
|
423
|
-
}
|
|
424
|
-
async clickCreateGroupButton() {
|
|
425
|
-
const maxRetries = 3;
|
|
426
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
427
|
-
try {
|
|
428
|
-
if ((await this.noGroupsHeading.isVisible({ timeout: 120000 })) == false) {
|
|
429
|
-
await this.createGroupButton.click();
|
|
430
|
-
}
|
|
431
|
-
else {
|
|
432
|
-
await this.createFirstGroupButton.click();
|
|
433
|
-
}
|
|
434
|
-
return;
|
|
435
|
-
}
|
|
436
|
-
catch (error) {
|
|
437
|
-
console.error(`Click attempt ${retries + 1} failed`);
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
throw new Error(`Failed to click the button after ${maxRetries} attempts.`);
|
|
441
|
-
}
|
|
442
|
-
async fillGroupNameInput(name) {
|
|
443
|
-
await this.groupNameInput.fill(name);
|
|
444
|
-
}
|
|
445
|
-
async clickCreateGroupSubButton() {
|
|
446
|
-
await this.createGroupSubButton.click();
|
|
447
|
-
}
|
|
448
|
-
async clickUserGroup(name) {
|
|
449
|
-
await this.page.getByRole('cell', { name: name }).click();
|
|
450
|
-
}
|
|
451
|
-
async clickAssignMembers() {
|
|
452
|
-
await this.assignMembersButton.click();
|
|
453
|
-
}
|
|
454
|
-
async fillAssignMembers(names) {
|
|
455
|
-
for (const name of names) {
|
|
456
|
-
await this.assignMembersSearchbox.click();
|
|
457
|
-
await this.assignMembersSearchbox.fill(name);
|
|
458
|
-
await this.page.waitForTimeout(1000);
|
|
459
|
-
await this.assignMembersSearchResult
|
|
460
|
-
.filter({ hasText: name })
|
|
461
|
-
.click({ timeout: 30000 });
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
async filterTable(names) {
|
|
465
|
-
for (const name of names) {
|
|
466
|
-
await (0, test_1.expect)(this.filterTableSearchbox).toBeVisible({ timeout: 120000 });
|
|
467
|
-
await this.filterTableSearchbox.click({ timeout: 60000 });
|
|
468
|
-
await this.filterTableSearchbox.fill(name);
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
async clickAssignSubButton() {
|
|
472
|
-
await this.assignMembersSubButton.click();
|
|
473
|
-
}
|
|
474
|
-
async clickOrganizationManagementLink() {
|
|
475
|
-
await this.organizationManagementLink.click();
|
|
476
|
-
}
|
|
477
|
-
async deleteAllGroups() {
|
|
478
|
-
try {
|
|
479
|
-
await this.deleteButton
|
|
480
|
-
.first()
|
|
481
|
-
.waitFor({ state: 'visible', timeout: 60000 });
|
|
482
|
-
const count = await this.deleteButton.count();
|
|
483
|
-
if (count > 0) {
|
|
484
|
-
for (let i = 0; i < count; i++) {
|
|
485
|
-
await this.deleteButton.nth(i).click({ timeout: 60000 });
|
|
486
|
-
await this.deleteSubButton.click({ timeout: 60000 });
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
catch (error) {
|
|
491
|
-
console.log('Delete Button Not Clicked ' + error);
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
exports.ConsoleOrganizationPage = ConsoleOrganizationPage;
|
|
@@ -1,30 +0,0 @@
|
|
|
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 textField: Locator;
|
|
8
|
-
readonly formEditor: Locator;
|
|
9
|
-
readonly keyInput: Locator;
|
|
10
|
-
readonly generalPanel: Locator;
|
|
11
|
-
readonly textFieldInForm: Locator;
|
|
12
|
-
readonly deployButton: Locator;
|
|
13
|
-
readonly deploySubButton: Locator;
|
|
14
|
-
readonly dialog: Locator;
|
|
15
|
-
readonly deploySuccessNotification: Locator;
|
|
16
|
-
constructor(page: Page);
|
|
17
|
-
clickAIFormGeneratorButton(): Promise<void>;
|
|
18
|
-
generateAIForm(request?: string): 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
|
-
fillKeyInput(key: string): Promise<void>;
|
|
24
|
-
clickGeneralPropertiesPanel(): Promise<void>;
|
|
25
|
-
selectCluster(clusterName: string): Promise<void>;
|
|
26
|
-
clickDeployButton(): Promise<void>;
|
|
27
|
-
clickDeploySubButton(): Promise<void>;
|
|
28
|
-
deployForm(clusterName: string): Promise<void>;
|
|
29
|
-
}
|
|
30
|
-
export { FormJsPage };
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FormJsPage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
const sleep_1 = require("../../utils/sleep");
|
|
6
|
-
class FormJsPage {
|
|
7
|
-
page;
|
|
8
|
-
aiFormGeneratorButton;
|
|
9
|
-
formRequestInput;
|
|
10
|
-
generateFormButton;
|
|
11
|
-
textField;
|
|
12
|
-
formEditor;
|
|
13
|
-
keyInput;
|
|
14
|
-
generalPanel;
|
|
15
|
-
textFieldInForm;
|
|
16
|
-
deployButton;
|
|
17
|
-
deploySubButton;
|
|
18
|
-
dialog;
|
|
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.textField = page.locator('button[data-field-type="textfield"]');
|
|
28
|
-
this.formEditor = page.getByLabel('Form Definition');
|
|
29
|
-
this.generalPanel = page.locator('[data-group-id="group-general"]').first();
|
|
30
|
-
this.keyInput = page.getByRole('textbox', { name: 'key' });
|
|
31
|
-
this.textFieldInForm = page.getByLabel('Form Definition');
|
|
32
|
-
this.deployButton = page
|
|
33
|
-
.locator('[data-test="action-bar"]')
|
|
34
|
-
.getByRole('button', { name: 'Deploy', exact: true });
|
|
35
|
-
this.dialog = page
|
|
36
|
-
.locator('.cds--modal-container[role="dialog"]')
|
|
37
|
-
.filter({ hasText: 'Deploy form' });
|
|
38
|
-
this.deploySubButton = this.dialog.getByRole('button', {
|
|
39
|
-
name: 'Deploy',
|
|
40
|
-
exact: true,
|
|
41
|
-
});
|
|
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 generateAIForm(request = 'Create a form with the following fields: 1. A text field with the label "Full Name" 2. A number with the label "Count" 3. A date input with the label "Date of birth"4. A Checkbox with the label "Agree"') {
|
|
50
|
-
await (0, test_1.expect)(this.aiFormGeneratorButton).toBeVisible({
|
|
51
|
-
timeout: 90000,
|
|
52
|
-
});
|
|
53
|
-
await this.clickAIFormGeneratorButton();
|
|
54
|
-
await this.clickFormRequestInput();
|
|
55
|
-
await this.fillFormRequestInput(request);
|
|
56
|
-
await this.clickGenerateFormButton();
|
|
57
|
-
await (0, test_1.expect)(this.page.getByText('Generating...')).toBeVisible();
|
|
58
|
-
await (0, test_1.expect)(this.page.getByText('Successfully generated smart form.')).toBeVisible({ timeout: 300000 });
|
|
59
|
-
await (0, sleep_1.sleep)(60000);
|
|
60
|
-
}
|
|
61
|
-
async clickFormRequestInput() {
|
|
62
|
-
await this.formRequestInput.click();
|
|
63
|
-
}
|
|
64
|
-
async fillFormRequestInput(formRequest) {
|
|
65
|
-
await this.formRequestInput.fill(formRequest);
|
|
66
|
-
}
|
|
67
|
-
async clickGenerateFormButton() {
|
|
68
|
-
await this.generateFormButton.click();
|
|
69
|
-
}
|
|
70
|
-
async dragAndDrop(source, target) {
|
|
71
|
-
await source.waitFor();
|
|
72
|
-
await target.waitFor();
|
|
73
|
-
await source.dragTo(target);
|
|
74
|
-
}
|
|
75
|
-
async fillKeyInput(key) {
|
|
76
|
-
await this.keyInput.fill(key, { timeout: 60000 });
|
|
77
|
-
}
|
|
78
|
-
async clickGeneralPropertiesPanel() {
|
|
79
|
-
await this.generalPanel.click({ timeout: 60000 });
|
|
80
|
-
}
|
|
81
|
-
async selectCluster(clusterName) {
|
|
82
|
-
await (0, test_1.expect)(this.dialog).toBeVisible({ timeout: 30000 });
|
|
83
|
-
const healthCheckTimeout = 30000;
|
|
84
|
-
const healthyRegex = new RegExp(`${clusterName}[\\s\\S]*?HealthydevManage`);
|
|
85
|
-
const cluster = this.dialog.locator(`[title="${clusterName}"]`);
|
|
86
|
-
await (0, test_1.expect)(cluster).toBeVisible({ timeout: 30000 });
|
|
87
|
-
await cluster.click();
|
|
88
|
-
await (0, test_1.expect)(this.dialog
|
|
89
|
-
.locator('label')
|
|
90
|
-
.filter({ hasText: clusterName })
|
|
91
|
-
.getByRole('switch')).toBeChecked({ timeout: 30000 });
|
|
92
|
-
await (0, test_1.expect)(this.dialog).toHaveText(healthyRegex, {
|
|
93
|
-
timeout: healthCheckTimeout,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
async clickDeployButton() {
|
|
97
|
-
await this.deployButton.click({ timeout: 60000 });
|
|
98
|
-
}
|
|
99
|
-
async clickDeploySubButton() {
|
|
100
|
-
await this.deploySubButton.click({ timeout: 60000 });
|
|
101
|
-
}
|
|
102
|
-
async deployForm(clusterName) {
|
|
103
|
-
await this.clickDeployButton();
|
|
104
|
-
await (0, test_1.expect)(this.dialog).toBeVisible({
|
|
105
|
-
timeout: 30000,
|
|
106
|
-
});
|
|
107
|
-
await this.selectCluster(clusterName);
|
|
108
|
-
await this.clickDeploySubButton();
|
|
109
|
-
await (0, test_1.expect)(this.deploySuccessNotification).toBeVisible({ timeout: 30000 });
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
exports.FormJsPage = FormJsPage;
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
-
readonly appSwitcher: Locator;
|
|
13
|
-
readonly openOrganizationButton: Locator;
|
|
14
|
-
readonly consoleBanner: Locator;
|
|
15
|
-
readonly modelerBanner: Locator;
|
|
16
|
-
readonly gettingStartedHeading: Locator;
|
|
17
|
-
readonly buttonSkipCustomization: Locator;
|
|
18
|
-
constructor(page: Page);
|
|
19
|
-
clickClusters(): Promise<void>;
|
|
20
|
-
clickDashboard(): Promise<void>;
|
|
21
|
-
clickOrganization(): Promise<void>;
|
|
22
|
-
closeInformationDialog(): Promise<void>;
|
|
23
|
-
organizationUuid(): string;
|
|
24
|
-
clickOpenOrganizationButton(): Promise<void>;
|
|
25
|
-
clickSkipCustomization(): Promise<void>;
|
|
26
|
-
}
|
|
27
|
-
export { HomePage };
|