@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,328 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.modelConnectorsTimerEventDiagram = exports.deleteAllUserGroups = exports.assertTestUsesCorrectOrganization = exports.clickInvitationLinkInEmail = exports.enableRBA = exports.disableRBA = exports.runMultipleProcesses = exports.modelDiagramFromFile = exports.runProcess = exports.completeTaskWithRetry = exports.assertPageTextWithRetry = exports.assertLocatorVisibleWithRetry = exports.modelRestConnector = exports.loginWithRetry = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
const ModelerHomePage_1 = require("./ModelerHomePage");
|
|
6
|
-
const HomePage_1 = require("./HomePage");
|
|
7
|
-
const sleep_1 = require("../../utils/sleep");
|
|
8
|
-
const randomSleep_1 = require("../../utils/randomSleep");
|
|
9
|
-
const fileUpload_1 = require("../../utils/fileUpload");
|
|
10
|
-
const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
|
|
11
|
-
async function loginWithRetry(page, loginPage, testUser, timeout, maxRetries = 3) {
|
|
12
|
-
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
13
|
-
try {
|
|
14
|
-
await page.goto('/');
|
|
15
|
-
await (0, sleep_1.sleep)(timeout);
|
|
16
|
-
await loginPage.login(testUser);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
if (attempt < maxRetries - 1) {
|
|
21
|
-
console.warn(`Attempt ${attempt + 1} failed for logging in. Retrying...`);
|
|
22
|
-
await (0, randomSleep_1.randomSleep)(10000, 20000);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
console.error(error);
|
|
26
|
-
throw new Error(`Login failed after ${maxRetries} attempts`);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.loginWithRetry = loginWithRetry;
|
|
32
|
-
async function modelRestConnector(modelerCreatePage, connectorSettingsPage, processName, url, auth, resultExpression, resultVariable = '', basicAuthCredentials = {
|
|
33
|
-
username: '',
|
|
34
|
-
password: '',
|
|
35
|
-
}) {
|
|
36
|
-
await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
|
|
37
|
-
timeout: 30000,
|
|
38
|
-
});
|
|
39
|
-
await modelerCreatePage.enterDiagramName(processName);
|
|
40
|
-
await (0, sleep_1.sleep)(10000);
|
|
41
|
-
await modelerCreatePage.clickAppendElementButton();
|
|
42
|
-
await modelerCreatePage.clickAppendTaskButton();
|
|
43
|
-
await modelerCreatePage.clickChangeTypeButton();
|
|
44
|
-
await modelerCreatePage.clickRestConnectorOption();
|
|
45
|
-
await connectorSettingsPage.clickAuthenticationTab();
|
|
46
|
-
await connectorSettingsPage.clickHTTPEndpointTab();
|
|
47
|
-
if (auth == 'bearer') {
|
|
48
|
-
await connectorSettingsPage.selectAuthenticationType('bearer');
|
|
49
|
-
await (0, test_1.expect)(connectorSettingsPage.bearerTokenInput).toBeVisible({
|
|
50
|
-
timeout: 60000,
|
|
51
|
-
});
|
|
52
|
-
await connectorSettingsPage.clickBearerTokenInput();
|
|
53
|
-
await connectorSettingsPage.fillBearerTokenInput('thisisabearertoken');
|
|
54
|
-
await connectorSettingsPage.selectMethodType('POST');
|
|
55
|
-
}
|
|
56
|
-
else if (auth == 'basic') {
|
|
57
|
-
await connectorSettingsPage.selectAuthenticationType('basic');
|
|
58
|
-
await (0, test_1.expect)(connectorSettingsPage.usernameInput).toBeVisible({
|
|
59
|
-
timeout: 60000,
|
|
60
|
-
});
|
|
61
|
-
await connectorSettingsPage.clickUsernameInput();
|
|
62
|
-
(0, test_1.expect)(basicAuthCredentials['username'].length).toBeGreaterThan(0);
|
|
63
|
-
(0, test_1.expect)(basicAuthCredentials['password'].length).toBeGreaterThan(0);
|
|
64
|
-
await connectorSettingsPage.fillUsernameInput(basicAuthCredentials['username']);
|
|
65
|
-
await connectorSettingsPage.clickPasswordInput();
|
|
66
|
-
await connectorSettingsPage.fillPasswordInput(basicAuthCredentials['password']);
|
|
67
|
-
await connectorSettingsPage.selectMethodType('POST');
|
|
68
|
-
}
|
|
69
|
-
await connectorSettingsPage.clickUrlInput();
|
|
70
|
-
await connectorSettingsPage.fillUrlInput(url);
|
|
71
|
-
await connectorSettingsPage.clickOutputMappingTab();
|
|
72
|
-
if (resultVariable.length > 0) {
|
|
73
|
-
await connectorSettingsPage.clickResultVariableInput();
|
|
74
|
-
await connectorSettingsPage.fillResultVariableInput('result');
|
|
75
|
-
}
|
|
76
|
-
await connectorSettingsPage.clickResultExpressionInput();
|
|
77
|
-
await connectorSettingsPage.fillResultExpressionInput(resultExpression);
|
|
78
|
-
await modelerCreatePage.clickAppendElementButton();
|
|
79
|
-
await modelerCreatePage.clickAppendEndEventButton();
|
|
80
|
-
await (0, sleep_1.sleep)(10000);
|
|
81
|
-
}
|
|
82
|
-
exports.modelRestConnector = modelRestConnector;
|
|
83
|
-
async function assertLocatorVisibleWithRetry(page, locator, text, timeout = 120000, maxRetries = 3) {
|
|
84
|
-
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
85
|
-
try {
|
|
86
|
-
await (0, test_1.expect)(locator).toBeVisible({
|
|
87
|
-
timeout: timeout,
|
|
88
|
-
});
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
if (attempt < maxRetries - 1) {
|
|
93
|
-
console.warn(`Attempt ${attempt + 1} failed for asserting ${text}. Retrying...`);
|
|
94
|
-
await page.reload();
|
|
95
|
-
await (0, sleep_1.sleep)(5000);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
throw new Error(`Assertion failed after ${maxRetries} attempts`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
exports.assertLocatorVisibleWithRetry = assertLocatorVisibleWithRetry;
|
|
104
|
-
async function assertPageTextWithRetry(page, text, notVisible, timeout = 120000, maxRetries = 3) {
|
|
105
|
-
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
106
|
-
try {
|
|
107
|
-
await page.reload();
|
|
108
|
-
if (notVisible == true) {
|
|
109
|
-
await (0, sleep_1.sleep)(10000);
|
|
110
|
-
await (0, test_1.expect)(page.getByText(text, { exact: true }).first()).not.toBeVisible({
|
|
111
|
-
timeout: timeout,
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
await (0, test_1.expect)(page.getByText(text, { exact: true }).first()).toBeVisible({
|
|
116
|
-
timeout: timeout,
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
catch (error) {
|
|
122
|
-
if (attempt < maxRetries - 1) {
|
|
123
|
-
console.warn(`Attempt ${attempt + 1} failed for asserting ${text}. Retrying...`);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
throw new Error(`Assertion failed after ${maxRetries} attempts`);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
exports.assertPageTextWithRetry = assertPageTextWithRetry;
|
|
132
|
-
async function completeTaskWithRetry(taskPanelPage, taskDetailsPage, taskName, taskPriority, maxRetries = 3) {
|
|
133
|
-
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
134
|
-
try {
|
|
135
|
-
await taskPanelPage.openTask(taskName);
|
|
136
|
-
await (0, test_1.expect)(taskDetailsPage.detailsInfo.getByText(taskName, { exact: true })).toBeVisible();
|
|
137
|
-
if (!(await taskDetailsPage.assignedToMeText.isVisible())) {
|
|
138
|
-
await taskDetailsPage.clickAssignToMeButton();
|
|
139
|
-
}
|
|
140
|
-
await (0, test_1.expect)(taskDetailsPage.detailsPanel.getByText(taskPriority)).toBeVisible();
|
|
141
|
-
await taskDetailsPage.clickCompleteTaskButton();
|
|
142
|
-
await (0, test_1.expect)(taskPanelPage.availableTasks.getByText(taskName, { exact: true }).first()).not.toBeVisible({ timeout: 5000 });
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
if (attempt < maxRetries - 1) {
|
|
147
|
-
console.warn(`Attempt ${attempt + 1} failed for completing task ${taskName}. Retrying...`);
|
|
148
|
-
await (0, sleep_1.sleep)(2000);
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
throw new Error(`Failed to complete task ${taskName} after ${maxRetries} attempts: ${error}`);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
exports.completeTaskWithRetry = completeTaskWithRetry;
|
|
157
|
-
async function runProcess(clusterName, page, modelerHomePage, modelerCreatePage, processName, processId = '', uploadFromFile = '') {
|
|
158
|
-
if (uploadFromFile.length > 0) {
|
|
159
|
-
await modelDiagramFromFile(page, modelerHomePage, modelerCreatePage, processName, uploadFromFile);
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
await modelerHomePage.clickDiagramTypeDropdown();
|
|
163
|
-
await modelerHomePage.clickBpmnTemplateOption();
|
|
164
|
-
await modelerCreatePage.modelCamundaUserTaskDiagram(processName, processId);
|
|
165
|
-
}
|
|
166
|
-
await modelerCreatePage.runProcessInstance(clusterName);
|
|
167
|
-
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
168
|
-
timeout: 60000,
|
|
169
|
-
});
|
|
170
|
-
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeHidden({
|
|
171
|
-
timeout: 60000,
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
exports.runProcess = runProcess;
|
|
175
|
-
async function modelDiagramFromFile(page, modelerHomePage, modelerCreatePage, processName, fileName = '', nrOfRenamedUserTasks = 0, taskName = '') {
|
|
176
|
-
await modelerHomePage.clickDiagramTypeDropdown();
|
|
177
|
-
await modelerHomePage.clickUploadFilesButton();
|
|
178
|
-
await (0, fileUpload_1.uploadFile)(page, fileName + '.bpmn');
|
|
179
|
-
await modelerHomePage.clickProcessDiagram(fileName);
|
|
180
|
-
await modelerCreatePage.clickDiagramBreadcrumb();
|
|
181
|
-
await modelerCreatePage.clickEditDiagramNameButton();
|
|
182
|
-
await modelerCreatePage.enterDiagramName(processName);
|
|
183
|
-
await (0, sleep_1.sleep)(1000);
|
|
184
|
-
await modelerCreatePage.clickGeneralPropertiesPanel();
|
|
185
|
-
await modelerCreatePage.clickNameInput();
|
|
186
|
-
await modelerCreatePage.fillNameInput(processName);
|
|
187
|
-
await modelerCreatePage.clickIdInput();
|
|
188
|
-
await modelerCreatePage.fillIdInput(processName);
|
|
189
|
-
if (nrOfRenamedUserTasks > 0) {
|
|
190
|
-
for (let i = 1; i <= nrOfRenamedUserTasks; i++) {
|
|
191
|
-
await modelerCreatePage.clickUserTask('process' + i);
|
|
192
|
-
await modelerCreatePage.clickNameInput();
|
|
193
|
-
await modelerCreatePage.fillNameInput(taskName + i);
|
|
194
|
-
await modelerCreatePage.clickIdInput();
|
|
195
|
-
await modelerCreatePage.fillIdInput(taskName + i);
|
|
196
|
-
await modelerCreatePage.clickCanvas();
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
await (0, sleep_1.sleep)(10000);
|
|
200
|
-
}
|
|
201
|
-
exports.modelDiagramFromFile = modelDiagramFromFile;
|
|
202
|
-
async function runMultipleProcesses(clusterName, page, modelerHomePage, modelerCreatePage, options) {
|
|
203
|
-
const { processName = 'Camunda_User_Task', numberOfProcesses = 2, uploadFromFile = '', } = options || {};
|
|
204
|
-
for (let i = 1; i <= numberOfProcesses; i++) {
|
|
205
|
-
await runProcess(clusterName, page, modelerHomePage, modelerCreatePage, processName + i, processName + i, uploadFromFile);
|
|
206
|
-
await modelerHomePage.clickProjectBreadcrumb();
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
exports.runMultipleProcesses = runMultipleProcesses;
|
|
210
|
-
async function disableRBA(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage) {
|
|
211
|
-
await appsPage.clickCamundaApps();
|
|
212
|
-
await appsPage.clickConsoleLink();
|
|
213
|
-
await (0, test_1.expect)(homePage.clusterTab).toBeVisible({ timeout: 120000 });
|
|
214
|
-
await homePage.clickClusters();
|
|
215
|
-
await clusterPage.clickClusterLink(clusterName);
|
|
216
|
-
await (0, test_1.expect)(clusterDetailsPage.settingsTab).toBeVisible({
|
|
217
|
-
timeout: 90000,
|
|
218
|
-
});
|
|
219
|
-
await clusterDetailsPage.clickSettingsTab();
|
|
220
|
-
await clusterDetailsPage.disableRBA();
|
|
221
|
-
await homePage.clickClusters();
|
|
222
|
-
await clusterPage.assertClusterHealthyStatusWithRetry(clusterName);
|
|
223
|
-
await clusterPage.clickClusterLink(clusterName);
|
|
224
|
-
await (0, test_1.expect)(clusterDetailsPage.rbaEnabledMessage.first()).not.toBeVisible({
|
|
225
|
-
timeout: 30000,
|
|
226
|
-
});
|
|
227
|
-
await clusterDetailsPage.assertComponentsHealth();
|
|
228
|
-
}
|
|
229
|
-
exports.disableRBA = disableRBA;
|
|
230
|
-
async function enableRBA(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage) {
|
|
231
|
-
await appsPage.clickCamundaApps();
|
|
232
|
-
await appsPage.clickConsoleLink();
|
|
233
|
-
await (0, test_1.expect)(homePage.clusterTab).toBeVisible({ timeout: 120000 });
|
|
234
|
-
await homePage.clickClusters();
|
|
235
|
-
await clusterPage.clickClusterLink(clusterName);
|
|
236
|
-
await (0, test_1.expect)(clusterDetailsPage.settingsTab).toBeVisible({
|
|
237
|
-
timeout: 90000,
|
|
238
|
-
});
|
|
239
|
-
await clusterDetailsPage.clickSettingsTab();
|
|
240
|
-
await clusterDetailsPage.enableRBA();
|
|
241
|
-
await homePage.clickClusters();
|
|
242
|
-
await clusterPage.assertClusterHealthyStatusWithRetry(clusterName);
|
|
243
|
-
await clusterPage.clickClusterLink(clusterName);
|
|
244
|
-
await (0, test_1.expect)(clusterDetailsPage.rbaEnabledMessage.first()).toBeVisible({
|
|
245
|
-
timeout: 30000,
|
|
246
|
-
});
|
|
247
|
-
await clusterDetailsPage.assertComponentsHealth();
|
|
248
|
-
}
|
|
249
|
-
exports.enableRBA = enableRBA;
|
|
250
|
-
async function clickInvitationLinkInEmail(page, id) {
|
|
251
|
-
const email = await mailSlurpClient_1.mailSlurp.waitForLatestEmail(id, 120000);
|
|
252
|
-
if (email && email.body) {
|
|
253
|
-
const confirmationLinkMatch = email.body.match(/href="([^"]*)/);
|
|
254
|
-
if (confirmationLinkMatch) {
|
|
255
|
-
await page.goto(confirmationLinkMatch[1]);
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
throw new Error('Confirmation link not found in email body.');
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
else {
|
|
262
|
-
throw new Error('Email or email body is null or undefined.');
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
exports.clickInvitationLinkInEmail = clickInvitationLinkInEmail;
|
|
266
|
-
async function assertTestUsesCorrectOrganization(page) {
|
|
267
|
-
const homePage = new HomePage_1.HomePage(page);
|
|
268
|
-
await (0, test_1.expect)(homePage.openOrganizationButton).toBeVisible({ timeout: 90000 });
|
|
269
|
-
if (page.url().includes('modeler')) {
|
|
270
|
-
const modelerHomePage = new ModelerHomePage_1.ModelerHomePage(page);
|
|
271
|
-
await modelerHomePage.clickMessageBanner();
|
|
272
|
-
await (0, test_1.expect)(homePage.modelerBanner).toBeVisible({ timeout: 30000 });
|
|
273
|
-
}
|
|
274
|
-
else {
|
|
275
|
-
await (0, test_1.expect)(homePage.consoleBanner).toBeVisible({ timeout: 30000 });
|
|
276
|
-
}
|
|
277
|
-
try {
|
|
278
|
-
await (0, test_1.expect)(page.url()).toContain(process.env.ORG_ID);
|
|
279
|
-
}
|
|
280
|
-
catch (error) {
|
|
281
|
-
// If the first check fails, check by org name
|
|
282
|
-
try {
|
|
283
|
-
await homePage.clickOpenOrganizationButton();
|
|
284
|
-
await page
|
|
285
|
-
.getByRole('treeitem', { name: process.env.ORG_NAME, exact: true })
|
|
286
|
-
.click({ timeout: 30000 });
|
|
287
|
-
}
|
|
288
|
-
catch (reloadError) {
|
|
289
|
-
await page
|
|
290
|
-
.getByRole('button', { name: process.env.ORG_NAME })
|
|
291
|
-
.click({ timeout: 30000 });
|
|
292
|
-
}
|
|
293
|
-
await (0, test_1.expect)(page
|
|
294
|
-
.locator('[class="cds--header__global"]')
|
|
295
|
-
.getByTitle(process.env.ORG_NAME, { exact: true })
|
|
296
|
-
.first()).toBeVisible({
|
|
297
|
-
timeout: 30000,
|
|
298
|
-
});
|
|
299
|
-
await (0, test_1.expect)(page.url()).toContain(process.env.ORG_ID);
|
|
300
|
-
await (0, sleep_1.sleep)(5000);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
exports.assertTestUsesCorrectOrganization = assertTestUsesCorrectOrganization;
|
|
304
|
-
async function deleteAllUserGroups(homePage, organizationPage, appsPage) {
|
|
305
|
-
await appsPage.clickCamundaApps();
|
|
306
|
-
await appsPage.clickConsoleLink();
|
|
307
|
-
await (0, test_1.expect)(homePage.organizationTab).toBeVisible({ timeout: 120000 });
|
|
308
|
-
await homePage.clickOrganization();
|
|
309
|
-
await organizationPage.clickGroupsTab();
|
|
310
|
-
await organizationPage.deleteAllGroups();
|
|
311
|
-
}
|
|
312
|
-
exports.deleteAllUserGroups = deleteAllUserGroups;
|
|
313
|
-
async function modelConnectorsTimerEventDiagram(modelerCreatePage, modelerHomePage, processName, page) {
|
|
314
|
-
await modelerHomePage.clickCrossComponentProjectFolder();
|
|
315
|
-
await modelerHomePage.clickDiagramTypeDropdown();
|
|
316
|
-
await modelerHomePage.clickUploadFilesButton();
|
|
317
|
-
await (0, fileUpload_1.uploadFile)(page, 'Rest Connector Timer Event.bpmn');
|
|
318
|
-
await modelerHomePage.clickProcessDiagram('Rest Connector Timer Event');
|
|
319
|
-
await modelerCreatePage.clickDiagramBreadcrumb();
|
|
320
|
-
await modelerCreatePage.clickRenameDiagramNameButton();
|
|
321
|
-
await modelerCreatePage.enterDiagramName(processName);
|
|
322
|
-
await modelerCreatePage.clickStartEventElement();
|
|
323
|
-
await modelerCreatePage.clickGeneralPropertiesPanel();
|
|
324
|
-
await modelerCreatePage.clickIdInput();
|
|
325
|
-
await modelerCreatePage.fillIdInput(processName);
|
|
326
|
-
await (0, sleep_1.sleep)(5000);
|
|
327
|
-
}
|
|
328
|
-
exports.modelConnectorsTimerEventDiagram = modelConnectorsTimerEventDiagram;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class ConnectorMarketplacePage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly searchForConnectorTextbox: Locator;
|
|
5
|
-
readonly downloadToProjectButton: Locator;
|
|
6
|
-
readonly snackbar: Locator;
|
|
7
|
-
readonly closeButton: Locator;
|
|
8
|
-
constructor(page: Page);
|
|
9
|
-
clickSearchForConnectorTextbox(): Promise<void>;
|
|
10
|
-
fillSearchForConnectorTextbox(connectorName: string): Promise<void>;
|
|
11
|
-
clickDownloadToProjectButton(): Promise<void>;
|
|
12
|
-
clickSnackbar(): Promise<void>;
|
|
13
|
-
clickCloseButton(): Promise<void>;
|
|
14
|
-
downloadConnectorToProject(): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
export { ConnectorMarketplacePage };
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConnectorMarketplacePage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
class ConnectorMarketplacePage {
|
|
6
|
-
page;
|
|
7
|
-
searchForConnectorTextbox;
|
|
8
|
-
downloadToProjectButton;
|
|
9
|
-
snackbar;
|
|
10
|
-
closeButton;
|
|
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.snackbar = page.locator('[data-test="snackbar"]');
|
|
18
|
-
this.closeButton = page.getByRole('button', { name: 'Close' });
|
|
19
|
-
}
|
|
20
|
-
async clickSearchForConnectorTextbox() {
|
|
21
|
-
await this.searchForConnectorTextbox.click({ timeout: 60000 });
|
|
22
|
-
}
|
|
23
|
-
async fillSearchForConnectorTextbox(connectorName) {
|
|
24
|
-
await this.searchForConnectorTextbox.fill(connectorName, { timeout: 60000 });
|
|
25
|
-
}
|
|
26
|
-
async clickDownloadToProjectButton() {
|
|
27
|
-
await this.downloadToProjectButton.click({ timeout: 60000 });
|
|
28
|
-
}
|
|
29
|
-
async clickSnackbar() {
|
|
30
|
-
await this.snackbar.click({ timeout: 120000 });
|
|
31
|
-
}
|
|
32
|
-
async clickCloseButton() {
|
|
33
|
-
await this.closeButton.click({ timeout: 60000 });
|
|
34
|
-
}
|
|
35
|
-
async downloadConnectorToProject() {
|
|
36
|
-
try {
|
|
37
|
-
await this.clickDownloadToProjectButton();
|
|
38
|
-
await (0, test_1.expect)(this.snackbar).toBeVisible({
|
|
39
|
-
timeout: 30000,
|
|
40
|
-
});
|
|
41
|
-
await this.clickSnackbar();
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
await this.clickCloseButton();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
exports.ConnectorMarketplacePage = ConnectorMarketplacePage;
|
|
@@ -1,28 +0,0 @@
|
|
|
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
|
-
constructor(page: Page);
|
|
13
|
-
clickUrlInput(): Promise<void>;
|
|
14
|
-
fillUrlInput(url: string): Promise<void>;
|
|
15
|
-
clickResultExpressionInput(): Promise<void>;
|
|
16
|
-
fillResultExpressionInput(resultExpression: string): Promise<void>;
|
|
17
|
-
selectAuthenticationType(authentication: string): Promise<void>;
|
|
18
|
-
clickUsernameInput(): Promise<void>;
|
|
19
|
-
fillUsernameInput(username: string): Promise<void>;
|
|
20
|
-
clickPasswordInput(): Promise<void>;
|
|
21
|
-
fillPasswordInput(password: string): Promise<void>;
|
|
22
|
-
selectMethodType(method: string): Promise<void>;
|
|
23
|
-
clickResultVariableInput(): Promise<void>;
|
|
24
|
-
fillResultVariableInput(variable: string): Promise<void>;
|
|
25
|
-
clickBearerTokenInput(): Promise<void>;
|
|
26
|
-
fillBearerTokenInput(token: string): Promise<void>;
|
|
27
|
-
}
|
|
28
|
-
export { ConnectorSettingsPage };
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConnectorSettingsPage = void 0;
|
|
4
|
-
const ModelerCreatePage_1 = require("./ModelerCreatePage");
|
|
5
|
-
class ConnectorSettingsPage {
|
|
6
|
-
page;
|
|
7
|
-
urlInput;
|
|
8
|
-
resultExpressionInput;
|
|
9
|
-
authenticationTypeDropdown;
|
|
10
|
-
usernameInput;
|
|
11
|
-
passwordInput;
|
|
12
|
-
methodTypeDropdown;
|
|
13
|
-
resultVariableInput;
|
|
14
|
-
bearerTokenInput;
|
|
15
|
-
constructor(page) {
|
|
16
|
-
this.page = page;
|
|
17
|
-
this.urlInput = page.getByLabel('URL');
|
|
18
|
-
this.resultExpressionInput = page
|
|
19
|
-
.locator('div')
|
|
20
|
-
.filter({ hasText: /^Result expression=Opened in editor$/ })
|
|
21
|
-
.getByRole('textbox');
|
|
22
|
-
this.authenticationTypeDropdown = page.getByLabel('Type');
|
|
23
|
-
this.usernameInput = page.getByLabel('Username');
|
|
24
|
-
this.passwordInput = page.getByLabel('Password');
|
|
25
|
-
this.methodTypeDropdown = page.getByLabel('Method');
|
|
26
|
-
this.resultVariableInput = page.getByLabel('Result variable');
|
|
27
|
-
this.bearerTokenInput = page.getByLabel('Bearer token');
|
|
28
|
-
}
|
|
29
|
-
async clickUrlInput() {
|
|
30
|
-
try {
|
|
31
|
-
await this.urlInput.click({ timeout: 60000 });
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
const modelerCreatePage = new ModelerCreatePage_1.ModelerCreatePage(this.page);
|
|
35
|
-
await modelerCreatePage.clickStartEventElement();
|
|
36
|
-
await modelerCreatePage.clickAppendTaskButton();
|
|
37
|
-
await modelerCreatePage.clickChangeTypeButton();
|
|
38
|
-
await modelerCreatePage.clickRestConnectorOption();
|
|
39
|
-
await this.urlInput.click({ timeout: 60000 });
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async fillUrlInput(url) {
|
|
43
|
-
await this.urlInput.fill(url);
|
|
44
|
-
}
|
|
45
|
-
async clickResultExpressionInput() {
|
|
46
|
-
await this.resultExpressionInput.click();
|
|
47
|
-
}
|
|
48
|
-
async fillResultExpressionInput(resultExpression) {
|
|
49
|
-
await this.resultExpressionInput.fill(resultExpression);
|
|
50
|
-
}
|
|
51
|
-
async selectAuthenticationType(authentication) {
|
|
52
|
-
await this.authenticationTypeDropdown.selectOption(authentication);
|
|
53
|
-
}
|
|
54
|
-
async clickUsernameInput() {
|
|
55
|
-
await this.usernameInput.click({ timeout: 30000 });
|
|
56
|
-
}
|
|
57
|
-
async fillUsernameInput(username) {
|
|
58
|
-
await this.usernameInput.fill(username, { timeout: 30000 });
|
|
59
|
-
}
|
|
60
|
-
async clickPasswordInput() {
|
|
61
|
-
await this.passwordInput.click();
|
|
62
|
-
}
|
|
63
|
-
async fillPasswordInput(password) {
|
|
64
|
-
await this.passwordInput.fill(password);
|
|
65
|
-
}
|
|
66
|
-
async selectMethodType(method) {
|
|
67
|
-
await this.methodTypeDropdown.selectOption(method, { timeout: 60000 });
|
|
68
|
-
}
|
|
69
|
-
async clickResultVariableInput() {
|
|
70
|
-
await this.resultVariableInput.click();
|
|
71
|
-
}
|
|
72
|
-
async fillResultVariableInput(variable) {
|
|
73
|
-
await this.resultVariableInput.fill(variable);
|
|
74
|
-
}
|
|
75
|
-
async clickBearerTokenInput() {
|
|
76
|
-
await this.bearerTokenInput.click({ timeout: 30000 });
|
|
77
|
-
}
|
|
78
|
-
async fillBearerTokenInput(token) {
|
|
79
|
-
await this.bearerTokenInput.fill(token);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.ConnectorSettingsPage = ConnectorSettingsPage;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class ConnectorTemplatePage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly publishToOrgButton: Locator;
|
|
5
|
-
readonly publishButton: Locator;
|
|
6
|
-
constructor(page: Page);
|
|
7
|
-
clickPublishToOrgButton(): Promise<void>;
|
|
8
|
-
clickPublishButton(): Promise<void>;
|
|
9
|
-
publishConnector(): Promise<void>;
|
|
10
|
-
}
|
|
11
|
-
export { ConnectorTemplatePage };
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConnectorTemplatePage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
class ConnectorTemplatePage {
|
|
6
|
-
page;
|
|
7
|
-
publishToOrgButton;
|
|
8
|
-
publishButton;
|
|
9
|
-
constructor(page) {
|
|
10
|
-
this.page = page;
|
|
11
|
-
this.publishButton = page.getByRole('button', {
|
|
12
|
-
name: 'Publish',
|
|
13
|
-
exact: true,
|
|
14
|
-
});
|
|
15
|
-
this.publishToOrgButton = page.locator('[data-test="publish-to-org"]');
|
|
16
|
-
}
|
|
17
|
-
async clickPublishToOrgButton() {
|
|
18
|
-
await this.publishToOrgButton.click({ timeout: 90000 });
|
|
19
|
-
}
|
|
20
|
-
async clickPublishButton() {
|
|
21
|
-
await this.publishButton.click({ timeout: 90000 });
|
|
22
|
-
}
|
|
23
|
-
async publishConnector() {
|
|
24
|
-
try {
|
|
25
|
-
await (0, test_1.expect)(this.publishToOrgButton).toBeVisible({ timeout: 15000 });
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
await this.clickPublishToOrgButton();
|
|
31
|
-
await this.clickPublishButton();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.ConnectorTemplatePage = ConnectorTemplatePage;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class ConsoleHomePage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly consoleBanner: Locator;
|
|
5
|
-
readonly licenseKeyTagNonProduction: Locator;
|
|
6
|
-
readonly licenseKeyTagProduction: Locator;
|
|
7
|
-
constructor(page: Page);
|
|
8
|
-
}
|
|
9
|
-
export { ConsoleHomePage };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConsoleHomePage = void 0;
|
|
4
|
-
class ConsoleHomePage {
|
|
5
|
-
page;
|
|
6
|
-
consoleBanner;
|
|
7
|
-
licenseKeyTagNonProduction;
|
|
8
|
-
licenseKeyTagProduction;
|
|
9
|
-
constructor(page) {
|
|
10
|
-
this.page = page;
|
|
11
|
-
this.consoleBanner = page.getByRole('link', {
|
|
12
|
-
name: 'Camunda logo Console',
|
|
13
|
-
});
|
|
14
|
-
this.licenseKeyTagNonProduction = page.getByText('Non-production license', {
|
|
15
|
-
exact: true,
|
|
16
|
-
});
|
|
17
|
-
this.licenseKeyTagProduction = page.getByText('Production license', {
|
|
18
|
-
exact: true,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.ConsoleHomePage = ConsoleHomePage;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class ConsoleOrganizationPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly usersTab: Locator;
|
|
5
|
-
readonly optionsButton: Locator;
|
|
6
|
-
readonly editUserMenuItem: Locator;
|
|
7
|
-
readonly operationsEngineerCheckbox: Locator;
|
|
8
|
-
readonly developerCheckbox: Locator;
|
|
9
|
-
readonly analystCheckbox: Locator;
|
|
10
|
-
readonly confirmButton: Locator;
|
|
11
|
-
constructor(page: Page);
|
|
12
|
-
clickUsersTab(): Promise<void>;
|
|
13
|
-
clickOptionsButton(): Promise<void>;
|
|
14
|
-
clickEditUserMenuItem(): Promise<void>;
|
|
15
|
-
clickOperationsEngineerCheckbox(): Promise<void>;
|
|
16
|
-
checkDeveloperCheckbox(): Promise<void>;
|
|
17
|
-
uncheckDeveloperCheckbox(): Promise<void>;
|
|
18
|
-
checkAnalystCheckbox(): Promise<void>;
|
|
19
|
-
uncheckAnalystCheckbox(): Promise<void>;
|
|
20
|
-
clickConfirmButton(): Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
export { ConsoleOrganizationPage };
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConsoleOrganizationPage = void 0;
|
|
4
|
-
class ConsoleOrganizationPage {
|
|
5
|
-
page;
|
|
6
|
-
usersTab;
|
|
7
|
-
optionsButton;
|
|
8
|
-
editUserMenuItem;
|
|
9
|
-
operationsEngineerCheckbox;
|
|
10
|
-
developerCheckbox;
|
|
11
|
-
analystCheckbox;
|
|
12
|
-
confirmButton;
|
|
13
|
-
constructor(page) {
|
|
14
|
-
this.page = page;
|
|
15
|
-
this.usersTab = page.getByRole('tab', { name: 'Users' });
|
|
16
|
-
this.optionsButton = page.getByRole('button', { name: 'Options' });
|
|
17
|
-
this.editUserMenuItem = page.getByRole('menuitem', { name: 'Edit User' });
|
|
18
|
-
this.operationsEngineerCheckbox = page
|
|
19
|
-
.getByRole('group')
|
|
20
|
-
.locator('label')
|
|
21
|
-
.filter({ hasText: 'Operations Engineer' });
|
|
22
|
-
this.developerCheckbox = page
|
|
23
|
-
.getByRole('group')
|
|
24
|
-
.locator('label')
|
|
25
|
-
.filter({ hasText: 'Developer' });
|
|
26
|
-
this.analystCheckbox = page
|
|
27
|
-
.getByRole('group')
|
|
28
|
-
.locator('label')
|
|
29
|
-
.filter({ hasText: 'Analyst' });
|
|
30
|
-
this.confirmButton = page.getByRole('button', { name: 'Confirm' });
|
|
31
|
-
}
|
|
32
|
-
async clickUsersTab() {
|
|
33
|
-
await this.usersTab.click();
|
|
34
|
-
}
|
|
35
|
-
async clickOptionsButton() {
|
|
36
|
-
await this.optionsButton.click();
|
|
37
|
-
}
|
|
38
|
-
async clickEditUserMenuItem() {
|
|
39
|
-
await this.editUserMenuItem.click();
|
|
40
|
-
}
|
|
41
|
-
async clickOperationsEngineerCheckbox() {
|
|
42
|
-
await this.operationsEngineerCheckbox.click();
|
|
43
|
-
}
|
|
44
|
-
async checkDeveloperCheckbox() {
|
|
45
|
-
if (!(await this.developerCheckbox.isChecked())) {
|
|
46
|
-
await this.developerCheckbox.click();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
async uncheckDeveloperCheckbox() {
|
|
50
|
-
if (await this.developerCheckbox.isChecked()) {
|
|
51
|
-
await this.developerCheckbox.click();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
async checkAnalystCheckbox() {
|
|
55
|
-
if (!(await this.analystCheckbox.isChecked())) {
|
|
56
|
-
await this.analystCheckbox.click();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
async uncheckAnalystCheckbox() {
|
|
60
|
-
if (await this.analystCheckbox.isChecked()) {
|
|
61
|
-
await this.analystCheckbox.click();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async clickConfirmButton() {
|
|
65
|
-
await this.confirmButton.click();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
exports.ConsoleOrganizationPage = ConsoleOrganizationPage;
|