@camunda/e2e-test-suite 0.0.257 → 0.0.259
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/dist/fixtures/SM-8.10.d.ts +81 -0
- package/dist/fixtures/SM-8.10.js +184 -0
- package/dist/pages/SM-8.10/Authorization.d.ts +31 -0
- package/dist/pages/SM-8.10/Authorization.js +146 -0
- package/dist/pages/SM-8.10/ClusterDetailsPage.d.ts +8 -0
- package/dist/pages/SM-8.10/ClusterDetailsPage.js +28 -0
- package/dist/pages/SM-8.10/ClusterPage.d.ts +11 -0
- package/dist/pages/SM-8.10/ClusterPage.js +32 -0
- package/dist/pages/SM-8.10/ConnectorMarketplacePage.d.ts +16 -0
- package/dist/pages/SM-8.10/ConnectorMarketplacePage.js +52 -0
- package/dist/pages/SM-8.10/ConnectorSettingsPage.d.ts +40 -0
- package/dist/pages/SM-8.10/ConnectorSettingsPage.js +133 -0
- package/dist/pages/SM-8.10/ConnectorTemplatePage.d.ts +11 -0
- package/dist/pages/SM-8.10/ConnectorTemplatePage.js +34 -0
- package/dist/pages/SM-8.10/ConsoleHomePage.d.ts +11 -0
- package/dist/pages/SM-8.10/ConsoleHomePage.js +31 -0
- package/dist/pages/SM-8.10/ConsoleOrganizationPage.d.ts +22 -0
- package/dist/pages/SM-8.10/ConsoleOrganizationPage.js +68 -0
- package/dist/pages/SM-8.10/FormJsPage.d.ts +31 -0
- package/dist/pages/SM-8.10/FormJsPage.js +87 -0
- package/dist/pages/SM-8.10/HomePage.d.ts +20 -0
- package/dist/pages/SM-8.10/HomePage.js +49 -0
- package/dist/pages/SM-8.10/IdentityTenantPage.d.ts +52 -0
- package/dist/pages/SM-8.10/IdentityTenantPage.js +218 -0
- package/dist/pages/SM-8.10/IdentityUsersPage.d.ts +92 -0
- package/dist/pages/SM-8.10/IdentityUsersPage.js +473 -0
- package/dist/pages/SM-8.10/KeycloakAdminPage.d.ts +15 -0
- package/dist/pages/SM-8.10/KeycloakAdminPage.js +68 -0
- package/dist/pages/SM-8.10/KeycloakLoginPage.d.ts +11 -0
- package/dist/pages/SM-8.10/KeycloakLoginPage.js +25 -0
- package/dist/pages/SM-8.10/KeycloakUtils.d.ts +16 -0
- package/dist/pages/SM-8.10/KeycloakUtils.js +63 -0
- package/dist/pages/SM-8.10/LoginPage.d.ts +21 -0
- package/dist/pages/SM-8.10/LoginPage.js +100 -0
- package/dist/pages/SM-8.10/ManagementIdentityPage.d.ts +46 -0
- package/dist/pages/SM-8.10/ManagementIdentityPage.js +153 -0
- package/dist/pages/SM-8.10/ModelerCreatePage.d.ts +199 -0
- package/dist/pages/SM-8.10/ModelerCreatePage.js +1052 -0
- package/dist/pages/SM-8.10/ModelerHomePage.d.ts +44 -0
- package/dist/pages/SM-8.10/ModelerHomePage.js +179 -0
- package/dist/pages/SM-8.10/NavigationPage.d.ts +47 -0
- package/dist/pages/SM-8.10/NavigationPage.js +134 -0
- package/dist/pages/SM-8.10/OCIdentityAuthorizationsPage.d.ts +10 -0
- package/dist/pages/SM-8.10/OCIdentityAuthorizationsPage.js +35 -0
- package/dist/pages/SM-8.10/OCIdentityClusterVariablesPage.d.ts +20 -0
- package/dist/pages/SM-8.10/OCIdentityClusterVariablesPage.js +69 -0
- package/dist/pages/SM-8.10/OCIdentityGroupsPage.d.ts +39 -0
- package/dist/pages/SM-8.10/OCIdentityGroupsPage.js +154 -0
- package/dist/pages/SM-8.10/OCIdentityHomePage.d.ts +23 -0
- package/dist/pages/SM-8.10/OCIdentityHomePage.js +81 -0
- package/dist/pages/SM-8.10/OCIdentityMappingRulesPage.d.ts +23 -0
- package/dist/pages/SM-8.10/OCIdentityMappingRulesPage.js +110 -0
- package/dist/pages/SM-8.10/OCIdentityRolesPage.d.ts +55 -0
- package/dist/pages/SM-8.10/OCIdentityRolesPage.js +197 -0
- package/dist/pages/SM-8.10/OCTenantPage.d.ts +67 -0
- package/dist/pages/SM-8.10/OCTenantPage.js +280 -0
- package/dist/pages/SM-8.10/OperateHomePage.d.ts +24 -0
- package/dist/pages/SM-8.10/OperateHomePage.js +81 -0
- package/dist/pages/SM-8.10/OperateProcessInstancePage.d.ts +24 -0
- package/dist/pages/SM-8.10/OperateProcessInstancePage.js +170 -0
- package/dist/pages/SM-8.10/OperateProcessesPage.d.ts +32 -0
- package/dist/pages/SM-8.10/OperateProcessesPage.js +205 -0
- package/dist/pages/SM-8.10/OptimizeCollectionsPage.d.ts +17 -0
- package/dist/pages/SM-8.10/OptimizeCollectionsPage.js +66 -0
- package/dist/pages/SM-8.10/OptimizeDashboardPage.d.ts +14 -0
- package/dist/pages/SM-8.10/OptimizeDashboardPage.js +56 -0
- package/dist/pages/SM-8.10/OptimizeHomePage.d.ts +19 -0
- package/dist/pages/SM-8.10/OptimizeHomePage.js +64 -0
- package/dist/pages/SM-8.10/OptimizeReportPage.d.ts +50 -0
- package/dist/pages/SM-8.10/OptimizeReportPage.js +179 -0
- package/dist/pages/SM-8.10/PlayPage.d.ts +44 -0
- package/dist/pages/SM-8.10/PlayPage.js +235 -0
- package/dist/pages/SM-8.10/SettingsPage.d.ts +12 -0
- package/dist/pages/SM-8.10/SettingsPage.js +25 -0
- package/dist/pages/SM-8.10/TaskDetailsPage.d.ts +70 -0
- package/dist/pages/SM-8.10/TaskDetailsPage.js +266 -0
- package/dist/pages/SM-8.10/TaskPanelPage.d.ts +24 -0
- package/dist/pages/SM-8.10/TaskPanelPage.js +93 -0
- package/dist/pages/SM-8.10/TaskProcessesPage.d.ts +14 -0
- package/dist/pages/SM-8.10/TaskProcessesPage.js +53 -0
- package/dist/pages/SM-8.10/UtilitiesPage.d.ts +34 -0
- package/dist/pages/SM-8.10/UtilitiesPage.js +435 -0
- package/dist/pages/SM-8.10/optimizeReportUtils.d.ts +6 -0
- package/dist/pages/SM-8.10/optimizeReportUtils.js +42 -0
- package/dist/pages/SM-8.7/ModelerCreatePage.js +3 -0
- package/dist/pages/SM-8.7/PlayPage.d.ts +1 -0
- package/dist/pages/SM-8.7/PlayPage.js +4 -2
- package/dist/tests/SM-8.10/cluster-variables.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/cluster-variables.spec.js +190 -0
- package/dist/tests/SM-8.10/connectors-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/connectors-user-flows.spec.js +260 -0
- package/dist/tests/SM-8.10/console-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/console-user-flows.spec.js +88 -0
- package/dist/tests/SM-8.10/document-handling-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/document-handling-user-flows.spec.js +157 -0
- package/dist/tests/SM-8.10/hto-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/hto-user-flows.spec.js +408 -0
- package/dist/tests/SM-8.10/identity-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/identity-user-flows.spec.js +233 -0
- package/dist/tests/SM-8.10/license-key-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/license-key-user-flows.spec.js +523 -0
- package/dist/tests/SM-8.10/login.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/login.spec.js +24 -0
- package/dist/tests/SM-8.10/migration-path-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/migration-path-user-flows.spec.js +224 -0
- package/dist/tests/SM-8.10/mt-enabled-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/mt-enabled-user-flows.spec.js +584 -0
- package/dist/tests/SM-8.10/optimize-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/optimize-user-flows.spec.js +184 -0
- package/dist/tests/SM-8.10/play.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/play.spec.js +152 -0
- package/dist/tests/SM-8.10/rba-enabled-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/rba-enabled-user-flows.spec.js +715 -0
- package/dist/tests/SM-8.10/smoke-tests.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/smoke-tests.spec.js +163 -0
- package/dist/tests/SM-8.10/test-setup.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/test-setup.spec.js +24 -0
- package/dist/tests/SM-8.10/web-modeler-user-flows.spec.d.ts +1 -0
- package/dist/tests/SM-8.10/web-modeler-user-flows.spec.js +178 -0
- package/package.json +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import AxeBuilder from '@axe-core/playwright';
|
|
2
|
+
import { LoginPage } from '../pages/SM-8.10/LoginPage';
|
|
3
|
+
import { HomePage } from '../pages/SM-8.10/HomePage';
|
|
4
|
+
import { NavigationPage } from '../pages/SM-8.10/NavigationPage';
|
|
5
|
+
import { ModelerHomePage } from '../pages/SM-8.10/ModelerHomePage';
|
|
6
|
+
import { ModelerCreatePage } from '../pages/SM-8.10/ModelerCreatePage';
|
|
7
|
+
import { PlayPage } from '../pages/SM-8.10/PlayPage';
|
|
8
|
+
import { TaskPanelPage } from '../pages/SM-8.10/TaskPanelPage';
|
|
9
|
+
import { TaskDetailsPage } from '../pages/SM-8.10/TaskDetailsPage';
|
|
10
|
+
import { OperateHomePage } from '../pages/SM-8.10/OperateHomePage';
|
|
11
|
+
import { OperateProcessesPage } from '../pages/SM-8.10/OperateProcessesPage';
|
|
12
|
+
import { OperateProcessInstancePage } from '../pages/SM-8.10/OperateProcessInstancePage';
|
|
13
|
+
import { OptimizeCollectionsPage } from '../pages/SM-8.10/OptimizeCollectionsPage';
|
|
14
|
+
import { OptimizeHomePage } from '../pages/SM-8.10/OptimizeHomePage';
|
|
15
|
+
import { FormJsPage } from '../pages/SM-8.10/FormJsPage';
|
|
16
|
+
import { OptimizeReportPage } from '../pages/SM-8.10/OptimizeReportPage';
|
|
17
|
+
import { ConsoleOrganizationPage } from '../pages/SM-8.10/ConsoleOrganizationPage';
|
|
18
|
+
import { SettingsPage } from '../pages/SM-8.10/SettingsPage';
|
|
19
|
+
import { ConnectorSettingsPage } from '../pages/SM-8.10/ConnectorSettingsPage';
|
|
20
|
+
import { ConnectorMarketplacePage } from '../pages/SM-8.10/ConnectorMarketplacePage';
|
|
21
|
+
import { OCIdentityHomePage } from '../pages/SM-8.10/OCIdentityHomePage';
|
|
22
|
+
import { OCIdentityMappingRulesPage } from '../pages/SM-8.10/OCIdentityMappingRulesPage';
|
|
23
|
+
import { OCIdentityClusterVariablesPage } from '../pages/SM-8.10/OCIdentityClusterVariablesPage';
|
|
24
|
+
import { ConsoleHomePage } from '../pages/SM-8.10/ConsoleHomePage';
|
|
25
|
+
import { OptimizeDashboardPage } from '../pages/SM-8.10/OptimizeDashboardPage';
|
|
26
|
+
import { TaskProcessesPage } from '../pages/SM-8.10/TaskProcessesPage';
|
|
27
|
+
import { IdentityUsersPage } from '../pages/SM-8.10/IdentityUsersPage';
|
|
28
|
+
import { IdentityTenantPage } from '../pages/SM-8.10/IdentityTenantPage';
|
|
29
|
+
import { ClusterDetailsPage } from '../pages/SM-8.10/ClusterDetailsPage';
|
|
30
|
+
import { ClusterPage } from '../pages/SM-8.10/ClusterPage';
|
|
31
|
+
import { ConnectorTemplatePage } from '../pages/SM-8.10/ConnectorTemplatePage';
|
|
32
|
+
import { OCIdentityRolesPage } from '../pages/SM-8.10/OCIdentityRolesPage';
|
|
33
|
+
import { ManagementIdentityPage } from '../pages/SM-8.10/ManagementIdentityPage';
|
|
34
|
+
import { KeycloakAdminPage } from '../pages/SM-8.10/KeycloakAdminPage';
|
|
35
|
+
import { KeycloakLoginPage } from '../pages/SM-8.10/KeycloakLoginPage';
|
|
36
|
+
import { OCIdentityAuthorizationsPage } from '../pages/SM-8.10/OCIdentityAuthorizationsPage';
|
|
37
|
+
import { OCIdentityGroupsPage } from '../pages/SM-8.10/OCIdentityGroupsPage';
|
|
38
|
+
import { OCTenantPage } from '../pages/SM-8.10/OCTenantPage';
|
|
39
|
+
type PlaywrightFixtures = {
|
|
40
|
+
makeAxeBuilder: () => AxeBuilder;
|
|
41
|
+
loginPage: LoginPage;
|
|
42
|
+
homePage: HomePage;
|
|
43
|
+
navigationPage: NavigationPage;
|
|
44
|
+
modelerHomePage: ModelerHomePage;
|
|
45
|
+
modelerCreatePage: ModelerCreatePage;
|
|
46
|
+
playPage: PlayPage;
|
|
47
|
+
taskPanelPage: TaskPanelPage;
|
|
48
|
+
taskDetailsPage: TaskDetailsPage;
|
|
49
|
+
operateHomePage: OperateHomePage;
|
|
50
|
+
operateProcessesPage: OperateProcessesPage;
|
|
51
|
+
optimizeCollectionsPage: OptimizeCollectionsPage;
|
|
52
|
+
operateProcessInstancePage: OperateProcessInstancePage;
|
|
53
|
+
optimizeHomePage: OptimizeHomePage;
|
|
54
|
+
formJsPage: FormJsPage;
|
|
55
|
+
optimizeReportPage: OptimizeReportPage;
|
|
56
|
+
consoleOrganizationsPage: ConsoleOrganizationPage;
|
|
57
|
+
settingsPage: SettingsPage;
|
|
58
|
+
connectorSettingsPage: ConnectorSettingsPage;
|
|
59
|
+
connectorMarketplacePage: ConnectorMarketplacePage;
|
|
60
|
+
ocIdentityHomePage: OCIdentityHomePage;
|
|
61
|
+
ocIdentityMappingRulesPage: OCIdentityMappingRulesPage;
|
|
62
|
+
ocIdentityClusterVariablesPage: OCIdentityClusterVariablesPage;
|
|
63
|
+
consoleHomePage: ConsoleHomePage;
|
|
64
|
+
optimizeDashboardPage: OptimizeDashboardPage;
|
|
65
|
+
taskProcessesPage: TaskProcessesPage;
|
|
66
|
+
identityUsersPage: IdentityUsersPage;
|
|
67
|
+
managementIdentityTenantPage: IdentityTenantPage;
|
|
68
|
+
ocIdentityRolesPage: OCIdentityRolesPage;
|
|
69
|
+
ocIdentityAuthorizationsPage: OCIdentityAuthorizationsPage;
|
|
70
|
+
managementIdentityPage: ManagementIdentityPage;
|
|
71
|
+
keycloakAdminPage: KeycloakAdminPage;
|
|
72
|
+
keycloakLoginPage: KeycloakLoginPage;
|
|
73
|
+
clusterPage: ClusterPage;
|
|
74
|
+
clusterDetailsPage: ClusterDetailsPage;
|
|
75
|
+
connectorTemplatePage: ConnectorTemplatePage;
|
|
76
|
+
ocIdentityGroupsPage: OCIdentityGroupsPage;
|
|
77
|
+
ocTenantPage: OCTenantPage;
|
|
78
|
+
overrideTrackingScripts: void;
|
|
79
|
+
};
|
|
80
|
+
declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & PlaywrightFixtures, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
|
|
81
|
+
export { test };
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.test = void 0;
|
|
7
|
+
const test_1 = require("@playwright/test");
|
|
8
|
+
const playwright_1 = __importDefault(require("@axe-core/playwright"));
|
|
9
|
+
const LoginPage_1 = require("../pages/SM-8.10/LoginPage");
|
|
10
|
+
const HomePage_1 = require("../pages/SM-8.10/HomePage");
|
|
11
|
+
const NavigationPage_1 = require("../pages/SM-8.10/NavigationPage");
|
|
12
|
+
const ModelerHomePage_1 = require("../pages/SM-8.10/ModelerHomePage");
|
|
13
|
+
const ModelerCreatePage_1 = require("../pages/SM-8.10/ModelerCreatePage");
|
|
14
|
+
const PlayPage_1 = require("../pages/SM-8.10/PlayPage");
|
|
15
|
+
const TaskPanelPage_1 = require("../pages/SM-8.10/TaskPanelPage");
|
|
16
|
+
const TaskDetailsPage_1 = require("../pages/SM-8.10/TaskDetailsPage");
|
|
17
|
+
const OperateHomePage_1 = require("../pages/SM-8.10/OperateHomePage");
|
|
18
|
+
const OperateProcessesPage_1 = require("../pages/SM-8.10/OperateProcessesPage");
|
|
19
|
+
const OperateProcessInstancePage_1 = require("../pages/SM-8.10/OperateProcessInstancePage");
|
|
20
|
+
const OptimizeCollectionsPage_1 = require("../pages/SM-8.10/OptimizeCollectionsPage");
|
|
21
|
+
const OptimizeHomePage_1 = require("../pages/SM-8.10/OptimizeHomePage");
|
|
22
|
+
const FormJsPage_1 = require("../pages/SM-8.10/FormJsPage");
|
|
23
|
+
const OptimizeReportPage_1 = require("../pages/SM-8.10/OptimizeReportPage");
|
|
24
|
+
const ConsoleOrganizationPage_1 = require("../pages/SM-8.10/ConsoleOrganizationPage");
|
|
25
|
+
const SettingsPage_1 = require("../pages/SM-8.10/SettingsPage");
|
|
26
|
+
const ConnectorSettingsPage_1 = require("../pages/SM-8.10/ConnectorSettingsPage");
|
|
27
|
+
const ConnectorMarketplacePage_1 = require("../pages/SM-8.10/ConnectorMarketplacePage");
|
|
28
|
+
const OCIdentityHomePage_1 = require("../pages/SM-8.10/OCIdentityHomePage");
|
|
29
|
+
const OCIdentityMappingRulesPage_1 = require("../pages/SM-8.10/OCIdentityMappingRulesPage");
|
|
30
|
+
const OCIdentityClusterVariablesPage_1 = require("../pages/SM-8.10/OCIdentityClusterVariablesPage");
|
|
31
|
+
const ConsoleHomePage_1 = require("../pages/SM-8.10/ConsoleHomePage");
|
|
32
|
+
const OptimizeDashboardPage_1 = require("../pages/SM-8.10/OptimizeDashboardPage");
|
|
33
|
+
const TaskProcessesPage_1 = require("../pages/SM-8.10/TaskProcessesPage");
|
|
34
|
+
const IdentityUsersPage_1 = require("../pages/SM-8.10/IdentityUsersPage");
|
|
35
|
+
const IdentityTenantPage_1 = require("../pages/SM-8.10/IdentityTenantPage");
|
|
36
|
+
const ClusterDetailsPage_1 = require("../pages/SM-8.10/ClusterDetailsPage");
|
|
37
|
+
const ClusterPage_1 = require("../pages/SM-8.10/ClusterPage");
|
|
38
|
+
const ConnectorTemplatePage_1 = require("../pages/SM-8.10/ConnectorTemplatePage");
|
|
39
|
+
const OCIdentityRolesPage_1 = require("../pages/SM-8.10/OCIdentityRolesPage");
|
|
40
|
+
const ManagementIdentityPage_1 = require("../pages/SM-8.10/ManagementIdentityPage");
|
|
41
|
+
const KeycloakAdminPage_1 = require("../pages/SM-8.10/KeycloakAdminPage");
|
|
42
|
+
const KeycloakLoginPage_1 = require("../pages/SM-8.10/KeycloakLoginPage");
|
|
43
|
+
const OCIdentityAuthorizationsPage_1 = require("../pages/SM-8.10/OCIdentityAuthorizationsPage");
|
|
44
|
+
const OCIdentityGroupsPage_1 = require("../pages/SM-8.10/OCIdentityGroupsPage");
|
|
45
|
+
const OCTenantPage_1 = require("../pages/SM-8.10/OCTenantPage");
|
|
46
|
+
const test = test_1.test.extend({
|
|
47
|
+
makeAxeBuilder: async ({ page }, use) => {
|
|
48
|
+
const makeAxeBuilder = () => new playwright_1.default({ page }).withTags([
|
|
49
|
+
'best-practice',
|
|
50
|
+
'wcag2a',
|
|
51
|
+
'wcag2aa',
|
|
52
|
+
'cat.semantics',
|
|
53
|
+
'cat.forms',
|
|
54
|
+
]);
|
|
55
|
+
await use(makeAxeBuilder);
|
|
56
|
+
},
|
|
57
|
+
loginPage: async ({ page }, use) => {
|
|
58
|
+
await use(new LoginPage_1.LoginPage(page));
|
|
59
|
+
},
|
|
60
|
+
homePage: async ({ page }, use) => {
|
|
61
|
+
await use(new HomePage_1.HomePage(page));
|
|
62
|
+
},
|
|
63
|
+
navigationPage: async ({ page }, use) => {
|
|
64
|
+
await use(new NavigationPage_1.NavigationPage(page));
|
|
65
|
+
},
|
|
66
|
+
modelerHomePage: async ({ page }, use) => {
|
|
67
|
+
await use(new ModelerHomePage_1.ModelerHomePage(page));
|
|
68
|
+
},
|
|
69
|
+
modelerCreatePage: async ({ page }, use) => {
|
|
70
|
+
await use(new ModelerCreatePage_1.ModelerCreatePage(page));
|
|
71
|
+
},
|
|
72
|
+
playPage: async ({ page }, use) => {
|
|
73
|
+
await use(new PlayPage_1.PlayPage(page));
|
|
74
|
+
},
|
|
75
|
+
taskPanelPage: async ({ page }, use) => {
|
|
76
|
+
await use(new TaskPanelPage_1.TaskPanelPage(page));
|
|
77
|
+
},
|
|
78
|
+
taskDetailsPage: async ({ page }, use) => {
|
|
79
|
+
await use(new TaskDetailsPage_1.TaskDetailsPage(page));
|
|
80
|
+
},
|
|
81
|
+
operateHomePage: async ({ page }, use) => {
|
|
82
|
+
await use(new OperateHomePage_1.OperateHomePage(page));
|
|
83
|
+
},
|
|
84
|
+
operateProcessesPage: async ({ page }, use) => {
|
|
85
|
+
await use(new OperateProcessesPage_1.OperateProcessesPage(page));
|
|
86
|
+
},
|
|
87
|
+
operateProcessInstancePage: async ({ page }, use) => {
|
|
88
|
+
await use(new OperateProcessInstancePage_1.OperateProcessInstancePage(page));
|
|
89
|
+
},
|
|
90
|
+
identityUsersPage: async ({ page }, use) => {
|
|
91
|
+
await use(new IdentityUsersPage_1.IdentityUsersPage(page));
|
|
92
|
+
},
|
|
93
|
+
clusterPage: async ({ page }, use) => {
|
|
94
|
+
await use(new ClusterPage_1.ClusterPage(page));
|
|
95
|
+
},
|
|
96
|
+
clusterDetailsPage: async ({ page }, use) => {
|
|
97
|
+
await use(new ClusterDetailsPage_1.ClusterDetailsPage(page));
|
|
98
|
+
},
|
|
99
|
+
optimizeCollectionsPage: async ({ page }, use) => {
|
|
100
|
+
await use(new OptimizeCollectionsPage_1.OptimizeCollectionsPage(page));
|
|
101
|
+
},
|
|
102
|
+
optimizeHomePage: async ({ page }, use) => {
|
|
103
|
+
await use(new OptimizeHomePage_1.OptimizeHomePage(page));
|
|
104
|
+
},
|
|
105
|
+
formJsPage: async ({ page }, use) => {
|
|
106
|
+
await use(new FormJsPage_1.FormJsPage(page));
|
|
107
|
+
},
|
|
108
|
+
optimizeReportPage: async ({ page }, use) => {
|
|
109
|
+
await use(new OptimizeReportPage_1.OptimizeReportPage(page));
|
|
110
|
+
},
|
|
111
|
+
consoleOrganizationsPage: async ({ page }, use) => {
|
|
112
|
+
await use(new ConsoleOrganizationPage_1.ConsoleOrganizationPage(page));
|
|
113
|
+
},
|
|
114
|
+
settingsPage: async ({ page }, use) => {
|
|
115
|
+
await use(new SettingsPage_1.SettingsPage(page));
|
|
116
|
+
},
|
|
117
|
+
connectorSettingsPage: async ({ page }, use) => {
|
|
118
|
+
await use(new ConnectorSettingsPage_1.ConnectorSettingsPage(page));
|
|
119
|
+
},
|
|
120
|
+
connectorMarketplacePage: async ({ page }, use) => {
|
|
121
|
+
await use(new ConnectorMarketplacePage_1.ConnectorMarketplacePage(page));
|
|
122
|
+
},
|
|
123
|
+
managementIdentityPage: async ({ page }, use) => {
|
|
124
|
+
await use(new ManagementIdentityPage_1.ManagementIdentityPage(page));
|
|
125
|
+
},
|
|
126
|
+
ocIdentityHomePage: async ({ page }, use) => {
|
|
127
|
+
await use(new OCIdentityHomePage_1.OCIdentityHomePage(page));
|
|
128
|
+
},
|
|
129
|
+
ocIdentityMappingRulesPage: async ({ page }, use) => {
|
|
130
|
+
await use(new OCIdentityMappingRulesPage_1.OCIdentityMappingRulesPage(page));
|
|
131
|
+
},
|
|
132
|
+
ocIdentityClusterVariablesPage: async ({ page }, use) => {
|
|
133
|
+
await use(new OCIdentityClusterVariablesPage_1.OCIdentityClusterVariablesPage(page));
|
|
134
|
+
},
|
|
135
|
+
ocIdentityRolesPage: async ({ page }, use) => {
|
|
136
|
+
await use(new OCIdentityRolesPage_1.OCIdentityRolesPage(page));
|
|
137
|
+
},
|
|
138
|
+
ocIdentityAuthorizationsPage: async ({ page }, use) => {
|
|
139
|
+
await use(new OCIdentityAuthorizationsPage_1.OCIdentityAuthorizationsPage(page));
|
|
140
|
+
},
|
|
141
|
+
consoleHomePage: async ({ page }, use) => {
|
|
142
|
+
await use(new ConsoleHomePage_1.ConsoleHomePage(page));
|
|
143
|
+
},
|
|
144
|
+
optimizeDashboardPage: async ({ page }, use) => {
|
|
145
|
+
await use(new OptimizeDashboardPage_1.OptimizeDashboardPage(page));
|
|
146
|
+
},
|
|
147
|
+
taskProcessesPage: async ({ page }, use) => {
|
|
148
|
+
await use(new TaskProcessesPage_1.TaskProcessesPage(page));
|
|
149
|
+
},
|
|
150
|
+
managementIdentityTenantPage: async ({ page }, use) => {
|
|
151
|
+
await use(new IdentityTenantPage_1.IdentityTenantPage(page));
|
|
152
|
+
},
|
|
153
|
+
connectorTemplatePage: async ({ page }, use) => {
|
|
154
|
+
await use(new ConnectorTemplatePage_1.ConnectorTemplatePage(page));
|
|
155
|
+
},
|
|
156
|
+
keycloakLoginPage: async ({ page }, use) => {
|
|
157
|
+
await use(new KeycloakLoginPage_1.KeycloakLoginPage(page));
|
|
158
|
+
},
|
|
159
|
+
keycloakAdminPage: async ({ page }, use) => {
|
|
160
|
+
await use(new KeycloakAdminPage_1.KeycloakAdminPage(page));
|
|
161
|
+
},
|
|
162
|
+
ocIdentityGroupsPage: async ({ page }, use) => {
|
|
163
|
+
await use(new OCIdentityGroupsPage_1.OCIdentityGroupsPage(page));
|
|
164
|
+
},
|
|
165
|
+
ocTenantPage: async ({ page }, use) => {
|
|
166
|
+
await use(new OCTenantPage_1.OCTenantPage(page));
|
|
167
|
+
},
|
|
168
|
+
overrideTrackingScripts: [
|
|
169
|
+
async ({ context }, use) => {
|
|
170
|
+
await context.route('https://cmp.osano.com/16CVvwSNKHi9t1grQ/9403708a-488b-4f3b-aea6-613825dec79f/osano.js', (route) => route.fulfill({
|
|
171
|
+
status: 200,
|
|
172
|
+
headers: {
|
|
173
|
+
'Content-Type': 'text/javascript;charset=UTF-8',
|
|
174
|
+
},
|
|
175
|
+
body: '',
|
|
176
|
+
}));
|
|
177
|
+
await use();
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
auto: true,
|
|
181
|
+
},
|
|
182
|
+
],
|
|
183
|
+
});
|
|
184
|
+
exports.test = test;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Page, Locator } from '@playwright/test';
|
|
2
|
+
declare class Authorization {
|
|
3
|
+
readonly page: Page;
|
|
4
|
+
protected readonly selectResourceTypeTab: (name: string) => Locator;
|
|
5
|
+
protected readonly createAuthorizationModal: Locator;
|
|
6
|
+
protected readonly createAuthorizationButton: Locator;
|
|
7
|
+
protected readonly createAuthorizationOwnerTypeCombobox: Locator;
|
|
8
|
+
protected readonly createAuthorizationOwnerTypeOption: (name: string) => Locator;
|
|
9
|
+
protected readonly createAuthorizationOwnerComboBox: Locator;
|
|
10
|
+
protected readonly createAuthorizationOwnerOption: (name: string) => Locator;
|
|
11
|
+
protected readonly createAuthorizationResourceTypeDropdown: Locator;
|
|
12
|
+
protected readonly createAuthorizationResourceTypeOption: (name: string) => Locator;
|
|
13
|
+
protected readonly createAuthorizationResourceIdField: Locator;
|
|
14
|
+
protected readonly createAuthorizationAccessPermission: (name: string) => Locator;
|
|
15
|
+
protected readonly createAuthorizationSubmitButton: Locator;
|
|
16
|
+
protected readonly authorizationsList: Locator;
|
|
17
|
+
protected readonly deleteAuthorizationButton: (name: string) => Locator;
|
|
18
|
+
protected readonly deleteAuthorizationModal: Locator;
|
|
19
|
+
protected readonly deleteAuthorizationModalDeleteButton: Locator;
|
|
20
|
+
protected readonly tableFilter: Locator;
|
|
21
|
+
constructor(page: Page);
|
|
22
|
+
createAuthorization(authorization: {
|
|
23
|
+
ownerType: string;
|
|
24
|
+
ownerId: string;
|
|
25
|
+
resourceType: string;
|
|
26
|
+
resourceId: string;
|
|
27
|
+
accessPermissions: string[];
|
|
28
|
+
}): Promise<void>;
|
|
29
|
+
deleteAuthorization(resourceId: string, resourceType: string): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
export { Authorization };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Authorization = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const UtilitiesPage_1 = require("../SM-8.10/UtilitiesPage");
|
|
6
|
+
const sleep_1 = require("../../utils/sleep");
|
|
7
|
+
class Authorization {
|
|
8
|
+
page;
|
|
9
|
+
selectResourceTypeTab;
|
|
10
|
+
createAuthorizationModal;
|
|
11
|
+
createAuthorizationButton;
|
|
12
|
+
createAuthorizationOwnerTypeCombobox;
|
|
13
|
+
createAuthorizationOwnerTypeOption;
|
|
14
|
+
createAuthorizationOwnerComboBox;
|
|
15
|
+
createAuthorizationOwnerOption;
|
|
16
|
+
createAuthorizationResourceTypeDropdown;
|
|
17
|
+
createAuthorizationResourceTypeOption;
|
|
18
|
+
createAuthorizationResourceIdField;
|
|
19
|
+
createAuthorizationAccessPermission;
|
|
20
|
+
createAuthorizationSubmitButton;
|
|
21
|
+
authorizationsList;
|
|
22
|
+
deleteAuthorizationButton;
|
|
23
|
+
deleteAuthorizationModal;
|
|
24
|
+
deleteAuthorizationModalDeleteButton;
|
|
25
|
+
tableFilter;
|
|
26
|
+
constructor(page) {
|
|
27
|
+
this.page = page;
|
|
28
|
+
this.selectResourceTypeTab = (resourceType) => page.getByRole('tab', { name: resourceType });
|
|
29
|
+
this.authorizationsList = page.getByRole('table');
|
|
30
|
+
this.createAuthorizationButton = page.getByRole('button', {
|
|
31
|
+
name: /create authorization/i,
|
|
32
|
+
});
|
|
33
|
+
this.createAuthorizationModal = page.getByRole('dialog', {
|
|
34
|
+
name: 'Create authorization',
|
|
35
|
+
});
|
|
36
|
+
this.createAuthorizationOwnerTypeCombobox =
|
|
37
|
+
this.createAuthorizationModal.getByRole('combobox', {
|
|
38
|
+
name: 'Owner type',
|
|
39
|
+
});
|
|
40
|
+
this.createAuthorizationOwnerTypeOption = (name) => this.createAuthorizationModal.getByRole('option', {
|
|
41
|
+
name,
|
|
42
|
+
exact: true,
|
|
43
|
+
});
|
|
44
|
+
this.createAuthorizationOwnerComboBox =
|
|
45
|
+
this.createAuthorizationModal.getByRole('combobox', {
|
|
46
|
+
name: 'Owner',
|
|
47
|
+
exact: true,
|
|
48
|
+
});
|
|
49
|
+
this.createAuthorizationOwnerOption = (name) => this.createAuthorizationModal.getByRole('option', {
|
|
50
|
+
name,
|
|
51
|
+
exact: true,
|
|
52
|
+
});
|
|
53
|
+
this.createAuthorizationResourceTypeDropdown =
|
|
54
|
+
this.createAuthorizationModal.getByRole('combobox', {
|
|
55
|
+
name: 'Resource type',
|
|
56
|
+
});
|
|
57
|
+
this.createAuthorizationResourceTypeOption = (name) => this.createAuthorizationModal.getByRole('option', {
|
|
58
|
+
name,
|
|
59
|
+
exact: true,
|
|
60
|
+
});
|
|
61
|
+
this.createAuthorizationResourceIdField =
|
|
62
|
+
this.createAuthorizationModal.getByRole('textbox', {
|
|
63
|
+
name: 'Resource ID',
|
|
64
|
+
});
|
|
65
|
+
this.createAuthorizationAccessPermission = (name) => this.createAuthorizationModal.locator(`.cds--checkbox-wrapper label[for="${name}"]`);
|
|
66
|
+
this.createAuthorizationSubmitButton =
|
|
67
|
+
this.createAuthorizationModal.getByRole('button', {
|
|
68
|
+
name: 'Create authorization',
|
|
69
|
+
});
|
|
70
|
+
this.authorizationsList = page.getByRole('table');
|
|
71
|
+
this.deleteAuthorizationButton = (name) => this.authorizationsList.getByRole('row', { name }).getByLabel('Delete');
|
|
72
|
+
this.deleteAuthorizationModal = page.getByRole('dialog', {
|
|
73
|
+
name: /delete authorization/i,
|
|
74
|
+
});
|
|
75
|
+
this.deleteAuthorizationModalDeleteButton =
|
|
76
|
+
this.deleteAuthorizationModal.getByRole('button', {
|
|
77
|
+
name: /delete authorization/i,
|
|
78
|
+
});
|
|
79
|
+
this.tableFilter = page.getByRole('searchbox', { name: 'Filter table' });
|
|
80
|
+
}
|
|
81
|
+
async createAuthorization(authorization) {
|
|
82
|
+
await this.createAuthorizationButton.click();
|
|
83
|
+
await (0, test_1.expect)(this.createAuthorizationModal).toBeVisible();
|
|
84
|
+
await this.createAuthorizationOwnerTypeCombobox.click();
|
|
85
|
+
await this.createAuthorizationOwnerTypeOption(authorization.ownerType).click();
|
|
86
|
+
await this.createAuthorizationOwnerComboBox.click();
|
|
87
|
+
await (0, test_1.expect)(this.createAuthorizationOwnerOption(authorization.ownerId)).toBeVisible({
|
|
88
|
+
timeout: 30000,
|
|
89
|
+
});
|
|
90
|
+
await this.createAuthorizationOwnerOption(authorization.ownerId).click({
|
|
91
|
+
timeout: 30000,
|
|
92
|
+
});
|
|
93
|
+
await this.createAuthorizationResourceTypeDropdown.click();
|
|
94
|
+
await this.createAuthorizationResourceTypeOption(authorization.resourceType).click({ timeout: 30000 });
|
|
95
|
+
await this.createAuthorizationResourceIdField.fill(authorization.resourceId);
|
|
96
|
+
for (const permission of authorization.accessPermissions) {
|
|
97
|
+
await (0, sleep_1.sleep)(200);
|
|
98
|
+
const permissionLabel = this.createAuthorizationAccessPermission(permission);
|
|
99
|
+
const permissionInput = this.createAuthorizationModal.locator(`input[id="${permission}"]`);
|
|
100
|
+
await (0, test_1.expect)(permissionLabel).toBeVisible();
|
|
101
|
+
if (!(await permissionInput.isChecked())) {
|
|
102
|
+
await permissionLabel.scrollIntoViewIfNeeded();
|
|
103
|
+
await (0, sleep_1.sleep)(300);
|
|
104
|
+
let clickAttempts = 0;
|
|
105
|
+
const maxAttempts = 3;
|
|
106
|
+
while (!(await permissionInput.isChecked()) &&
|
|
107
|
+
clickAttempts < maxAttempts) {
|
|
108
|
+
clickAttempts++;
|
|
109
|
+
await permissionLabel.click({ force: true });
|
|
110
|
+
await (0, sleep_1.sleep)(500);
|
|
111
|
+
if (await permissionInput.isChecked()) {
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
if (clickAttempts < maxAttempts) {
|
|
115
|
+
await permissionLabel.click();
|
|
116
|
+
await (0, sleep_1.sleep)(300);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
await (0, test_1.expect)(permissionInput).toBeChecked({ timeout: 3000 });
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
await this.createAuthorizationSubmitButton.click();
|
|
123
|
+
await (0, test_1.expect)(this.createAuthorizationModal).not.toBeVisible({
|
|
124
|
+
timeout: 10000,
|
|
125
|
+
});
|
|
126
|
+
await this.selectResourceTypeTab(authorization.resourceType).click();
|
|
127
|
+
const item = this.page.getByRole('row').filter({
|
|
128
|
+
hasText: `${authorization.ownerId}${authorization.resourceId}`,
|
|
129
|
+
});
|
|
130
|
+
await this.tableFilter.click();
|
|
131
|
+
await this.tableFilter.fill(authorization.resourceType);
|
|
132
|
+
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(this.page, item, authorization.resourceType, 5000, false, 10, this.selectResourceTypeTab(authorization.resourceType));
|
|
133
|
+
}
|
|
134
|
+
async deleteAuthorization(resourceId, resourceType) {
|
|
135
|
+
await this.deleteAuthorizationButton(resourceId).click();
|
|
136
|
+
await (0, test_1.expect)(this.deleteAuthorizationModal).toBeVisible();
|
|
137
|
+
await this.deleteAuthorizationModalDeleteButton.click();
|
|
138
|
+
await (0, test_1.expect)(this.deleteAuthorizationModal).not.toBeVisible();
|
|
139
|
+
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(this.page, this.authorizationsList
|
|
140
|
+
.getByRole('cell', {
|
|
141
|
+
name: resourceId,
|
|
142
|
+
})
|
|
143
|
+
.first(), resourceId, 5000, true, 3, this.selectResourceTypeTab(resourceType));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.Authorization = Authorization;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Page, Locator } from '@playwright/test';
|
|
2
|
+
declare class ClusterDetailsPage {
|
|
3
|
+
private page;
|
|
4
|
+
readonly customPropertiesHeading: Locator;
|
|
5
|
+
constructor(page: Page);
|
|
6
|
+
assertCustomPropertyIsNavigated(linkTitle: string, linkName: string, link: string): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export { ClusterDetailsPage };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClusterDetailsPage = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
class ClusterDetailsPage {
|
|
6
|
+
page;
|
|
7
|
+
customPropertiesHeading;
|
|
8
|
+
constructor(page) {
|
|
9
|
+
this.page = page;
|
|
10
|
+
this.customPropertiesHeading = this.page.getByRole('heading', {
|
|
11
|
+
name: 'Custom properties',
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async assertCustomPropertyIsNavigated(linkTitle, linkName, link) {
|
|
15
|
+
const pageTabPromise = this.page.waitForEvent('popup', {
|
|
16
|
+
timeout: 60000,
|
|
17
|
+
});
|
|
18
|
+
await this.page
|
|
19
|
+
.getByRole('row', { name: linkTitle })
|
|
20
|
+
.getByRole('link', { name: linkName })
|
|
21
|
+
.click({
|
|
22
|
+
timeout: 60000,
|
|
23
|
+
});
|
|
24
|
+
const camundaPage = await pageTabPromise;
|
|
25
|
+
await (0, test_1.expect)(camundaPage).toHaveURL(link);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.ClusterDetailsPage = ClusterDetailsPage;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Page, Locator } from '@playwright/test';
|
|
2
|
+
declare class ClusterPage {
|
|
3
|
+
private page;
|
|
4
|
+
readonly clustersList: Locator;
|
|
5
|
+
readonly defaultClusterName: string;
|
|
6
|
+
readonly cluster: Locator;
|
|
7
|
+
constructor(page: Page);
|
|
8
|
+
clickClusterLink(): Promise<void>;
|
|
9
|
+
assertCustomTagsAreVisible(tags: string[]): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export { ClusterPage };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClusterPage = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
class ClusterPage {
|
|
6
|
+
page;
|
|
7
|
+
clustersList;
|
|
8
|
+
defaultClusterName = process.env.CLUSTER_NAME || 'integration';
|
|
9
|
+
cluster;
|
|
10
|
+
constructor(page) {
|
|
11
|
+
this.page = page;
|
|
12
|
+
this.clustersList = page
|
|
13
|
+
.getByRole('row')
|
|
14
|
+
.filter({ hasNotText: 'Generation' }); //Filter out header row
|
|
15
|
+
this.cluster = this.clustersList.getByText(this.defaultClusterName).first();
|
|
16
|
+
}
|
|
17
|
+
async clickClusterLink() {
|
|
18
|
+
await (0, test_1.expect)(this.cluster).toBeVisible({ timeout: 60000 });
|
|
19
|
+
await this.cluster.click({ timeout: 30000 });
|
|
20
|
+
await (0, test_1.expect)(this.page.getByText('Cluster details').first()).toBeVisible({
|
|
21
|
+
timeout: 10000,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async assertCustomTagsAreVisible(tags) {
|
|
25
|
+
for (const tag of tags) {
|
|
26
|
+
await (0, test_1.expect)(this.clustersList.getByText(tag, { exact: true })).toBeVisible({
|
|
27
|
+
timeout: 60000,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.ClusterPage = ClusterPage;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Page, Locator } from '@playwright/test';
|
|
2
|
+
declare class ConnectorMarketplacePage {
|
|
3
|
+
private page;
|
|
4
|
+
readonly searchForConnectorTextbox: Locator;
|
|
5
|
+
readonly downloadToProjectButton: Locator;
|
|
6
|
+
readonly replaceResourceButton: Locator;
|
|
7
|
+
readonly cancelButton: Locator;
|
|
8
|
+
constructor(page: Page);
|
|
9
|
+
clickSearchForConnectorTextbox(): Promise<void>;
|
|
10
|
+
fillSearchForConnectorTextbox(connectorName: string): Promise<void>;
|
|
11
|
+
clickDownloadToProjectButton(): Promise<void>;
|
|
12
|
+
clickCancelButton(): Promise<void>;
|
|
13
|
+
clickReplaceResourceButton(): Promise<void>;
|
|
14
|
+
downloadConnectorToProject(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export { ConnectorMarketplacePage };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConnectorMarketplacePage = void 0;
|
|
4
|
+
const sleep_1 = require("../../utils/sleep");
|
|
5
|
+
class ConnectorMarketplacePage {
|
|
6
|
+
page;
|
|
7
|
+
searchForConnectorTextbox;
|
|
8
|
+
downloadToProjectButton;
|
|
9
|
+
replaceResourceButton;
|
|
10
|
+
cancelButton;
|
|
11
|
+
constructor(page) {
|
|
12
|
+
this.page = page;
|
|
13
|
+
this.searchForConnectorTextbox = page.getByPlaceholder('Search for a connector');
|
|
14
|
+
this.downloadToProjectButton = page
|
|
15
|
+
.getByRole('button', { name: 'Download to project' })
|
|
16
|
+
.first();
|
|
17
|
+
this.cancelButton = page.getByRole('button', { name: 'Cancel' });
|
|
18
|
+
this.replaceResourceButton = page.getByRole('button', {
|
|
19
|
+
name: 'Replace resource',
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async clickSearchForConnectorTextbox() {
|
|
23
|
+
await this.searchForConnectorTextbox.click({ timeout: 60000 });
|
|
24
|
+
await (0, sleep_1.sleep)(2000);
|
|
25
|
+
}
|
|
26
|
+
async fillSearchForConnectorTextbox(connectorName) {
|
|
27
|
+
await this.searchForConnectorTextbox.fill(connectorName, { timeout: 60000 });
|
|
28
|
+
await (0, sleep_1.sleep)(2000);
|
|
29
|
+
}
|
|
30
|
+
async clickDownloadToProjectButton() {
|
|
31
|
+
await this.downloadToProjectButton.click({ timeout: 60000 });
|
|
32
|
+
}
|
|
33
|
+
async clickCancelButton() {
|
|
34
|
+
await this.cancelButton.click({ timeout: 30000 });
|
|
35
|
+
}
|
|
36
|
+
async clickReplaceResourceButton() {
|
|
37
|
+
await this.replaceResourceButton.click({ timeout: 30000 });
|
|
38
|
+
}
|
|
39
|
+
async downloadConnectorToProject() {
|
|
40
|
+
await this.clickDownloadToProjectButton();
|
|
41
|
+
try {
|
|
42
|
+
await Promise.race([
|
|
43
|
+
this.replaceResourceButton.click({ timeout: 20000 }),
|
|
44
|
+
this.cancelButton.click({ timeout: 20000 }),
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.ConnectorMarketplacePage = ConnectorMarketplacePage;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Page, Locator } from '@playwright/test';
|
|
2
|
+
declare class ConnectorSettingsPage {
|
|
3
|
+
private page;
|
|
4
|
+
readonly urlInput: Locator;
|
|
5
|
+
readonly resultExpressionInput: Locator;
|
|
6
|
+
readonly authenticationTypeDropdown: Locator;
|
|
7
|
+
readonly usernameInput: Locator;
|
|
8
|
+
readonly passwordInput: Locator;
|
|
9
|
+
readonly methodTypeDropdown: Locator;
|
|
10
|
+
readonly resultVariableInput: Locator;
|
|
11
|
+
readonly bearerTokenInput: Locator;
|
|
12
|
+
readonly authenticationTab: Locator;
|
|
13
|
+
readonly outputMappingTab: Locator;
|
|
14
|
+
readonly httpEndpointTab: Locator;
|
|
15
|
+
readonly correlationTab: Locator;
|
|
16
|
+
readonly inputTab: Locator;
|
|
17
|
+
readonly webhookConfigurationTab: Locator;
|
|
18
|
+
constructor(page: Page);
|
|
19
|
+
clickUrlInput(): Promise<void>;
|
|
20
|
+
fillUrlInput(url: string): Promise<void>;
|
|
21
|
+
clickResultExpressionInput(): Promise<void>;
|
|
22
|
+
fillResultExpressionInput(resultExpression: string): Promise<void>;
|
|
23
|
+
selectAuthenticationType(authentication: string): Promise<void>;
|
|
24
|
+
clickUsernameInput(): Promise<void>;
|
|
25
|
+
fillUsernameInput(username: string): Promise<void>;
|
|
26
|
+
clickPasswordInput(): Promise<void>;
|
|
27
|
+
fillPasswordInput(password: string): Promise<void>;
|
|
28
|
+
selectMethodType(method: string): Promise<void>;
|
|
29
|
+
clickResultVariableInput(): Promise<void>;
|
|
30
|
+
fillResultVariableInput(variable: string): Promise<void>;
|
|
31
|
+
clickBearerTokenInput(): Promise<void>;
|
|
32
|
+
fillBearerTokenInput(token: string): Promise<void>;
|
|
33
|
+
clickAuthenticationTab(): Promise<void>;
|
|
34
|
+
clickOutputMappingTab(): Promise<void>;
|
|
35
|
+
clickHTTPEndpointTab(): Promise<void>;
|
|
36
|
+
clickCorrelationTab(): Promise<void>;
|
|
37
|
+
clickInputTab(): Promise<void>;
|
|
38
|
+
clickWebhookConfigurationTab(): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
export { ConnectorSettingsPage };
|