@camunda/e2e-test-suite 0.0.296 → 0.0.298
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.
|
@@ -225,53 +225,76 @@ class ConsoleOrganizationPage {
|
|
|
225
225
|
await this.confirmButton.click({ timeout: 60000 });
|
|
226
226
|
}
|
|
227
227
|
async clickSettingsTab() {
|
|
228
|
-
await this.settingsTab.click({ timeout:
|
|
228
|
+
await this.settingsTab.click({ timeout: 30000 });
|
|
229
229
|
try {
|
|
230
230
|
await (0, test_1.expect)(this.page.getByRole('heading', { name: 'Alpha features' })).toBeVisible({
|
|
231
231
|
timeout: 120000,
|
|
232
232
|
});
|
|
233
233
|
}
|
|
234
234
|
catch (error) {
|
|
235
|
-
await this.settingsTab.click({ timeout:
|
|
235
|
+
await this.settingsTab.click({ timeout: 30000 });
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
async clickOptInButton() {
|
|
239
239
|
await this.optInButton.click({ timeout: 60000 });
|
|
240
240
|
}
|
|
241
241
|
async enableAlphaFeature(name) {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
242
|
+
const maxRetries = 3;
|
|
243
|
+
for (let retries = 0; retries < maxRetries; retries++) {
|
|
244
|
+
try {
|
|
245
|
+
await this.clickSettingsTab();
|
|
246
|
+
await this.optInToAlphaFeatures();
|
|
247
|
+
await (0, sleep_1.sleep)(30000);
|
|
248
|
+
await this.page.reload();
|
|
249
|
+
await this.clickSettingsTab();
|
|
250
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.rows.first(), {
|
|
251
|
+
visibilityTimeout: 15000,
|
|
252
|
+
totalTimeout: 90000,
|
|
253
|
+
postAction: async () => {
|
|
254
|
+
await this.page.reload();
|
|
255
|
+
},
|
|
256
|
+
});
|
|
257
|
+
const alphaFeature = this.rows.filter({ hasText: name }).first();
|
|
258
|
+
if ((await alphaFeature.count()) < 1) {
|
|
259
|
+
console.error(`No alpha feature(${name}) is found.`);
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
//Opt-in The Alpha Feature
|
|
263
|
+
const alphaFeatureOptInButton = alphaFeature.getByRole('button', {
|
|
264
|
+
name: 'Opt in to enable',
|
|
265
|
+
});
|
|
266
|
+
if (await alphaFeatureOptInButton.isVisible({ timeout: 10000 })) {
|
|
267
|
+
await alphaFeatureOptInButton.click({ timeout: 20000 });
|
|
268
|
+
await this.optInAICheckbox.scrollIntoViewIfNeeded();
|
|
269
|
+
await this.optInAICheckbox.check({ timeout: 20000 });
|
|
270
|
+
await (0, sleep_1.sleep)(3000);
|
|
271
|
+
}
|
|
272
|
+
//Enable Alpha Feature
|
|
273
|
+
const toggleText = await alphaFeature
|
|
274
|
+
.locator('[class= "cds--toggle__text"]')
|
|
275
|
+
.textContent();
|
|
276
|
+
console.info(`Previous feature(${name}) setting is ${toggleText}.`);
|
|
277
|
+
if (toggleText == 'Enabled') {
|
|
278
|
+
console.log(`Feature ${name} is already enabled.`);
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
if (toggleText == 'Disabled') {
|
|
282
|
+
await alphaFeature
|
|
283
|
+
.locator('[class= "cds--toggle__switch"]')
|
|
284
|
+
.first()
|
|
285
|
+
.click();
|
|
286
|
+
await (0, sleep_1.sleep)(10000);
|
|
287
|
+
}
|
|
288
|
+
await (0, test_1.expect)(alphaFeature.locator('[class= "cds--toggle__text"]')).toHaveText('Enabled');
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
console.error(`Click attempt ${retries + 1} failed: ${error}`);
|
|
293
|
+
await this.page.reload();
|
|
294
|
+
await (0, sleep_1.sleep)(10000);
|
|
295
|
+
}
|
|
273
296
|
}
|
|
274
|
-
|
|
297
|
+
throw new Error(`Failed to eanble alpha feature ${name} after ${maxRetries} attempts.`);
|
|
275
298
|
}
|
|
276
299
|
async scrollToOptInCheckbox() {
|
|
277
300
|
await this.page.locator('.ps-contract-scroll').evaluate((el) => {
|
|
@@ -301,8 +324,8 @@ class ConsoleOrganizationPage {
|
|
|
301
324
|
}
|
|
302
325
|
async optInToAlphaFeatures() {
|
|
303
326
|
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.rows.first(), {
|
|
304
|
-
visibilityTimeout:
|
|
305
|
-
totalTimeout:
|
|
327
|
+
visibilityTimeout: 20000,
|
|
328
|
+
totalTimeout: 90000,
|
|
306
329
|
postAction: async () => {
|
|
307
330
|
await this.page.reload();
|
|
308
331
|
},
|
|
@@ -15,7 +15,6 @@ const UtilitiesPage_1 = require("../../pages/8.10/UtilitiesPage");
|
|
|
15
15
|
const deleteOrg_1 = require("../../utils/deleteOrg");
|
|
16
16
|
const sleep_1 = require("../../utils/sleep");
|
|
17
17
|
const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
|
|
18
|
-
const resetSession_1 = require("../../utils/resetSession");
|
|
19
18
|
const users_1 = require("../../utils/users");
|
|
20
19
|
const testUser = (0, users_1.getTestUser)('eleventhUser');
|
|
21
20
|
_8_10_1.test.describe.configure({ mode: 'parallel' });
|
|
@@ -415,87 +414,6 @@ _8_10_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
415
414
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateProcessInstancePage, operateProcessInstancePage.completedIcon, 'Completed icon', 60000, false, 5);
|
|
416
415
|
});
|
|
417
416
|
});
|
|
418
|
-
(0, _8_10_1.test)('Public Start Form @tasklistV1', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, browser, taskDetailsPage, loginPage, taskPanelPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
419
|
-
const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
420
|
-
const processName = 'User_Task_Process_With_Public_Form' + randomString;
|
|
421
|
-
const formName = 'Public form' + randomString;
|
|
422
|
-
await _8_10_1.test.step('Navigate to Web Modeler', async () => {
|
|
423
|
-
await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
|
|
424
|
-
timeout: 120000,
|
|
425
|
-
});
|
|
426
|
-
await appsPage.clickCamundaApps();
|
|
427
|
-
await appsPage.clickModeler();
|
|
428
|
-
await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
|
|
429
|
-
timeout: 180000,
|
|
430
|
-
});
|
|
431
|
-
});
|
|
432
|
-
await _8_10_1.test.step('Open Cross Component Test Project', async () => {
|
|
433
|
-
await modelerHomePage.clickCrossComponentProjectFolder();
|
|
434
|
-
});
|
|
435
|
-
await _8_10_1.test.step('Create a Form with a Text Field', async () => {
|
|
436
|
-
await modelerHomePage.clickDiagramTypeDropdown();
|
|
437
|
-
await modelerHomePage.clickFormOption();
|
|
438
|
-
await modelerHomePage.enterFormName(formName);
|
|
439
|
-
await (0, sleep_1.sleep)(2000);
|
|
440
|
-
await formJsPage.dragAndDrop(formJsPage.textField, formJsPage.formEditor);
|
|
441
|
-
await formJsPage.clickGeneralPropertiesPanel();
|
|
442
|
-
await formJsPage.fillKeyInput('Public_Form_Text_Field');
|
|
443
|
-
await formJsPage.deployForm(clusterName);
|
|
444
|
-
});
|
|
445
|
-
await _8_10_1.test.step('Add A BPMN Template To The Project', async () => {
|
|
446
|
-
await modelerHomePage.clickProjectBreadcrumb();
|
|
447
|
-
await modelerHomePage.clickDiagramTypeDropdown();
|
|
448
|
-
await modelerHomePage.clickBpmnTemplateOption();
|
|
449
|
-
});
|
|
450
|
-
await _8_10_1.test.step('Create BPMN Diagram with a Public Start Form and Deploy the Process', async () => {
|
|
451
|
-
await modelerCreatePage.modelCamundaUserTaskDiagram(processName, processName);
|
|
452
|
-
await modelerCreatePage.linkFormToStartEvent(formName);
|
|
453
|
-
await modelerCreatePage.enablePublicAccessIfDisabled();
|
|
454
|
-
await modelerCreatePage.deployDiagram(clusterName);
|
|
455
|
-
await (0, sleep_1.sleep)(5000);
|
|
456
|
-
});
|
|
457
|
-
let publicFormLink;
|
|
458
|
-
await _8_10_1.test.step('Enable Public Access and Get Publication Link', async () => {
|
|
459
|
-
publicFormLink = await modelerCreatePage.getPublicationLink();
|
|
460
|
-
await (0, sleep_1.sleep)(1000);
|
|
461
|
-
});
|
|
462
|
-
await _8_10_1.test.step('Clear Cookies and Reset Session', async () => {
|
|
463
|
-
await (0, resetSession_1.resetSession)(browser, page);
|
|
464
|
-
});
|
|
465
|
-
await _8_10_1.test.step('Access Public Form After Session Reset and Submit the Form', async () => {
|
|
466
|
-
console.log('Navigating to public form:', publicFormLink);
|
|
467
|
-
await page.goto(publicFormLink);
|
|
468
|
-
await (0, test_1.expect)(taskDetailsPage.textInput).toBeVisible({
|
|
469
|
-
timeout: 30000,
|
|
470
|
-
});
|
|
471
|
-
await taskDetailsPage.fillTextInput('Public Form Test Value');
|
|
472
|
-
await taskDetailsPage.clickSubmitButton();
|
|
473
|
-
await (0, test_1.expect)(page.getByRole('heading', { name: 'Success!' })).toBeVisible({
|
|
474
|
-
timeout: 30000,
|
|
475
|
-
});
|
|
476
|
-
});
|
|
477
|
-
await _8_10_1.test.step('Login to Tasklist and Check User Task Has the Correct Input Values and Can Be Completed', async () => {
|
|
478
|
-
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, 5000);
|
|
479
|
-
await appsPage.clickCamundaApps();
|
|
480
|
-
await appsPage.clickTasklist(clusterName);
|
|
481
|
-
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, taskPanelPage.taskListPageBanner, 'Tasklist banner');
|
|
482
|
-
await taskPanelPage.openTask(processName);
|
|
483
|
-
await (0, test_1.expect)(page
|
|
484
|
-
.getByRole('row')
|
|
485
|
-
.filter({ hasText: 'Public_Form_Text_Field' })
|
|
486
|
-
.getByText('"Public Form Test Value"')).toBeVisible({ timeout: 30000 });
|
|
487
|
-
await taskDetailsPage.clickAssignToMeButton();
|
|
488
|
-
await taskDetailsPage.clickCompleteTaskButton();
|
|
489
|
-
});
|
|
490
|
-
await _8_10_1.test.step('Assert Process Instance is Completed in Operate', async () => {
|
|
491
|
-
await appsPage.clickCamundaApps();
|
|
492
|
-
await appsPage.clickOperate(clusterName);
|
|
493
|
-
await operateHomePage.clickProcessesTab();
|
|
494
|
-
await operateProcessesPage.clickProcessCompletedCheckbox();
|
|
495
|
-
await operateProcessesPage.clickProcessInstanceLink(processName);
|
|
496
|
-
await operateProcessInstancePage.assertProcessCompleteStatusWithRetry(40000);
|
|
497
|
-
});
|
|
498
|
-
});
|
|
499
417
|
(0, _8_10_1.test)('Conditional Events - Deploy, verify in Operate and verify process in Optimize dashboard @tasklistV2', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, }) => {
|
|
500
418
|
_8_10_1.test.slow();
|
|
501
419
|
const bpmnFileName = 'Conditional_Events_All.bpmn';
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const test_1 = require("@playwright/test");
|
|
4
4
|
const _8_9_1 = require("../../fixtures/8.9");
|
|
5
5
|
const _setup_1 = require("../../test-setup.js");
|
|
6
|
-
const sleep_1 = require("../../utils/sleep");
|
|
7
6
|
const connectorSecrets_1 = require("../../utils/connectorSecrets");
|
|
8
7
|
const mcpSecrets_1 = require("../../utils/mcpSecrets");
|
|
9
8
|
const UtilitiesPage_1 = require("../../pages/8.9/UtilitiesPage");
|
|
@@ -21,11 +20,6 @@ _8_9_1.test.describe('Cluster Setup Tests', () => {
|
|
|
21
20
|
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, users_1.testUsers.mainUser, (testInfo.workerIndex + 1) * 1000);
|
|
22
21
|
await homePage.clickOrganization();
|
|
23
22
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, consoleOrganizationsPage.settingsTab, 'settings tab', 60000, false, 2);
|
|
24
|
-
await consoleOrganizationsPage.clickSettingsTab();
|
|
25
|
-
await consoleOrganizationsPage.optInToAlphaFeatures();
|
|
26
|
-
await (0, sleep_1.sleep)(30000);
|
|
27
|
-
await page.reload();
|
|
28
|
-
await consoleOrganizationsPage.clickSettingsTab();
|
|
29
23
|
await consoleOrganizationsPage.enableAlphaFeature('AI-powered features');
|
|
30
24
|
});
|
|
31
25
|
(0, _8_9_1.test)('Create Default Cluster', async ({ page, loginPage, homePage, clusterPage, clusterDetailsPage, clusterSecretsPage, }, testInfo) => {
|
|
@@ -415,7 +415,8 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
415
415
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateProcessInstancePage, operateProcessInstancePage.completedIcon, 'Completed icon', 60000, false, 5);
|
|
416
416
|
});
|
|
417
417
|
});
|
|
418
|
-
|
|
418
|
+
//Skipped due to bug 22577: https://github.com/camunda/camunda-hub/issues/22577
|
|
419
|
+
_8_9_1.test.skip('Public Start Form @tasklistV1', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, browser, taskDetailsPage, loginPage, taskPanelPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
419
420
|
const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
|
|
420
421
|
const processName = 'User_Task_Process_With_Public_Form' + randomString;
|
|
421
422
|
const formName = 'Public form' + randomString;
|