@camunda/e2e-test-suite 0.0.575 → 0.0.576

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.
@@ -477,12 +477,14 @@ class ModelerCreatePage {
477
477
  if (this.page.isClosed()) {
478
478
  throw new Error('Target page, context or browser has been closed');
479
479
  }
480
- if (await this.startInstanceMainButton.isVisible({ timeout: 30000 })) {
481
- await this.startInstanceMainButton.click({ timeout: 30000 });
482
- }
483
- else {
484
- await this.deployAndRunMainButton.click({ timeout: 30000 }); //will be available from alpha7
485
- }
480
+ // web-modeler 8.7-SNAPSHOT replaced the combined "Deploy & run" button
481
+ // with separate "Deploy" and "Run" buttons. "Run" (startInstanceMainButton)
482
+ // deploys and starts the instance in one click, matching the old combined behaviour.
483
+ await this.startInstanceMainButton.waitFor({
484
+ state: 'visible',
485
+ timeout: 30000,
486
+ });
487
+ await this.startInstanceMainButton.click({ timeout: 30000 });
486
488
  return;
487
489
  }
488
490
  catch (error) {
@@ -65,9 +65,7 @@ class ModelerHomePage {
65
65
  this.uploadFilesButton = page.getByRole('menuitem', { name: 'Upload files' });
66
66
  }
67
67
  async clickCreateNewProjectButton() {
68
- await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.createNewProjectButton, {
69
- totalTimeout: 30000,
70
- });
68
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.createNewProjectButton);
71
69
  await this.createNewProjectButton.click({ timeout: 10000 });
72
70
  }
73
71
  async enterNewProjectName(name) {
@@ -81,14 +81,21 @@ class NavigationPage {
81
81
  await loginPage.login(this.activeUser, this.activePassword);
82
82
  }
83
83
  catch (error) {
84
- // The login selector did NOT appear. The banner is real. We are on the correct page.
85
- // The navigation was successful, so we can just return.
84
+ // The login selector did NOT appear within 5 s. Fall through to the
85
+ // final banner check if a delayed Keycloak redirect fires after
86
+ // that window the banner will be gone and the check will throw,
87
+ // triggering a retry rather than silently returning on the wrong page.
86
88
  }
87
89
  }
88
90
  else {
89
91
  // The login page was visible from the start.
90
92
  await loginPage.login(this.activeUser, this.activePassword);
91
93
  }
94
+ // Final guard: confirm we actually landed on the target page.
95
+ // A Keycloak redirect that fires more than 5 s after the banner
96
+ // first appears (common after context.clearCookies() + long beforeEach)
97
+ // is caught here and turns into a retry rather than a silent wrong-page return.
98
+ await (0, test_1.expect)(banner).toBeVisible({ timeout: 30000 });
92
99
  return; // End of successful navigation/login
93
100
  }
94
101
  catch (error) {
@@ -54,9 +54,7 @@ class PlayPage {
54
54
  this.confirmDeleteScenarioButton = page.getByRole('button', {
55
55
  name: 'danger Delete',
56
56
  });
57
- this.viewAllScenariosButton = page
58
- .getByRole('button', { name: '(View all)' })
59
- .first();
57
+ this.viewAllScenariosButton = page.getByText('(View all)').last();
60
58
  this.getScenarioRowByName = (scenarioName) => page.locator('tr', { hasText: scenarioName });
61
59
  this.getScenarioRow = (scenarioName) => page.locator('tr', { hasText: scenarioName });
62
60
  this.diagram = page.getByTestId('diagram');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.575",
3
+ "version": "0.0.576",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",