@camunda/e2e-test-suite 0.0.681 → 0.0.683
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.
|
@@ -375,12 +375,10 @@ class ConsoleOrganizationPage {
|
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
377
|
}
|
|
378
|
-
async authorizedResourcesAssertion(processIds, maxRetries =
|
|
379
|
-
//
|
|
380
|
-
//
|
|
381
|
-
//
|
|
382
|
-
// gives RBA backend plenty of time to propagate while failing fast on
|
|
383
|
-
// genuine UI-side regressions.
|
|
378
|
+
async authorizedResourcesAssertion(processIds, maxRetries = 20, perCheckTimeout = 60000) {
|
|
379
|
+
// 20 × (60s check + 5s sleep) ≈ ~21.5 min budget. Matches the per-check
|
|
380
|
+
// timeout and sleep of authorizedResourceAssertion (singular). The prior
|
|
381
|
+
// 10 × 30s ≈ 6.5 min was not enough for RBA propagation in practice.
|
|
384
382
|
const url = this.page.url();
|
|
385
383
|
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
386
384
|
try {
|
|
@@ -394,7 +392,7 @@ class ConsoleOrganizationPage {
|
|
|
394
392
|
catch (error) {
|
|
395
393
|
if (attempt < maxRetries - 1) {
|
|
396
394
|
console.warn(`Attempt ${attempt + 1} failed. Error: ${error}. Retrying...`);
|
|
397
|
-
await (0, sleep_1.sleep)(
|
|
395
|
+
await (0, sleep_1.sleep)(5000);
|
|
398
396
|
}
|
|
399
397
|
else {
|
|
400
398
|
throw new Error(`Assertion failed after ${maxRetries} attempts. Last error: ${error}`);
|
|
@@ -515,17 +515,39 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
515
515
|
await _8_7_1.test.step('Log in with Second User and Navigate to Cross Component Test project as Collaborator', async () => {
|
|
516
516
|
await (0, UtilitiesPage_1.clickInvitationLinkInEmail)(page, id);
|
|
517
517
|
await (0, sleep_1.sleep)(60000);
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
518
|
+
// The invitation link auto-authenticates the second user and lands
|
|
519
|
+
// them in the correct org's Modeler. If the Modeler banner is visible
|
|
520
|
+
// after the invitation, navigate to the Modeler home within the same
|
|
521
|
+
// org context — clearing cookies and re-logging in via the app
|
|
522
|
+
// switcher lands in the user's personal org where the shared project
|
|
523
|
+
// is not listed.
|
|
524
|
+
// If the invitation did not auto-authenticate (page ended up on Auth0),
|
|
525
|
+
// fall back to the explicit login path.
|
|
526
|
+
const autoAuthenticated = await modelerHomePage.modelerPageBanner
|
|
527
|
+
.waitFor({ state: 'visible', timeout: 15000 })
|
|
528
|
+
.then(() => true)
|
|
529
|
+
.catch(() => false);
|
|
530
|
+
if (autoAuthenticated) {
|
|
531
|
+
try {
|
|
532
|
+
await modelerHomePage.clickHomeBreadcrumb();
|
|
533
|
+
}
|
|
534
|
+
catch {
|
|
535
|
+
// Already on the Modeler home page
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
await page.context().clearCookies();
|
|
540
|
+
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, {
|
|
541
|
+
username: emailAddress,
|
|
542
|
+
password: password,
|
|
543
|
+
}, 1000, 3, true);
|
|
544
|
+
await appsPage.clickCamundaApps();
|
|
545
|
+
await appsPage.clickModeler();
|
|
546
|
+
}
|
|
525
547
|
await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
|
|
526
548
|
timeout: 120000,
|
|
527
549
|
});
|
|
528
|
-
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(modelerHomePage, modelerHomePage.crossComponentProjectFolder, 'Cross Component Test Project', 90000,
|
|
550
|
+
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(modelerHomePage, modelerHomePage.crossComponentProjectFolder, 'Cross Component Test Project', 90000, 20);
|
|
529
551
|
});
|
|
530
552
|
await _8_7_1.test.step('Log out from Second User', async () => {
|
|
531
553
|
await settingsPage.clickOpenSettingsButton();
|