@camunda/e2e-test-suite 0.0.385 → 0.0.387
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/pages/8.8/AppsPage.js +8 -18
- package/dist/pages/8.8/Authorization.js +3 -1
- package/dist/pages/8.8/ClusterSecretsPage.js +2 -2
- package/dist/pages/8.8/ConsoleOrganizationPage.js +9 -1
- package/dist/pages/8.8/IdpCreatePage.js +8 -8
- package/dist/pages/8.8/ModelerHomePage.js +7 -0
- package/dist/pages/8.9/HomePage.js +4 -4
- package/dist/pages/8.9/LoginPage.js +2 -1
- package/dist/pages/8.9/UtilitiesPage.js +5 -0
- package/package.json +1 -1
|
@@ -64,7 +64,7 @@ class AppsPage {
|
|
|
64
64
|
}
|
|
65
65
|
async clickCluster(component, name) {
|
|
66
66
|
const cluster = component.getByRole('link', { name: name, exact: true });
|
|
67
|
-
await (0, test_1.expect)(cluster).toBeVisible({ timeout:
|
|
67
|
+
await (0, test_1.expect)(cluster).toBeVisible({ timeout: 60000 });
|
|
68
68
|
await cluster.click();
|
|
69
69
|
}
|
|
70
70
|
async clickModeler() {
|
|
@@ -129,24 +129,14 @@ class AppsPage {
|
|
|
129
129
|
const maxRetries = 5;
|
|
130
130
|
for (let retries = 0; retries < maxRetries; retries++) {
|
|
131
131
|
try {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
//Multiple clusters
|
|
139
|
-
await this.doClickClusterInIdentity(clusterName);
|
|
140
|
-
}
|
|
132
|
+
await this.clickCamundaApps();
|
|
133
|
+
await (0, sleep_1.sleep)(3000);
|
|
134
|
+
if (await this.identityLink.isVisible({ timeout: 5000 })) {
|
|
135
|
+
await this.identityLink.click({ timeout: 10000 });
|
|
141
136
|
}
|
|
142
137
|
else {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
await this.identityLink.click({ timeout: 10000 });
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
await this.doClickClusterInIdentity(clusterName);
|
|
149
|
-
}
|
|
138
|
+
//Multiple clusters
|
|
139
|
+
await this.doClickClusterInIdentity(clusterName);
|
|
150
140
|
}
|
|
151
141
|
return;
|
|
152
142
|
}
|
|
@@ -187,7 +177,7 @@ class AppsPage {
|
|
|
187
177
|
expanded: true,
|
|
188
178
|
})
|
|
189
179
|
.isHidden({ timeout: 5000 })) {
|
|
190
|
-
await this.identityButton.click({ timeout:
|
|
180
|
+
await this.identityButton.click({ timeout: 30000 });
|
|
191
181
|
}
|
|
192
182
|
await this.clickCluster(this.identityListItem, clusterName);
|
|
193
183
|
}
|
|
@@ -123,7 +123,9 @@ class Authorization {
|
|
|
123
123
|
await locator.click();
|
|
124
124
|
await (0, test_1.expect)(this.deleteAuthorizationModal).toBeVisible();
|
|
125
125
|
await this.deleteAuthorizationModalDeleteButton.click();
|
|
126
|
-
await (0, test_1.expect)(this.deleteAuthorizationModal).not.toBeVisible(
|
|
126
|
+
await (0, test_1.expect)(this.deleteAuthorizationModal).not.toBeVisible({
|
|
127
|
+
timeout: 30000,
|
|
128
|
+
});
|
|
127
129
|
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.authorizationsList
|
|
128
130
|
.getByRole('cell', {
|
|
129
131
|
name: resourceId,
|
|
@@ -191,7 +191,7 @@ class ClusterSecretsPage {
|
|
|
191
191
|
}
|
|
192
192
|
async clickImportButton() {
|
|
193
193
|
await (0, test_1.expect)(this.importButton).toBeVisible({ timeout: 30000 });
|
|
194
|
-
await this.importButton.click();
|
|
194
|
+
await this.importButton.click({ timeout: 30000 });
|
|
195
195
|
}
|
|
196
196
|
async bulkImportSecrets(secrets) {
|
|
197
197
|
const mapped = secrets
|
|
@@ -211,7 +211,7 @@ class ClusterSecretsPage {
|
|
|
211
211
|
await this.bulkImportTextArea.fill(mapped);
|
|
212
212
|
await this.dialogImportButton.click();
|
|
213
213
|
await (0, test_1.expect)(this.dialog).not.toBeVisible({
|
|
214
|
-
timeout:
|
|
214
|
+
timeout: 120000,
|
|
215
215
|
});
|
|
216
216
|
await (0, test_1.expect)(this.createNewSecretButton).toBeVisible({
|
|
217
217
|
timeout: 60000,
|
|
@@ -239,7 +239,15 @@ class ConsoleOrganizationPage {
|
|
|
239
239
|
await this.optInButton.click({ timeout: 60000 });
|
|
240
240
|
}
|
|
241
241
|
async enableAlphaFeature(name) {
|
|
242
|
-
await (0,
|
|
242
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.rows.first(), {
|
|
243
|
+
visibilityTimeout: 60000,
|
|
244
|
+
totalTimeout: 300000,
|
|
245
|
+
maxRetries: 5,
|
|
246
|
+
postAction: async () => {
|
|
247
|
+
await this.page.reload();
|
|
248
|
+
await this.clickSettingsTab();
|
|
249
|
+
},
|
|
250
|
+
});
|
|
243
251
|
const alphaFeature = this.rows.filter({ hasText: name }).first();
|
|
244
252
|
if ((await alphaFeature.count()) < 1) {
|
|
245
253
|
console.error(`No alpha feature(${name}) is found.`);
|
|
@@ -190,13 +190,13 @@ class IdpCreatePage {
|
|
|
190
190
|
});
|
|
191
191
|
await this.unstructured_extractDocumentButton.click({ timeout: 60000 });
|
|
192
192
|
await (0, test_1.expect)(this.page.getByText('Extracting..')).not.toBeVisible({
|
|
193
|
-
timeout:
|
|
193
|
+
timeout: 300000,
|
|
194
194
|
});
|
|
195
195
|
await (0, test_1.expect)(this.unstructured_saveAsTestCaseButton).toBeVisible({
|
|
196
|
-
timeout:
|
|
196
|
+
timeout: 300000,
|
|
197
197
|
});
|
|
198
198
|
await (0, test_1.expect)(this.unstructured_saveAsTestCaseButton).toBeEnabled({
|
|
199
|
-
timeout:
|
|
199
|
+
timeout: 300000,
|
|
200
200
|
});
|
|
201
201
|
}
|
|
202
202
|
async clickSaveAsTestCaseButton() {
|
|
@@ -269,10 +269,10 @@ class IdpCreatePage {
|
|
|
269
269
|
}
|
|
270
270
|
async selectAllExtractionFields() {
|
|
271
271
|
await (0, test_1.expect)(this.extractionInProgressNotification).not.toBeVisible({
|
|
272
|
-
timeout:
|
|
272
|
+
timeout: 300000,
|
|
273
273
|
});
|
|
274
274
|
await (0, test_1.expect)(this.structured_FieldsTab).toBeVisible({
|
|
275
|
-
timeout:
|
|
275
|
+
timeout: 300000,
|
|
276
276
|
});
|
|
277
277
|
await (0, test_1.expect)(this.structured_CheckboxSelectAllFields).toBeVisible({
|
|
278
278
|
timeout: 60000,
|
|
@@ -308,15 +308,15 @@ class IdpCreatePage {
|
|
|
308
308
|
});
|
|
309
309
|
await this.structured_TestExtractionTemplateButton.click({ timeout: 60000 });
|
|
310
310
|
await (0, test_1.expect)(this.extractionInProgressNotification).not.toBeVisible({
|
|
311
|
-
timeout:
|
|
311
|
+
timeout: 300000,
|
|
312
312
|
});
|
|
313
313
|
}
|
|
314
314
|
async extractionResultsAreVisible() {
|
|
315
315
|
await (0, test_1.expect)(this.structured_TestSummaryResult).toBeVisible({
|
|
316
|
-
timeout:
|
|
316
|
+
timeout: 180000,
|
|
317
317
|
});
|
|
318
318
|
await (0, test_1.expect)(this.structured_DetailsResult).toBeVisible({
|
|
319
|
-
timeout:
|
|
319
|
+
timeout: 180000,
|
|
320
320
|
});
|
|
321
321
|
}
|
|
322
322
|
async clickPublishTemplateButton() {
|
|
@@ -164,9 +164,16 @@ class ModelerHomePage {
|
|
|
164
164
|
}
|
|
165
165
|
async clickCrossComponentProjectFolder() {
|
|
166
166
|
await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.crossComponentProjectFolder, {
|
|
167
|
+
visibilityTimeout: 60000,
|
|
168
|
+
totalTimeout: 180000,
|
|
169
|
+
maxRetries: 5,
|
|
167
170
|
preAction: async () => {
|
|
168
171
|
await this.clickMessageBanner();
|
|
169
172
|
},
|
|
173
|
+
postAction: async () => {
|
|
174
|
+
await this.page.reload();
|
|
175
|
+
await this.page.waitForLoadState('domcontentloaded');
|
|
176
|
+
},
|
|
170
177
|
});
|
|
171
178
|
}
|
|
172
179
|
async createCrossComponentProjectFolder() {
|
|
@@ -73,15 +73,15 @@ class HomePage {
|
|
|
73
73
|
}
|
|
74
74
|
async clickSkipCustomization() {
|
|
75
75
|
try {
|
|
76
|
-
await
|
|
76
|
+
await this.buttonSkipCustomization.waitFor({
|
|
77
|
+
state: 'visible',
|
|
77
78
|
timeout: 30000,
|
|
78
79
|
});
|
|
79
80
|
await this.buttonSkipCustomization.click({ timeout: 60000 });
|
|
80
81
|
await this.closeInformationDialog();
|
|
81
|
-
return;
|
|
82
82
|
}
|
|
83
|
-
catch
|
|
84
|
-
|
|
83
|
+
catch {
|
|
84
|
+
// Skip customization button not present – this is expected for returning users
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -54,7 +54,8 @@ class LoginPage {
|
|
|
54
54
|
}
|
|
55
55
|
async login(credentials = {}) {
|
|
56
56
|
const { username = process.env.C8_USERNAME, password = process.env.C8_PASSWORD, } = credentials;
|
|
57
|
-
await (0, test_1.expect)(this.
|
|
57
|
+
await (0, test_1.expect)(this.loginMessage).toBeVisible({ timeout: 120000 });
|
|
58
|
+
await (0, test_1.expect)(this.usernameInput.locator).toBeVisible({ timeout: 30000 });
|
|
58
59
|
await this.fillUsername(username);
|
|
59
60
|
await this.clickContinueButton();
|
|
60
61
|
await this.fillPassword(password);
|
|
@@ -13,6 +13,11 @@ async function loginWithRetry(page, loginPage, testUser, timeout, maxRetries = 3
|
|
|
13
13
|
try {
|
|
14
14
|
await page.goto('/');
|
|
15
15
|
await (0, sleep_1.sleep)(timeout);
|
|
16
|
+
// Confirm we reached the login page before filling credentials.
|
|
17
|
+
// Without this check the locator for 'Email address' can match a hidden
|
|
18
|
+
// invite-user input on the Console page when the logout redirect has not
|
|
19
|
+
// yet completed, causing a 200 s wait before failing.
|
|
20
|
+
await (0, test_1.expect)(loginPage.loginMessage).toBeVisible({ timeout: 60000 });
|
|
16
21
|
await loginPage.login(testUser);
|
|
17
22
|
return;
|
|
18
23
|
}
|