@camunda/e2e-test-suite 0.0.714 → 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/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,337 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AppsPage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
const sleep_1 = require("../../utils/sleep");
|
|
6
|
-
class AppsPage {
|
|
7
|
-
page;
|
|
8
|
-
modelerLink;
|
|
9
|
-
tasklistLink;
|
|
10
|
-
operateLink;
|
|
11
|
-
appSwitcherButton;
|
|
12
|
-
consoleLink;
|
|
13
|
-
optimizeLink;
|
|
14
|
-
camundaComponentsButton;
|
|
15
|
-
camundaAppsButton;
|
|
16
|
-
optimizeButton;
|
|
17
|
-
tasklistButton;
|
|
18
|
-
operateButton;
|
|
19
|
-
operateListItem;
|
|
20
|
-
optimizeListItem;
|
|
21
|
-
tasklistListItem;
|
|
22
|
-
constructor(page) {
|
|
23
|
-
this.page = page;
|
|
24
|
-
this.modelerLink = page
|
|
25
|
-
.getByRole('link', { name: 'Modeler', exact: true })
|
|
26
|
-
.or(page.getByLabel('App Panel').getByLabel('Camunda Modeler'))
|
|
27
|
-
.first();
|
|
28
|
-
this.appSwitcherButton = page.getByLabel('App Switcher');
|
|
29
|
-
this.tasklistLink = page.getByRole('link', { name: 'Tasklist', exact: true });
|
|
30
|
-
this.operateLink = page.getByRole('link', { name: 'Operate', exact: true });
|
|
31
|
-
this.consoleLink = page.getByRole('link', { name: 'Console', exact: true });
|
|
32
|
-
this.optimizeLink = page.getByRole('link', { name: 'Optimize', exact: true });
|
|
33
|
-
this.camundaComponentsButton = page.getByLabel('Camunda components');
|
|
34
|
-
this.camundaAppsButton = page.getByLabel('Camunda apps');
|
|
35
|
-
this.tasklistListItem = this.page
|
|
36
|
-
.getByRole('listitem')
|
|
37
|
-
.filter({ hasText: 'Tasklist' });
|
|
38
|
-
this.optimizeListItem = this.page
|
|
39
|
-
.getByRole('listitem')
|
|
40
|
-
.filter({ hasText: 'Optimize' });
|
|
41
|
-
this.operateListItem = this.page
|
|
42
|
-
.getByRole('listitem')
|
|
43
|
-
.filter({ hasText: 'Operate' });
|
|
44
|
-
this.operateButton = page.getByRole('button', {
|
|
45
|
-
name: 'Operate',
|
|
46
|
-
exact: true,
|
|
47
|
-
});
|
|
48
|
-
this.optimizeButton = page.getByRole('button', {
|
|
49
|
-
name: 'Optimize',
|
|
50
|
-
exact: true,
|
|
51
|
-
});
|
|
52
|
-
this.tasklistButton = page.getByRole('button', {
|
|
53
|
-
name: 'Tasklist',
|
|
54
|
-
exact: true,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
async clickModeler() {
|
|
58
|
-
const maxRetries = 3;
|
|
59
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
60
|
-
try {
|
|
61
|
-
if (retries === 0) {
|
|
62
|
-
await (0, test_1.expect)(this.modelerLink).toBeVisible({ timeout: 30000 });
|
|
63
|
-
await this.modelerLink.click();
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
await this.clickCamundaApps();
|
|
67
|
-
await (0, test_1.expect)(this.modelerLink).toBeVisible({ timeout: 30000 });
|
|
68
|
-
await this.modelerLink.click();
|
|
69
|
-
}
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
console.warn(`Click attempt ${retries + 1} failed: ${error}`);
|
|
74
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
throw new Error(`Failed to click the modeler link after ${maxRetries} attempts.`);
|
|
78
|
-
}
|
|
79
|
-
async clickOperate(clusterName) {
|
|
80
|
-
const maxRetries = 3;
|
|
81
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
82
|
-
try {
|
|
83
|
-
if (retries === 0) {
|
|
84
|
-
if (await this.operateLink.isVisible({ timeout: 5000 })) {
|
|
85
|
-
//Single Cluster
|
|
86
|
-
await this.operateLink.click({ timeout: 10000 });
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
//Multiple Cluster
|
|
90
|
-
await this.doClickClusterInOperate(clusterName);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
await this.clickCamundaApps();
|
|
95
|
-
if (await this.operateLink.isVisible({ timeout: 5000 })) {
|
|
96
|
-
await this.operateLink.click({ timeout: 10000 });
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
await this.doClickClusterInOperate(clusterName);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
console.warn(`Click attempt ${retries + 1} failed: ${error}`);
|
|
106
|
-
await this.page.waitForLoadState('domcontentloaded');
|
|
107
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
throw new Error(`Failed to click the operate link after ${maxRetries} attempts.`);
|
|
111
|
-
}
|
|
112
|
-
async clickOptimize(clusterName) {
|
|
113
|
-
const maxRetries = 3;
|
|
114
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
115
|
-
try {
|
|
116
|
-
if (retries === 0) {
|
|
117
|
-
if (await this.optimizeLink.isVisible({ timeout: 10000 })) {
|
|
118
|
-
//Single cluster
|
|
119
|
-
await this.optimizeLink.click({ timeout: 10000 });
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
//Multiple clusters
|
|
123
|
-
await this.doClickClusterInOptimize(clusterName);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
await this.clickCamundaApps();
|
|
128
|
-
if (await this.optimizeLink.isVisible({ timeout: 5000 })) {
|
|
129
|
-
await this.optimizeLink.click({ timeout: 10000 });
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
await this.doClickClusterInOptimize(clusterName);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
catch (error) {
|
|
138
|
-
console.warn(`Click attempt ${retries + 1} failed: ${error}`);
|
|
139
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
throw new Error(`Failed to click the optimize link after ${maxRetries} attempts.`);
|
|
143
|
-
}
|
|
144
|
-
async clickCluster(component, name) {
|
|
145
|
-
const cluster = component.getByRole('link', { name: name, exact: true });
|
|
146
|
-
await (0, test_1.expect)(cluster).toBeVisible({ timeout: 30000 });
|
|
147
|
-
await cluster.click();
|
|
148
|
-
}
|
|
149
|
-
async clickTasklist(clusterName) {
|
|
150
|
-
const maxRetries = 3;
|
|
151
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
152
|
-
try {
|
|
153
|
-
if (retries === 0) {
|
|
154
|
-
//Single cluster
|
|
155
|
-
if (await this.tasklistLink.isVisible({ timeout: 5000 })) {
|
|
156
|
-
await this.tasklistLink.click({ timeout: 10000 });
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
//Multiple clusters
|
|
160
|
-
await this.doClickClusterInTasklist(clusterName);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
await this.clickCamundaApps();
|
|
165
|
-
if (await this.tasklistLink.isVisible({ timeout: 5000 })) {
|
|
166
|
-
await this.tasklistLink.click({ timeout: 10000 });
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
await this.doClickClusterInTasklist(clusterName);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
catch (error) {
|
|
175
|
-
console.warn(`Click attempt ${retries + 1} failed: ${error}`);
|
|
176
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
throw new Error(`Failed to click the tasklist link after ${maxRetries} attempts.`);
|
|
180
|
-
}
|
|
181
|
-
async doClickClusterInOperate(clusterName) {
|
|
182
|
-
if (await this.operateListItem
|
|
183
|
-
.getByRole('button', {
|
|
184
|
-
expanded: true,
|
|
185
|
-
})
|
|
186
|
-
.isHidden({ timeout: 5000 })) {
|
|
187
|
-
await this.operateButton.click({ timeout: 10000 });
|
|
188
|
-
}
|
|
189
|
-
await this.clickCluster(this.operateListItem, clusterName);
|
|
190
|
-
}
|
|
191
|
-
async doClickClusterInTasklist(clusterName) {
|
|
192
|
-
if (await this.tasklistListItem
|
|
193
|
-
.getByRole('button', {
|
|
194
|
-
expanded: true,
|
|
195
|
-
})
|
|
196
|
-
.isHidden({ timeout: 5000 })) {
|
|
197
|
-
await this.tasklistButton.click({ timeout: 10000 });
|
|
198
|
-
}
|
|
199
|
-
await this.clickCluster(this.tasklistListItem, clusterName);
|
|
200
|
-
}
|
|
201
|
-
async doClickClusterInOptimize(clusterName) {
|
|
202
|
-
if (await this.optimizeListItem
|
|
203
|
-
.getByRole('button', {
|
|
204
|
-
expanded: true,
|
|
205
|
-
})
|
|
206
|
-
.isHidden({ timeout: 5000 })) {
|
|
207
|
-
await this.optimizeButton.click({ timeout: 10000 });
|
|
208
|
-
}
|
|
209
|
-
await this.clickCluster(this.optimizeListItem, clusterName);
|
|
210
|
-
}
|
|
211
|
-
async clickCamundaApps(maxRetries = 3) {
|
|
212
|
-
await (0, sleep_1.sleep)(2000);
|
|
213
|
-
const appButtons = [
|
|
214
|
-
this.camundaComponentsButton,
|
|
215
|
-
this.camundaAppsButton,
|
|
216
|
-
this.appSwitcherButton,
|
|
217
|
-
];
|
|
218
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
219
|
-
for (const appButton of appButtons) {
|
|
220
|
-
if (await appButton.isVisible({ timeout: 20000 })) {
|
|
221
|
-
await appButton.click({ timeout: 60000 });
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
async clickConsoleLink() {
|
|
228
|
-
const maxRetries = 3;
|
|
229
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
230
|
-
try {
|
|
231
|
-
if (retries === 0) {
|
|
232
|
-
await (0, test_1.expect)(this.consoleLink).toBeVisible({ timeout: 30000 });
|
|
233
|
-
await this.consoleLink.click();
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
await this.clickCamundaApps();
|
|
237
|
-
await (0, test_1.expect)(this.consoleLink).toBeVisible({ timeout: 30000 });
|
|
238
|
-
await this.consoleLink.click();
|
|
239
|
-
}
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
catch (error) {
|
|
243
|
-
console.warn(`Click attempt ${retries + 1} failed: ${error}`);
|
|
244
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
throw new Error(`Failed to click the console link after ${maxRetries} attempts.`);
|
|
248
|
-
}
|
|
249
|
-
async assertOperatePresent(shouldBeVisible = true) {
|
|
250
|
-
const maxRetries = 3;
|
|
251
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
252
|
-
try {
|
|
253
|
-
const isVisible = await this.operateLink.isVisible({ timeout: 5000 });
|
|
254
|
-
if (shouldBeVisible) {
|
|
255
|
-
if (isVisible) {
|
|
256
|
-
// Single Cluster
|
|
257
|
-
await (0, test_1.expect)(this.operateLink).toBeVisible();
|
|
258
|
-
}
|
|
259
|
-
else if (await this.operateListItem
|
|
260
|
-
.getByRole('button', { expanded: true })
|
|
261
|
-
.isHidden({ timeout: 5000 })) {
|
|
262
|
-
// Multiple Cluster
|
|
263
|
-
await (0, test_1.expect)(this.operateButton).toBeVisible();
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
else {
|
|
267
|
-
await (0, test_1.expect)(this.operateLink).not.toBeVisible();
|
|
268
|
-
}
|
|
269
|
-
return;
|
|
270
|
-
}
|
|
271
|
-
catch (error) {
|
|
272
|
-
console.warn(`Click attempt ${retries + 1} failed: ${error}`);
|
|
273
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
throw new Error(`Failed to assert the operate link visibility after ${maxRetries} attempts.`);
|
|
277
|
-
}
|
|
278
|
-
async assertTasklistPresent(shouldBeVisible = true) {
|
|
279
|
-
const maxRetries = 3;
|
|
280
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
281
|
-
try {
|
|
282
|
-
const isVisible = await this.tasklistLink.isVisible({ timeout: 5000 });
|
|
283
|
-
if (shouldBeVisible) {
|
|
284
|
-
if (isVisible) {
|
|
285
|
-
// Single Cluster
|
|
286
|
-
await (0, test_1.expect)(this.tasklistLink).toBeVisible();
|
|
287
|
-
}
|
|
288
|
-
else if (await this.tasklistListItem
|
|
289
|
-
.getByRole('button', { expanded: true })
|
|
290
|
-
.isHidden({ timeout: 5000 })) {
|
|
291
|
-
// Multiple Cluster
|
|
292
|
-
await (0, test_1.expect)(this.tasklistButton).toBeVisible();
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
|
-
await (0, test_1.expect)(this.tasklistLink).not.toBeVisible();
|
|
297
|
-
}
|
|
298
|
-
return;
|
|
299
|
-
}
|
|
300
|
-
catch (error) {
|
|
301
|
-
console.warn(`Click attempt ${retries + 1} failed: ${error}`);
|
|
302
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
throw new Error(`Failed to assert the tasklist link visibility after ${maxRetries} attempts.`);
|
|
306
|
-
}
|
|
307
|
-
async assertOptimizePresent(shouldBeVisible = true) {
|
|
308
|
-
const maxRetries = 3;
|
|
309
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
310
|
-
try {
|
|
311
|
-
const isVisible = await this.optimizeLink.isVisible({ timeout: 5000 });
|
|
312
|
-
if (shouldBeVisible) {
|
|
313
|
-
if (isVisible) {
|
|
314
|
-
// Single Cluster
|
|
315
|
-
await (0, test_1.expect)(this.optimizeLink).toBeVisible();
|
|
316
|
-
}
|
|
317
|
-
else if (await this.optimizeListItem
|
|
318
|
-
.getByRole('button', { expanded: true })
|
|
319
|
-
.isHidden({ timeout: 5000 })) {
|
|
320
|
-
// Multiple Cluster
|
|
321
|
-
await (0, test_1.expect)(this.optimizeButton).toBeVisible();
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
else {
|
|
325
|
-
await (0, test_1.expect)(this.optimizeLink).not.toBeVisible();
|
|
326
|
-
}
|
|
327
|
-
return;
|
|
328
|
-
}
|
|
329
|
-
catch (error) {
|
|
330
|
-
console.warn(`Click attempt ${retries + 1} failed: ${error}`);
|
|
331
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
throw new Error(`Failed to assert the optimize link visibility after ${maxRetries} attempts.`);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
exports.AppsPage = AppsPage;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class ClientCredentialsDetailsPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly operateUrlRow: Locator;
|
|
5
|
-
readonly operateUrlValue: Locator;
|
|
6
|
-
readonly clientNameHeading: (clientName: string) => Locator;
|
|
7
|
-
constructor(page: Page);
|
|
8
|
-
isOpen(clientName: string): Promise<void>;
|
|
9
|
-
getOperateUrl(): Promise<string>;
|
|
10
|
-
goBack(): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
export { ClientCredentialsDetailsPage };
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClientCredentialsDetailsPage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
class ClientCredentialsDetailsPage {
|
|
6
|
-
page;
|
|
7
|
-
operateUrlRow;
|
|
8
|
-
operateUrlValue;
|
|
9
|
-
clientNameHeading;
|
|
10
|
-
constructor(page) {
|
|
11
|
-
this.page = page;
|
|
12
|
-
this.operateUrlRow = page.getByRole('cell', { name: 'Operate URL' });
|
|
13
|
-
this.operateUrlValue = this.operateUrlRow.getByRole('textbox');
|
|
14
|
-
this.clientNameHeading = (clientName) => page.getByRole('heading', { name: clientName });
|
|
15
|
-
}
|
|
16
|
-
async isOpen(clientName) {
|
|
17
|
-
await (0, test_1.expect)(this.clientNameHeading(clientName)).toBeVisible({
|
|
18
|
-
timeout: 30000,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
async getOperateUrl() {
|
|
22
|
-
if (await this.operateUrlValue.isVisible({ timeout: 10000 }).catch(() => false)) {
|
|
23
|
-
return await this.operateUrlValue.inputValue();
|
|
24
|
-
}
|
|
25
|
-
const text = await this.page.innerText('body');
|
|
26
|
-
const match = text.match(/Operate URL\s*([\w:/.-]+\/?)/i);
|
|
27
|
-
if (!match || !match[1]) {
|
|
28
|
-
throw new Error('Operate URL not found in client credentials page');
|
|
29
|
-
}
|
|
30
|
-
return match[1];
|
|
31
|
-
}
|
|
32
|
-
async goBack() {
|
|
33
|
-
await this.page.goBack();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.ClientCredentialsDetailsPage = ClientCredentialsDetailsPage;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
import { ClientCredentialsDetailsPage } from '../8.6/ClientCredentialsDetailsPage';
|
|
3
|
-
declare class ClusterDetailsPage {
|
|
4
|
-
private page;
|
|
5
|
-
readonly apiTab: Locator;
|
|
6
|
-
readonly createFirstClientButton: Locator;
|
|
7
|
-
readonly clientNameTextbox: Locator;
|
|
8
|
-
readonly tasklistCheckbox: Locator;
|
|
9
|
-
readonly optimizeCheckbox: Locator;
|
|
10
|
-
readonly secretsCheckbox: Locator;
|
|
11
|
-
readonly operateCheckbox: Locator;
|
|
12
|
-
readonly createButton: Locator;
|
|
13
|
-
readonly closeModalButton: Locator;
|
|
14
|
-
readonly clientsList: Locator;
|
|
15
|
-
readonly createClientButton: Locator;
|
|
16
|
-
readonly settingsTab: Locator;
|
|
17
|
-
readonly rbaEnableButton: Locator;
|
|
18
|
-
readonly rbaDisableButton: Locator;
|
|
19
|
-
readonly dialog: Locator;
|
|
20
|
-
readonly enableRBADialog: Locator;
|
|
21
|
-
readonly disableRBADialog: Locator;
|
|
22
|
-
readonly deleteButton: Locator;
|
|
23
|
-
readonly deleteSubButton: Locator;
|
|
24
|
-
readonly createClientCredentialsDialog: Locator;
|
|
25
|
-
readonly clientCredentialsDialog: Locator;
|
|
26
|
-
readonly userTaskRestriction: Locator;
|
|
27
|
-
readonly alertsTab: Locator;
|
|
28
|
-
readonly alertsList: Locator;
|
|
29
|
-
readonly createFirstAlertButton: Locator;
|
|
30
|
-
readonly createNewAlertButton: Locator;
|
|
31
|
-
readonly emailRadioButton: Locator;
|
|
32
|
-
readonly createAlertsDialog: Locator;
|
|
33
|
-
readonly createAlertButton: Locator;
|
|
34
|
-
readonly rbaHeading: Locator;
|
|
35
|
-
readonly rbaEnabledMessage: Locator;
|
|
36
|
-
readonly clientCredentialsLink: (clientCredentials: string) => Locator;
|
|
37
|
-
readonly clientRow: (name: string) => Locator;
|
|
38
|
-
readonly clientRowDeleteButton: (name: string) => Locator;
|
|
39
|
-
readonly reviewUpdateButton: Locator;
|
|
40
|
-
readonly updateAvailableDialog: Locator;
|
|
41
|
-
readonly updateButton: Locator;
|
|
42
|
-
constructor(page: Page);
|
|
43
|
-
clickAPITab(): Promise<void>;
|
|
44
|
-
deleteAPIClientsIfExist(name?: string): Promise<void>;
|
|
45
|
-
clickAlertsTab(): Promise<void>;
|
|
46
|
-
clickCreateFirstAlertButton(): Promise<void>;
|
|
47
|
-
clickCreateNewAlertButton(): Promise<void>;
|
|
48
|
-
createAlert(isFirstAlert?: boolean): Promise<void>;
|
|
49
|
-
selectEmailRadioButton(): Promise<void>;
|
|
50
|
-
clickCreateAlertButton(): Promise<void>;
|
|
51
|
-
deleteAlerts(): Promise<void>;
|
|
52
|
-
private doDelete;
|
|
53
|
-
clickCreateClientButton(): Promise<void>;
|
|
54
|
-
clickCreateFirstClientButton(): Promise<void>;
|
|
55
|
-
reload(): Promise<void>;
|
|
56
|
-
clickClientNameTextbox(): Promise<void>;
|
|
57
|
-
fillClientNameTextbox(name: string): Promise<void>;
|
|
58
|
-
clickTasklistCheckbox(): Promise<void>;
|
|
59
|
-
clickOperateCheckbox(): Promise<void>;
|
|
60
|
-
clickOptimizeCheckbox(): Promise<void>;
|
|
61
|
-
clickSecretsCheckbox(): Promise<void>;
|
|
62
|
-
clickCreateButton(): Promise<void>;
|
|
63
|
-
clickCloseModalButton(): Promise<void>;
|
|
64
|
-
clickSettingsTab(): Promise<void>;
|
|
65
|
-
createAPIClient(name: string): Promise<void>;
|
|
66
|
-
searchAndClickClientCredentialsLink(name: string): Promise<ClientCredentialsDetailsPage>;
|
|
67
|
-
enableRBA(): Promise<void>;
|
|
68
|
-
disableRBA(): Promise<void>;
|
|
69
|
-
assertComponentsHealth(components?: string[]): Promise<void>;
|
|
70
|
-
userTaskEnabledAssertion(): Promise<void>;
|
|
71
|
-
clickReviewUpdateButton(): Promise<void>;
|
|
72
|
-
clickUpdateButton(): Promise<void>;
|
|
73
|
-
performClusterUpdate(): Promise<void>;
|
|
74
|
-
}
|
|
75
|
-
export { ClusterDetailsPage };
|