@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,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH under
|
|
4
|
-
* one or more contributor license agreements. See the NOTICE file distributed
|
|
5
|
-
* with this work for additional information regarding copyright ownership.
|
|
6
|
-
* Licensed under the Camunda License 1.0. You may not use this file
|
|
7
|
-
* except in compliance with the Camunda License 1.0.
|
|
8
|
-
*/
|
|
9
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.test = void 0;
|
|
14
|
-
const test_1 = require("@playwright/test");
|
|
15
|
-
const playwright_1 = __importDefault(require("@axe-core/playwright"));
|
|
16
|
-
const OperateLoginPage_1 = require("../pages/c8Run-8.6/OperateLoginPage");
|
|
17
|
-
const OperateHomePage_1 = require("../pages/c8Run-8.6/OperateHomePage");
|
|
18
|
-
const TaskPanelPage_1 = require("../pages/c8Run-8.6/TaskPanelPage");
|
|
19
|
-
const TaskListLoginPage_1 = require("../pages/c8Run-8.6/TaskListLoginPage");
|
|
20
|
-
const OperateProcessesPage_1 = require("../pages/c8Run-8.6/OperateProcessesPage");
|
|
21
|
-
const OperateProcessInstancePage_1 = require("../pages/c8Run-8.6/OperateProcessInstancePage");
|
|
22
|
-
const TaskDetailsPage_1 = require("../pages/c8Run-8.6/TaskDetailsPage");
|
|
23
|
-
const test = test_1.test.extend({
|
|
24
|
-
makeAxeBuilder: async ({ page }, use) => {
|
|
25
|
-
const makeAxeBuilder = () => new playwright_1.default({ page }).withTags([
|
|
26
|
-
'best-practice',
|
|
27
|
-
'wcag2a',
|
|
28
|
-
'wcag2aa',
|
|
29
|
-
'cat.semantics',
|
|
30
|
-
'cat.forms',
|
|
31
|
-
]);
|
|
32
|
-
await use(makeAxeBuilder);
|
|
33
|
-
},
|
|
34
|
-
operateLoginPage: async ({ page }, use) => {
|
|
35
|
-
await use(new OperateLoginPage_1.OperateLoginPage(page));
|
|
36
|
-
},
|
|
37
|
-
operateHomePage: async ({ page }, use) => {
|
|
38
|
-
await use(new OperateHomePage_1.OperateHomePage(page));
|
|
39
|
-
},
|
|
40
|
-
taskListLoginPage: async ({ page }, use) => {
|
|
41
|
-
await use(new TaskListLoginPage_1.TaskListLoginPage(page));
|
|
42
|
-
},
|
|
43
|
-
taskPanelPage: async ({ page }, use) => {
|
|
44
|
-
await use(new TaskPanelPage_1.TaskPanelPage(page));
|
|
45
|
-
},
|
|
46
|
-
operateProcessesPage: async ({ page }, use) => {
|
|
47
|
-
await use(new OperateProcessesPage_1.OperateProcessesPage(page));
|
|
48
|
-
},
|
|
49
|
-
operateProcessInstancePage: async ({ page }, use) => {
|
|
50
|
-
await use(new OperateProcessInstancePage_1.OperateProcessInstancePage(page));
|
|
51
|
-
},
|
|
52
|
-
taskDetailsPage: async ({ page }, use) => {
|
|
53
|
-
await use(new TaskDetailsPage_1.TaskDetailsPage(page));
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
exports.test = test;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class AppsPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly modelerLink: Locator;
|
|
5
|
-
readonly tasklistLink: Locator;
|
|
6
|
-
readonly operateLink: Locator;
|
|
7
|
-
readonly appSwitcherButton: Locator;
|
|
8
|
-
readonly consoleLink: Locator;
|
|
9
|
-
readonly optimizeLink: Locator;
|
|
10
|
-
readonly camundaComponentsButton: Locator;
|
|
11
|
-
readonly camundaAppsButton: Locator;
|
|
12
|
-
readonly optimizeButton: Locator;
|
|
13
|
-
readonly tasklistButton: Locator;
|
|
14
|
-
readonly operateButton: Locator;
|
|
15
|
-
readonly operateListItem: Locator;
|
|
16
|
-
readonly optimizeListItem: Locator;
|
|
17
|
-
readonly tasklistListItem: Locator;
|
|
18
|
-
constructor(page: Page);
|
|
19
|
-
clickModeler(): Promise<void>;
|
|
20
|
-
clickOperate(clusterName: string): Promise<void>;
|
|
21
|
-
clickOptimize(clusterName: string): Promise<void>;
|
|
22
|
-
clickCluster(component: Locator, name: string): Promise<void>;
|
|
23
|
-
clickTasklist(clusterName: string): Promise<void>;
|
|
24
|
-
private doClickClusterInOperate;
|
|
25
|
-
private doClickClusterInTasklist;
|
|
26
|
-
private doClickClusterInOptimize;
|
|
27
|
-
clickCamundaApps(maxRetries?: number): Promise<void>;
|
|
28
|
-
clickConsoleLink(): Promise<void>;
|
|
29
|
-
assertOperatePresent(shouldBeVisible?: boolean): Promise<void>;
|
|
30
|
-
assertTasklistPresent(shouldBeVisible?: boolean): Promise<void>;
|
|
31
|
-
assertOptimizePresent(shouldBeVisible?: boolean): Promise<void>;
|
|
32
|
-
}
|
|
33
|
-
export { AppsPage };
|
|
@@ -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 };
|