@camunda/e2e-test-suite 0.0.1 → 0.0.2
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/README.md +0 -2
- package/dist/pages/8.5/ModelerCreatePage.d.ts +1 -1
- package/dist/pages/8.5/ModelerCreatePage.js +15 -15
- package/dist/pages/8.6/ModelerCreatePage.d.ts +2 -1
- package/dist/pages/8.6/ModelerCreatePage.js +30 -16
- package/dist/pages/8.6/UtilitiesPage.d.ts +1 -3
- package/dist/pages/8.6/UtilitiesPage.js +5 -21
- package/dist/pages/8.7/ConsoleOrganizationPage.js +2 -1
- package/dist/pages/8.7/IdpCreatePage.d.ts +1 -1
- package/dist/pages/8.7/IdpCreatePage.js +16 -4
- package/dist/pages/8.7/ModelerCreatePage.d.ts +5 -5
- package/dist/pages/8.7/ModelerCreatePage.js +27 -30
- package/dist/pages/8.7/ModelerHomePage.d.ts +2 -0
- package/dist/pages/8.7/ModelerHomePage.js +26 -2
- package/dist/pages/8.8/ConsoleOrganizationPage.d.ts +9 -5
- package/dist/pages/8.8/ConsoleOrganizationPage.js +59 -16
- package/dist/pages/8.8/ModelerCreatePage.d.ts +5 -3
- package/dist/pages/8.8/ModelerCreatePage.js +35 -46
- package/dist/pages/8.8/OperateProcessesPage.js +1 -1
- package/dist/pages/8.8/UtilitiesPage.js +1 -1
- package/dist/pages/SM-8.5/ModelerCreatePage.js +1 -0
- package/dist/pages/SM-8.7/ClusterPage.js +1 -1
- package/dist/pages/SM-8.7/ModelerHomePage.js +1 -1
- package/dist/pages/SM-8.7/NavigationPage.js +1 -1
- package/dist/tests/8.6/connectors-user-flows.spec.js +3 -3
- package/dist/tests/8.6/web-modeler-user-flows.spec.js +3 -3
- package/dist/tests/8.7/hto-user-flows.spec.js +0 -3
- package/dist/tests/8.7/idp-user-flows.spec.js +1 -0
- package/dist/tests/8.7/web-modeler-user-flows.spec.js +2 -2
- package/dist/tests/8.8/aws-cluster-user-flows.spec.js +1 -1
- package/dist/tests/8.8/connectors-user-flows.spec.js +0 -2
- package/dist/tests/8.8/console-user-flows.spec.js +1 -3
- package/dist/tests/8.8/hto-user-flows.spec.js +4 -5
- package/dist/tests/8.8/rba-enabled-user-flows.spec.js +5 -3
- package/dist/tests/8.8/web-modeler-user-flows.spec.js +29 -39
- package/dist/tests/SM-8.5/mt-enabled-user-flows.spec.js +18 -0
- package/dist/tests/SM-8.7/mt-enabled-user-flows.spec.js +10 -3
- package/dist/tests/SM-8.8/optimize-user-flows.spec.js +7 -7
- package/package.json +1 -1
- package/dist/fixtures/8.4.d.ts +0 -57
- package/dist/fixtures/8.4.js +0 -150
- package/dist/fixtures/SM-8.4.d.ts +0 -55
- package/dist/fixtures/SM-8.4.js +0 -132
- package/dist/pages/8.4/AppsPage.d.ts +0 -33
- package/dist/pages/8.4/AppsPage.js +0 -333
- package/dist/pages/8.4/ClusterDetailsPage.d.ts +0 -59
- package/dist/pages/8.4/ClusterDetailsPage.js +0 -319
- package/dist/pages/8.4/ClusterPage.d.ts +0 -50
- package/dist/pages/8.4/ClusterPage.js +0 -334
- package/dist/pages/8.4/ClusterSecretsPage.d.ts +0 -21
- package/dist/pages/8.4/ClusterSecretsPage.js +0 -105
- package/dist/pages/8.4/ConnectorMarketplacePage.d.ts +0 -18
- package/dist/pages/8.4/ConnectorMarketplacePage.js +0 -59
- package/dist/pages/8.4/ConnectorSettingsPage.d.ts +0 -28
- package/dist/pages/8.4/ConnectorSettingsPage.js +0 -72
- package/dist/pages/8.4/ConnectorTemplatePage.d.ts +0 -11
- package/dist/pages/8.4/ConnectorTemplatePage.js +0 -34
- package/dist/pages/8.4/ConsoleOrganizationPage.d.ts +0 -69
- package/dist/pages/8.4/ConsoleOrganizationPage.js +0 -366
- package/dist/pages/8.4/FormJsPage.d.ts +0 -14
- package/dist/pages/8.4/FormJsPage.js +0 -44
- package/dist/pages/8.4/HomePage.d.ts +0 -27
- package/dist/pages/8.4/HomePage.js +0 -87
- package/dist/pages/8.4/LoginPage.d.ts +0 -30
- package/dist/pages/8.4/LoginPage.js +0 -83
- package/dist/pages/8.4/ModelerCreatePage.d.ts +0 -145
- package/dist/pages/8.4/ModelerCreatePage.js +0 -660
- package/dist/pages/8.4/ModelerHomePage.d.ts +0 -39
- package/dist/pages/8.4/ModelerHomePage.js +0 -153
- package/dist/pages/8.4/ModelerUserInvitePage.d.ts +0 -27
- package/dist/pages/8.4/ModelerUserInvitePage.js +0 -83
- package/dist/pages/8.4/OperateHomePage.d.ts +0 -21
- package/dist/pages/8.4/OperateHomePage.js +0 -53
- package/dist/pages/8.4/OperateProcessInstancePage.d.ts +0 -14
- package/dist/pages/8.4/OperateProcessInstancePage.js +0 -35
- package/dist/pages/8.4/OperateProcessesPage.d.ts +0 -22
- package/dist/pages/8.4/OperateProcessesPage.js +0 -80
- package/dist/pages/8.4/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/8.4/OptimizeCollectionsPage.js +0 -44
- package/dist/pages/8.4/OptimizeDashboardPage.d.ts +0 -8
- package/dist/pages/8.4/OptimizeDashboardPage.js +0 -48
- package/dist/pages/8.4/OptimizeHomePage.d.ts +0 -12
- package/dist/pages/8.4/OptimizeHomePage.js +0 -32
- package/dist/pages/8.4/OptimizeReportPage.d.ts +0 -49
- package/dist/pages/8.4/OptimizeReportPage.js +0 -160
- package/dist/pages/8.4/SettingsPage.d.ts +0 -10
- package/dist/pages/8.4/SettingsPage.js +0 -41
- package/dist/pages/8.4/SignUpPage.d.ts +0 -44
- package/dist/pages/8.4/SignUpPage.js +0 -137
- package/dist/pages/8.4/TaskDetailsPage.d.ts +0 -64
- package/dist/pages/8.4/TaskDetailsPage.js +0 -198
- package/dist/pages/8.4/TaskPanelPage.d.ts +0 -19
- package/dist/pages/8.4/TaskPanelPage.js +0 -61
- package/dist/pages/8.4/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/8.4/TaskProcessesPage.js +0 -31
- package/dist/pages/8.4/UtilitiesPage.d.ts +0 -33
- package/dist/pages/8.4/UtilitiesPage.js +0 -312
- package/dist/pages/SM-8.4/ConnectorMarketplacePage.d.ts +0 -16
- package/dist/pages/SM-8.4/ConnectorMarketplacePage.js +0 -48
- package/dist/pages/SM-8.4/ConnectorSettingsPage.d.ts +0 -28
- package/dist/pages/SM-8.4/ConnectorSettingsPage.js +0 -82
- package/dist/pages/SM-8.4/ConsoleHomePage.d.ts +0 -7
- package/dist/pages/SM-8.4/ConsoleHomePage.js +0 -14
- package/dist/pages/SM-8.4/ConsoleOrganizationPage.d.ts +0 -22
- package/dist/pages/SM-8.4/ConsoleOrganizationPage.js +0 -68
- package/dist/pages/SM-8.4/FormJsPage.d.ts +0 -13
- package/dist/pages/SM-8.4/FormJsPage.js +0 -30
- package/dist/pages/SM-8.4/HomePage.d.ts +0 -20
- package/dist/pages/SM-8.4/HomePage.js +0 -49
- package/dist/pages/SM-8.4/IdentityPage.d.ts +0 -56
- package/dist/pages/SM-8.4/IdentityPage.js +0 -219
- package/dist/pages/SM-8.4/IdentityTenantPage.d.ts +0 -46
- package/dist/pages/SM-8.4/IdentityTenantPage.js +0 -173
- package/dist/pages/SM-8.4/IdentityUsersPage.d.ts +0 -90
- package/dist/pages/SM-8.4/IdentityUsersPage.js +0 -505
- package/dist/pages/SM-8.4/LoginPage.d.ts +0 -16
- package/dist/pages/SM-8.4/LoginPage.js +0 -50
- package/dist/pages/SM-8.4/ModelerCreatePage.d.ts +0 -142
- package/dist/pages/SM-8.4/ModelerCreatePage.js +0 -648
- package/dist/pages/SM-8.4/ModelerHomePage.d.ts +0 -35
- package/dist/pages/SM-8.4/ModelerHomePage.js +0 -139
- package/dist/pages/SM-8.4/NavigationPage.d.ts +0 -26
- package/dist/pages/SM-8.4/NavigationPage.js +0 -97
- package/dist/pages/SM-8.4/OperateHomePage.d.ts +0 -21
- package/dist/pages/SM-8.4/OperateHomePage.js +0 -63
- package/dist/pages/SM-8.4/OperateProcessInstancePage.d.ts +0 -23
- package/dist/pages/SM-8.4/OperateProcessInstancePage.js +0 -105
- package/dist/pages/SM-8.4/OperateProcessesPage.d.ts +0 -22
- package/dist/pages/SM-8.4/OperateProcessesPage.js +0 -90
- package/dist/pages/SM-8.4/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/SM-8.4/OptimizeCollectionsPage.js +0 -50
- package/dist/pages/SM-8.4/OptimizeDashboardPage.d.ts +0 -15
- package/dist/pages/SM-8.4/OptimizeDashboardPage.js +0 -59
- package/dist/pages/SM-8.4/OptimizeHomePage.d.ts +0 -17
- package/dist/pages/SM-8.4/OptimizeHomePage.js +0 -56
- package/dist/pages/SM-8.4/OptimizeReportPage.d.ts +0 -48
- package/dist/pages/SM-8.4/OptimizeReportPage.js +0 -157
- package/dist/pages/SM-8.4/SettingsPage.d.ts +0 -10
- package/dist/pages/SM-8.4/SettingsPage.js +0 -20
- package/dist/pages/SM-8.4/TaskDetailsPage.d.ts +0 -61
- package/dist/pages/SM-8.4/TaskDetailsPage.js +0 -175
- package/dist/pages/SM-8.4/TaskPanelPage.d.ts +0 -22
- package/dist/pages/SM-8.4/TaskPanelPage.js +0 -77
- package/dist/pages/SM-8.4/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/SM-8.4/TaskProcessesPage.js +0 -31
- package/dist/pages/SM-8.4/UtilitiesPage.d.ts +0 -19
- package/dist/pages/SM-8.4/UtilitiesPage.js +0 -175
- package/dist/tests/8.4/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/connectors-user-flows.spec.js +0 -407
- package/dist/tests/8.4/console-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/console-user-flows.spec.js +0 -192
- package/dist/tests/8.4/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/hto-user-flows.spec.js +0 -186
- package/dist/tests/8.4/login.spec.d.ts +0 -1
- package/dist/tests/8.4/login.spec.js +0 -27
- package/dist/tests/8.4/navigation.spec.d.ts +0 -1
- package/dist/tests/8.4/navigation.spec.js +0 -62
- package/dist/tests/8.4/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/optimize-user-flows.spec.js +0 -266
- package/dist/tests/8.4/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/rba-enabled-user-flows.spec.js +0 -306
- package/dist/tests/8.4/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/8.4/smoke-tests.spec.js +0 -174
- package/dist/tests/8.4/test-setup.spec.d.ts +0 -1
- package/dist/tests/8.4/test-setup.spec.js +0 -61
- package/dist/tests/8.4/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.4/web-modeler-user-flows.spec.js +0 -611
- package/dist/tests/SM-8.4/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/connectors-user-flows.spec.js +0 -224
- package/dist/tests/SM-8.4/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/hto-user-flows.spec.js +0 -308
- package/dist/tests/SM-8.4/mt-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/mt-enabled-user-flows.spec.js +0 -537
- package/dist/tests/SM-8.4/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/optimize-user-flows.spec.js +0 -182
- package/dist/tests/SM-8.4/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/rba-enabled-user-flows.spec.js +0 -250
- package/dist/tests/SM-8.4/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/smoke-tests.spec.js +0 -148
- package/dist/tests/SM-8.4/test-setup.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/test-setup.spec.js +0 -105
- package/dist/tests/SM-8.4/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.4/web-modeler-user-flows.spec.js +0 -125
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClusterPage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
const sleep_1 = require("../../utils/sleep");
|
|
6
|
-
class ClusterPage {
|
|
7
|
-
defaultClusterType = 'G3-Dev';
|
|
8
|
-
page;
|
|
9
|
-
createNewClusterButton;
|
|
10
|
-
clusterNameInput;
|
|
11
|
-
createClusterButton;
|
|
12
|
-
clusterCreatingStatusText;
|
|
13
|
-
clusterHealthyStatusText;
|
|
14
|
-
clusterHealthyIndicatorSelector;
|
|
15
|
-
clusterGenerationCompleteMessage;
|
|
16
|
-
clustersBreadcrumb;
|
|
17
|
-
deleteClusterButton;
|
|
18
|
-
confirmDeleteInput;
|
|
19
|
-
dangerDeleteButton;
|
|
20
|
-
connectorSecretsTab;
|
|
21
|
-
createAClusterButton;
|
|
22
|
-
clusterVersionOption;
|
|
23
|
-
alphaTab;
|
|
24
|
-
devTab;
|
|
25
|
-
stableTab;
|
|
26
|
-
qaGenerationsTab;
|
|
27
|
-
gcpRegion;
|
|
28
|
-
clustersList;
|
|
29
|
-
g3DevClusterType;
|
|
30
|
-
constructor(page) {
|
|
31
|
-
this.page = page;
|
|
32
|
-
this.createNewClusterButton = page.getByRole('button', {
|
|
33
|
-
name: 'Create new Cluster',
|
|
34
|
-
});
|
|
35
|
-
this.clusterNameInput = page.getByPlaceholder('Enter a name for the cluster');
|
|
36
|
-
this.createClusterButton = page.getByRole('button', {
|
|
37
|
-
name: 'Create cluster',
|
|
38
|
-
});
|
|
39
|
-
this.clusterCreatingStatusText = page.getByText('Creating', { exact: true });
|
|
40
|
-
this.clusterHealthyStatusText = page.getByText('Healthy', { exact: true });
|
|
41
|
-
this.clusterHealthyIndicatorSelector = '[class="healthy healthIndicator"]';
|
|
42
|
-
this.clusterGenerationCompleteMessage = page.getByText('Test Cluster is healthy and ready to use');
|
|
43
|
-
this.clustersBreadcrumb = page
|
|
44
|
-
.getByLabel('Breadcrumb')
|
|
45
|
-
.getByRole('link', { name: 'Clusters' });
|
|
46
|
-
this.deleteClusterButton = page.getByRole('button', { name: 'Delete' });
|
|
47
|
-
this.confirmDeleteInput = page.getByRole('textbox', {
|
|
48
|
-
name: 'Type the word DELETE to confirm',
|
|
49
|
-
});
|
|
50
|
-
this.dangerDeleteButton = page.getByRole('button', { name: 'danger Delete' });
|
|
51
|
-
this.connectorSecretsTab = page.getByRole('tab', {
|
|
52
|
-
name: 'Connector Secrets',
|
|
53
|
-
});
|
|
54
|
-
this.createAClusterButton = page.getByRole('button', {
|
|
55
|
-
name: 'Create a Cluster',
|
|
56
|
-
});
|
|
57
|
-
this.clusterVersionOption = page
|
|
58
|
-
.locator('label')
|
|
59
|
-
.filter({ hasText: `${process.env.CLUSTER_VERSION}` })
|
|
60
|
-
.locator('span')
|
|
61
|
-
.first();
|
|
62
|
-
this.alphaTab = page.getByRole('tab', { name: 'Alpha' });
|
|
63
|
-
this.devTab = page.getByRole('tab', { name: 'Internal Dev' });
|
|
64
|
-
this.stableTab = page.getByRole('tab', { name: 'Stable' });
|
|
65
|
-
this.qaGenerationsTab = page.getByRole('tab', { name: 'QA Generations' });
|
|
66
|
-
this.gcpRegion = page.getByRole('tab', {
|
|
67
|
-
name: 'GCP',
|
|
68
|
-
});
|
|
69
|
-
this.clustersList = page
|
|
70
|
-
.getByRole('row')
|
|
71
|
-
.filter({ hasNotText: 'Generation' }); //Filter out header row
|
|
72
|
-
this.g3DevClusterType = page.locator('label').filter({
|
|
73
|
-
hasText: this.defaultClusterType,
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
async clickClusterTab() {
|
|
77
|
-
try {
|
|
78
|
-
const urlCheckPromise = this.page.waitForURL(/\/clusters/, {
|
|
79
|
-
timeout: 60000,
|
|
80
|
-
});
|
|
81
|
-
await urlCheckPromise;
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
await this.clickClusterBanner();
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
async clickClusterBanner() {
|
|
88
|
-
await this.page
|
|
89
|
-
.getByRole('banner')
|
|
90
|
-
.getByRole('link', { name: 'Clusters' })
|
|
91
|
-
.click({ timeout: 60000 });
|
|
92
|
-
}
|
|
93
|
-
async createCluster(name, region = 'GCP') {
|
|
94
|
-
await this.clickClusterTab();
|
|
95
|
-
await this.deleteCluster(name);
|
|
96
|
-
await this.clickCreateNewClusterButton();
|
|
97
|
-
await this.clickClusterNameInput();
|
|
98
|
-
await this.fillClusterNameInput(name);
|
|
99
|
-
await this.clickClusterType();
|
|
100
|
-
await this.clickCloudProvider(region);
|
|
101
|
-
await this.clickClusterOption();
|
|
102
|
-
await this.clickCreateClusterButton();
|
|
103
|
-
await this.clickClustersBreadcrumb(name);
|
|
104
|
-
}
|
|
105
|
-
async clickCloudProvider(region = 'GCP') {
|
|
106
|
-
const provider = this.page.getByRole('tab', { name: region });
|
|
107
|
-
await (0, test_1.expect)(provider).toBeVisible({ timeout: 60000 });
|
|
108
|
-
await provider.click();
|
|
109
|
-
}
|
|
110
|
-
async createClusterIfNotExists(clusterName) {
|
|
111
|
-
await (0, sleep_1.sleep)(10000);
|
|
112
|
-
if ((await this.cluster(clusterName).isVisible({ timeout: 20000 })) &&
|
|
113
|
-
(await this.isClusterHealthy(clusterName))) {
|
|
114
|
-
console.log(`${clusterName} exists and is healthy.`);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
await this.createCluster(clusterName);
|
|
118
|
-
await this.assertClusterHealthyStatusWithRetry(clusterName, 300000);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
async isClusterHealthy(name) {
|
|
122
|
-
return this.cluster(name)
|
|
123
|
-
.getByText(`Healthy`, { exact: true })
|
|
124
|
-
.isVisible({ timeout: 20000 });
|
|
125
|
-
}
|
|
126
|
-
async assertClusterHealthyStatusWithRetry(name, timeout = 140000, maxRetries = 3, retryDelay = 20000) {
|
|
127
|
-
const healthCheck = this.cluster(name).getByText(`Healthy`, { exact: true });
|
|
128
|
-
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
129
|
-
try {
|
|
130
|
-
await this.page.reload();
|
|
131
|
-
await (0, test_1.expect)(healthCheck).toBeVisible({
|
|
132
|
-
timeout: timeout,
|
|
133
|
-
});
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
catch (error) {
|
|
137
|
-
if (attempt < maxRetries - 1) {
|
|
138
|
-
console.warn(`Attempt ${attempt + 1} failed. Retrying...`);
|
|
139
|
-
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
throw new Error(`Assertion failed after ${maxRetries} attempts`);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
async deleteCluster(name) {
|
|
148
|
-
await (0, sleep_1.sleep)(5000);
|
|
149
|
-
let deleteButtons = this.cluster(name).getByRole('button', {
|
|
150
|
-
name: 'Delete',
|
|
151
|
-
});
|
|
152
|
-
while ((await deleteButtons.count()) > 0) {
|
|
153
|
-
const deleteButton = deleteButtons.nth(0);
|
|
154
|
-
if (await deleteButton.isVisible()) {
|
|
155
|
-
try {
|
|
156
|
-
await deleteButton.click({ force: true, timeout: 60000 });
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
await this.clickClusterBanner();
|
|
160
|
-
await (0, test_1.expect)(deleteButton).toBeVisible({ timeout: 60000 });
|
|
161
|
-
await deleteButton.click({ force: true, timeout: 60000 });
|
|
162
|
-
}
|
|
163
|
-
await this.confirmDeleteInput.click({ force: true, timeout: 60000 });
|
|
164
|
-
await this.confirmDeleteInput.fill('DELETE', { timeout: 60000 });
|
|
165
|
-
const dangerDeleteButtons = await this.dangerDeleteButton.all();
|
|
166
|
-
const lastDangerDeleteButton = dangerDeleteButtons[dangerDeleteButtons.length - 1];
|
|
167
|
-
await lastDangerDeleteButton.click();
|
|
168
|
-
await (0, test_1.expect)(this.page.getByText('Deleting...')).not.toBeVisible({
|
|
169
|
-
timeout: 60000,
|
|
170
|
-
});
|
|
171
|
-
// Refresh the list of delete buttons
|
|
172
|
-
deleteButtons = this.cluster(name).getByRole('button', {
|
|
173
|
-
name: 'Delete',
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
await (0, sleep_1.sleep)(20000);
|
|
178
|
-
}
|
|
179
|
-
cluster(name) {
|
|
180
|
-
return this.clustersList.filter({ hasText: name });
|
|
181
|
-
}
|
|
182
|
-
async clickClusterType() {
|
|
183
|
-
if (process.env.IS_PROD !== 'true') {
|
|
184
|
-
await (0, test_1.expect)(this.g3DevClusterType).toBeVisible({ timeout: 60000 });
|
|
185
|
-
await this.g3DevClusterType.click();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
async clickCreateNewClusterButton() {
|
|
189
|
-
const maxRetries = 3;
|
|
190
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
191
|
-
try {
|
|
192
|
-
if (retries === 0) {
|
|
193
|
-
await this.createNewClusterButton.click({ timeout: 60000 });
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
await this.clickClusterBanner();
|
|
197
|
-
await this.createNewClusterButton.click({ timeout: 60000 });
|
|
198
|
-
}
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
catch (error) {
|
|
202
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
203
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
throw new Error(`Failed to click the create a new cluster button after ${maxRetries} attempts.`);
|
|
207
|
-
}
|
|
208
|
-
async clickClusterNameInput() {
|
|
209
|
-
const maxRetries = 3;
|
|
210
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
211
|
-
try {
|
|
212
|
-
if (retries === 0) {
|
|
213
|
-
await this.clusterNameInput.click({ timeout: 30000 });
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
await this.clickClusterBanner();
|
|
217
|
-
await this.clusterNameInput.click({ timeout: 30000 });
|
|
218
|
-
}
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
catch (error) {
|
|
222
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
223
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
throw new Error(`Failed to click the create a new cluster button after ${maxRetries} attempts.`);
|
|
227
|
-
}
|
|
228
|
-
async fillClusterNameInput(name) {
|
|
229
|
-
await this.clusterNameInput.fill(name);
|
|
230
|
-
}
|
|
231
|
-
async clickCreateClusterButton() {
|
|
232
|
-
await this.createClusterButton.click({ timeout: 120000 });
|
|
233
|
-
}
|
|
234
|
-
async clickClustersBreadcrumb(clusterName) {
|
|
235
|
-
const regex = new RegExp(`${clusterName}.*?Creatingdev`);
|
|
236
|
-
try {
|
|
237
|
-
await this.clustersBreadcrumb.click({ timeout: 60000 });
|
|
238
|
-
await (0, test_1.expect)(this.page.getByText(regex)).toBeVisible({
|
|
239
|
-
timeout: 30000,
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
catch (error) {
|
|
243
|
-
const healthyCheckRegex = new RegExp(`${clusterName}.*?Healthydev`);
|
|
244
|
-
await this.clickClusterBanner();
|
|
245
|
-
await (0, test_1.expect)(this.page.getByText(healthyCheckRegex)).toBeVisible({
|
|
246
|
-
timeout: 120000,
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
async clickClusterLink(name) {
|
|
251
|
-
const maxRetries = 3;
|
|
252
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
253
|
-
try {
|
|
254
|
-
if (retries === 0) {
|
|
255
|
-
await this.cluster(name)
|
|
256
|
-
.getByRole('link', {
|
|
257
|
-
name: name,
|
|
258
|
-
})
|
|
259
|
-
.click({ timeout: 60000 });
|
|
260
|
-
}
|
|
261
|
-
else {
|
|
262
|
-
await this.clickClusterBanner();
|
|
263
|
-
await this.cluster(name)
|
|
264
|
-
.getByRole('link', {
|
|
265
|
-
name: name,
|
|
266
|
-
})
|
|
267
|
-
.click({ timeout: 60000 });
|
|
268
|
-
}
|
|
269
|
-
return;
|
|
270
|
-
}
|
|
271
|
-
catch (error) {
|
|
272
|
-
await this.page.reload();
|
|
273
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
274
|
-
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
throw new Error(`Failed to click the test cluster link link after ${maxRetries} attempts.`);
|
|
278
|
-
}
|
|
279
|
-
async clickConnectorSecretesTab(clusterName) {
|
|
280
|
-
const maxRetries = 3;
|
|
281
|
-
for (let retries = 0; retries < maxRetries; retries++) {
|
|
282
|
-
try {
|
|
283
|
-
await this.connectorSecretsTab.click();
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
catch (error) {
|
|
287
|
-
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
288
|
-
if (retries === 0) {
|
|
289
|
-
try {
|
|
290
|
-
await this.clickClusterBanner();
|
|
291
|
-
await this.clickClusterLink(clusterName);
|
|
292
|
-
}
|
|
293
|
-
catch (error) {
|
|
294
|
-
console.error(`Camunda apps click attempt failed: ${error}`);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
throw new Error(`Failed to click the connector secrets link after ${maxRetries} attempts.`);
|
|
301
|
-
}
|
|
302
|
-
async clickClusterOption() {
|
|
303
|
-
const tabs = [
|
|
304
|
-
this.clickStableTab,
|
|
305
|
-
this.clickDevTab,
|
|
306
|
-
this.clickQAGenerationsTab,
|
|
307
|
-
this.clickAlphaTab,
|
|
308
|
-
];
|
|
309
|
-
for (const clickTab of tabs) {
|
|
310
|
-
try {
|
|
311
|
-
await clickTab.call(this);
|
|
312
|
-
await this.clusterVersionOption.click({ timeout: 25000 });
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
catch (error) {
|
|
316
|
-
console.error('Error clicking tab or cluster version option:', error);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
throw new Error('Failed to find cluster generation');
|
|
320
|
-
}
|
|
321
|
-
async clickAlphaTab() {
|
|
322
|
-
await this.alphaTab.click();
|
|
323
|
-
}
|
|
324
|
-
async clickDevTab() {
|
|
325
|
-
await this.devTab.click();
|
|
326
|
-
}
|
|
327
|
-
async clickStableTab() {
|
|
328
|
-
await this.stableTab.click();
|
|
329
|
-
}
|
|
330
|
-
async clickQAGenerationsTab() {
|
|
331
|
-
await this.qaGenerationsTab.click();
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
exports.ClusterPage = ClusterPage;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class ClusterSecretsPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly createNewSecretButton: Locator;
|
|
5
|
-
readonly keyInput: Locator;
|
|
6
|
-
readonly valueInput: Locator;
|
|
7
|
-
readonly createButton: Locator;
|
|
8
|
-
readonly operationsButton: Locator;
|
|
9
|
-
readonly deleteConnectorSecretButton: Locator;
|
|
10
|
-
readonly deleteConnectorSecretSubButton: Locator;
|
|
11
|
-
readonly dialog: Locator;
|
|
12
|
-
constructor(page: Page);
|
|
13
|
-
deleteConnectorSecretsIfExist(): Promise<void>;
|
|
14
|
-
clickCreateNewSecretButton(): Promise<void>;
|
|
15
|
-
clickKeyInput(): Promise<void>;
|
|
16
|
-
fillKeyInput(key: string): Promise<void>;
|
|
17
|
-
clickValueInput(): Promise<void>;
|
|
18
|
-
fillValueInput(value: string): Promise<void>;
|
|
19
|
-
clickCreateButton(): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
export { ClusterSecretsPage };
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClusterSecretsPage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
const sleep_1 = require("../../utils/sleep");
|
|
6
|
-
class ClusterSecretsPage {
|
|
7
|
-
page;
|
|
8
|
-
createNewSecretButton;
|
|
9
|
-
keyInput;
|
|
10
|
-
valueInput;
|
|
11
|
-
createButton;
|
|
12
|
-
operationsButton;
|
|
13
|
-
deleteConnectorSecretButton;
|
|
14
|
-
deleteConnectorSecretSubButton;
|
|
15
|
-
dialog;
|
|
16
|
-
constructor(page) {
|
|
17
|
-
this.page = page;
|
|
18
|
-
this.createNewSecretButton = page.getByRole('button', {
|
|
19
|
-
name: 'Create new secret',
|
|
20
|
-
});
|
|
21
|
-
this.keyInput = page.getByLabel('Key');
|
|
22
|
-
this.valueInput = page.getByLabel('Value', { exact: true });
|
|
23
|
-
this.createButton = page.getByRole('button', { name: 'Create', exact: true });
|
|
24
|
-
this.operationsButton = page.getByRole('button', {
|
|
25
|
-
name: 'operations',
|
|
26
|
-
exact: true,
|
|
27
|
-
});
|
|
28
|
-
this.deleteConnectorSecretButton = page.getByRole('menuitem', {
|
|
29
|
-
name: 'delete',
|
|
30
|
-
});
|
|
31
|
-
this.deleteConnectorSecretSubButton = page.getByRole('button', {
|
|
32
|
-
name: 'danger Delete',
|
|
33
|
-
});
|
|
34
|
-
this.dialog = page.getByRole('dialog');
|
|
35
|
-
}
|
|
36
|
-
async deleteConnectorSecretsIfExist() {
|
|
37
|
-
try {
|
|
38
|
-
await (0, test_1.expect)(this.operationsButton.first()).toBeVisible({
|
|
39
|
-
timeout: 10000,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
return; //No Connector Secrets found in the list
|
|
44
|
-
}
|
|
45
|
-
try {
|
|
46
|
-
let operations = await this.operationsButton.all();
|
|
47
|
-
while (operations.length > 0) {
|
|
48
|
-
const operationButton = operations[0];
|
|
49
|
-
if (await operationButton.isVisible()) {
|
|
50
|
-
await operationButton.click({ timeout: 60000 });
|
|
51
|
-
await this.deleteConnectorSecretButton.click({ timeout: 60000 });
|
|
52
|
-
await (0, test_1.expect)(this.dialog).toBeVisible({ timeout: 40000 });
|
|
53
|
-
await this.deleteConnectorSecretSubButton.click();
|
|
54
|
-
await (0, test_1.expect)(this.page.getByText('Deleting...')).not.toBeVisible({
|
|
55
|
-
timeout: 60000,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
await (0, sleep_1.sleep)(3000);
|
|
59
|
-
operations = await this.operationsButton.all();
|
|
60
|
-
}
|
|
61
|
-
await (0, test_1.expect)(this.operationsButton).not.toBeVisible({
|
|
62
|
-
timeout: 30000,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
console.error('Error during Connector Secrets deletion: ', error);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
async clickCreateNewSecretButton() {
|
|
70
|
-
try {
|
|
71
|
-
await this.createNewSecretButton.click({ timeout: 60000 });
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
await this.page
|
|
75
|
-
.getByRole('banner')
|
|
76
|
-
.getByRole('link', { name: 'Clusters' })
|
|
77
|
-
.click({ timeout: 60000 });
|
|
78
|
-
await this.page
|
|
79
|
-
.getByRole('link', { name: 'Test Cluster' })
|
|
80
|
-
.click({ timeout: 60000 });
|
|
81
|
-
await this.page
|
|
82
|
-
.getByRole('tab', {
|
|
83
|
-
name: 'Connector Secrets',
|
|
84
|
-
})
|
|
85
|
-
.click({ timeout: 60000 });
|
|
86
|
-
await this.createNewSecretButton.click({ timeout: 60000 });
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
async clickKeyInput() {
|
|
90
|
-
await this.keyInput.click();
|
|
91
|
-
}
|
|
92
|
-
async fillKeyInput(key) {
|
|
93
|
-
await this.keyInput.fill(key);
|
|
94
|
-
}
|
|
95
|
-
async clickValueInput() {
|
|
96
|
-
await this.valueInput.click();
|
|
97
|
-
}
|
|
98
|
-
async fillValueInput(value) {
|
|
99
|
-
await this.valueInput.fill(value);
|
|
100
|
-
}
|
|
101
|
-
async clickCreateButton() {
|
|
102
|
-
await this.createButton.click();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
exports.ClusterSecretsPage = ClusterSecretsPage;
|
|
@@ -1,18 +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
|
-
readonly replaceResourceButton: Locator;
|
|
9
|
-
constructor(page: Page);
|
|
10
|
-
clickSearchForConnectorTextbox(): Promise<void>;
|
|
11
|
-
fillSearchForConnectorTextbox(connectorName: string): Promise<void>;
|
|
12
|
-
clickDownloadToProjectButton(): Promise<void>;
|
|
13
|
-
clickSnackbar(): Promise<void>;
|
|
14
|
-
clickCloseButton(): Promise<void>;
|
|
15
|
-
clickReplaceResourceButton(): Promise<void>;
|
|
16
|
-
downloadConnectorToProject(): Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
export { ConnectorMarketplacePage };
|
|
@@ -1,59 +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
|
-
replaceResourceButton;
|
|
12
|
-
constructor(page) {
|
|
13
|
-
this.page = page;
|
|
14
|
-
this.searchForConnectorTextbox = page.getByPlaceholder('Search for a connector');
|
|
15
|
-
this.downloadToProjectButton = page
|
|
16
|
-
.getByRole('button', { name: 'Download to project' })
|
|
17
|
-
.first();
|
|
18
|
-
this.snackbar = page.locator('[data-test="snackbar"]');
|
|
19
|
-
this.closeButton = page.getByRole('button', { name: 'Close' });
|
|
20
|
-
this.replaceResourceButton = page.getByRole('button', {
|
|
21
|
-
name: 'Replace resource',
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
async clickSearchForConnectorTextbox() {
|
|
25
|
-
await this.searchForConnectorTextbox.click({ timeout: 60000 });
|
|
26
|
-
}
|
|
27
|
-
async fillSearchForConnectorTextbox(connectorName) {
|
|
28
|
-
await this.searchForConnectorTextbox.fill(connectorName, { timeout: 60000 });
|
|
29
|
-
}
|
|
30
|
-
async clickDownloadToProjectButton() {
|
|
31
|
-
await this.downloadToProjectButton.click({ timeout: 60000 });
|
|
32
|
-
}
|
|
33
|
-
async clickSnackbar() {
|
|
34
|
-
await this.snackbar.click({ timeout: 120000 });
|
|
35
|
-
}
|
|
36
|
-
async clickCloseButton() {
|
|
37
|
-
await this.closeButton.click({ timeout: 60000 });
|
|
38
|
-
}
|
|
39
|
-
async clickReplaceResourceButton() {
|
|
40
|
-
await this.replaceResourceButton.click({ timeout: 60000 });
|
|
41
|
-
}
|
|
42
|
-
async downloadConnectorToProject() {
|
|
43
|
-
try {
|
|
44
|
-
await this.clickDownloadToProjectButton();
|
|
45
|
-
await (0, test_1.expect)(this.snackbar).toBeVisible({
|
|
46
|
-
timeout: 90000,
|
|
47
|
-
});
|
|
48
|
-
await this.clickSnackbar();
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
await this.clickReplaceResourceButton();
|
|
52
|
-
await (0, test_1.expect)(this.snackbar).toBeVisible({
|
|
53
|
-
timeout: 90000,
|
|
54
|
-
});
|
|
55
|
-
await this.clickSnackbar();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
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,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConnectorSettingsPage = void 0;
|
|
4
|
-
class ConnectorSettingsPage {
|
|
5
|
-
page;
|
|
6
|
-
urlInput;
|
|
7
|
-
resultExpressionInput;
|
|
8
|
-
authenticationTypeDropdown;
|
|
9
|
-
usernameInput;
|
|
10
|
-
passwordInput;
|
|
11
|
-
methodTypeDropdown;
|
|
12
|
-
resultVariableInput;
|
|
13
|
-
bearerTokenInput;
|
|
14
|
-
constructor(page) {
|
|
15
|
-
this.page = page;
|
|
16
|
-
this.urlInput = page.getByLabel('URL');
|
|
17
|
-
this.resultExpressionInput = page.getByRole('textbox', {
|
|
18
|
-
name: /^Result expression$/,
|
|
19
|
-
});
|
|
20
|
-
this.authenticationTypeDropdown = page.getByLabel('Type');
|
|
21
|
-
this.usernameInput = page.getByLabel('Username');
|
|
22
|
-
this.passwordInput = page.getByLabel('Password');
|
|
23
|
-
this.methodTypeDropdown = page.getByLabel('Method');
|
|
24
|
-
this.resultVariableInput = page.getByLabel('Result variable');
|
|
25
|
-
this.bearerTokenInput = page.getByLabel('Bearer token');
|
|
26
|
-
}
|
|
27
|
-
async clickUrlInput() {
|
|
28
|
-
await this.urlInput.click({ timeout: 90000 });
|
|
29
|
-
}
|
|
30
|
-
async fillUrlInput(url) {
|
|
31
|
-
await this.urlInput.fill(url, { timeout: 90000 });
|
|
32
|
-
}
|
|
33
|
-
async clickResultExpressionInput() {
|
|
34
|
-
await this.resultExpressionInput.click({ timeout: 90000 });
|
|
35
|
-
}
|
|
36
|
-
async fillResultExpressionInput(resultExpression) {
|
|
37
|
-
await this.resultExpressionInput.fill(resultExpression, { timeout: 90000 });
|
|
38
|
-
}
|
|
39
|
-
async selectAuthenticationType(authentication) {
|
|
40
|
-
await this.authenticationTypeDropdown.selectOption(authentication, {
|
|
41
|
-
timeout: 60000,
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
async clickUsernameInput() {
|
|
45
|
-
await this.usernameInput.click({ timeout: 90000 });
|
|
46
|
-
}
|
|
47
|
-
async fillUsernameInput(username) {
|
|
48
|
-
await this.usernameInput.fill(username, { timeout: 60000 });
|
|
49
|
-
}
|
|
50
|
-
async clickPasswordInput() {
|
|
51
|
-
await this.passwordInput.click({ timeout: 60000 });
|
|
52
|
-
}
|
|
53
|
-
async fillPasswordInput(password) {
|
|
54
|
-
await this.passwordInput.fill(password, { timeout: 60000 });
|
|
55
|
-
}
|
|
56
|
-
async selectMethodType(method) {
|
|
57
|
-
await this.methodTypeDropdown.selectOption(method, { timeout: 60000 });
|
|
58
|
-
}
|
|
59
|
-
async clickResultVariableInput() {
|
|
60
|
-
await this.resultVariableInput.click({ timeout: 60000 });
|
|
61
|
-
}
|
|
62
|
-
async fillResultVariableInput(variable) {
|
|
63
|
-
await this.resultVariableInput.fill(variable, { timeout: 90000 });
|
|
64
|
-
}
|
|
65
|
-
async clickBearerTokenInput() {
|
|
66
|
-
await this.bearerTokenInput.click({ timeout: 60000 });
|
|
67
|
-
}
|
|
68
|
-
async fillBearerTokenInput(token) {
|
|
69
|
-
await this.bearerTokenInput.fill(token, { timeout: 60000 });
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
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;
|