@camunda/e2e-test-suite 0.0.1237 → 0.0.1239

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.
@@ -31,7 +31,7 @@ declare class AppsPage {
31
31
  clickCluster(component: Locator, name: string): Promise<void>;
32
32
  clickModeler(): Promise<void>;
33
33
  private isModelerAuthTransit;
34
- openModelerWithRetry(banner: Locator, timeout?: number, maxRetries?: number, ready?: Locator): Promise<void>;
34
+ openModelerWithRetry(banner: Locator, timeout?: number, maxRetries?: number, ready?: Locator, beforeReady?: () => Promise<void>): Promise<void>;
35
35
  openOperateWithRetry(banner: Locator, clusterName: string, timeout?: number, maxRetries?: number): Promise<void>;
36
36
  clickTasklist(clusterName: string): Promise<void>;
37
37
  openTasklistWithRetry(banner: Locator, clusterName: string, timeout?: number, maxRetries?: number): Promise<void>;
@@ -236,8 +236,25 @@ class AppsPage {
236
236
  // something only an authenticated Modeler renders -- the projects list's
237
237
  // create button -- and a logged-out tab is caught here instead, where the
238
238
  // retry re-runs the handshake and with it the internal login.
239
- async openModelerWithRetry(banner, timeout = 60000, maxRetries = 3, ready) {
239
+ async openModelerWithRetry(banner, timeout = 60000, maxRetries = 3, ready, beforeReady) {
240
240
  const modelerReady = async () => {
241
+ if (beforeReady) {
242
+ // After the Camunda Hub rebrand the Modeler home greets a first visit
243
+ // with a "Welcome to Camunda Hub" onboarding dialog that mounts a beat
244
+ // after routing and marks the app shell inert, so the banner leaves the
245
+ // accessibility tree until the dialog is dismissed. Run beforeReady
246
+ // (the dialog dismissal) each interval so a dialog that mounts after the
247
+ // first pass is still cleared, instead of burning the whole timeout on a
248
+ // banner the overlay is holding out of reach.
249
+ await (0, test_1.expect)(async () => {
250
+ await beforeReady();
251
+ await (0, test_1.expect)(banner).toBeVisible({ timeout: 15000 });
252
+ if (ready) {
253
+ await (0, test_1.expect)(ready).toBeVisible({ timeout: 15000 });
254
+ }
255
+ }).toPass({ timeout, intervals: [1000, 2000, 5000] });
256
+ return;
257
+ }
241
258
  await (0, test_1.expect)(banner).toBeVisible({ timeout });
242
259
  if (ready) {
243
260
  await (0, test_1.expect)(ready).toBeVisible({ timeout });
@@ -1653,7 +1653,7 @@ class ModelerCreatePage {
1653
1653
  const configurationOverlay = this.page
1654
1654
  .locator('[data-test="test-studio-configuration-overlay"]')
1655
1655
  .or(this.page.locator('[data-test="play-configuration-overlay"]'))
1656
- .or(this.page.getByText('Setup environment'))
1656
+ .or(this.page.getByText('Set up environment'))
1657
1657
  .first();
1658
1658
  const configureTestPanel = this.page.getByTestId('configure-test-panel');
1659
1659
  await (0, test_1.expect)(configurationOverlay
@@ -58,9 +58,19 @@ class ModelerHomePage {
58
58
  constructor(page) {
59
59
  this.page = page;
60
60
  this.processApplicationPage = new ProcessApplicationPage_1.ProcessApplicationPage(page);
61
- this.modelerPageBanner = page.getByRole('banner', {
61
+ // Hub's design-system shell renders the app header as a role=banner with no
62
+ // accessible name after the Camunda Hub rebrand, so the classic
63
+ // name-matched banner no longer resolves; the Modeler logo link inside it
64
+ // still carries "Camunda Modeler home". Keep the legacy named-banner branch
65
+ // for shells where the rename has not shipped yet.
66
+ this.modelerPageBanner = page
67
+ .getByRole('banner', {
62
68
  name: 'Camunda Modeler',
63
- });
69
+ })
70
+ .or(page
71
+ .getByRole('link', { name: 'Camunda Modeler home' })
72
+ .and(page.locator(':not([href$="/login"])')))
73
+ .first();
64
74
  // Hub renamed this button to "Create project" on both the classic and the
65
75
  // design-system shell. The legacy label is kept so the flow still works
66
76
  // against Modeler builds where the rename has not shipped yet. exact:true
@@ -168,7 +168,7 @@ _8_10_1.test.describe('Cluster Setup Tests', () => {
168
168
  await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
169
169
  timeout: 120000,
170
170
  });
171
- await appsPage.openModelerWithRetry(modelerHomePage.modelerPageBanner, 180000);
171
+ await appsPage.openModelerWithRetry(modelerHomePage.modelerPageBanner, 180000, 3, undefined, () => modelerHomePage.dismissBlockingDialog());
172
172
  });
173
173
  await _8_10_1.test.step('Create Cross Component Project Folder', async () => {
174
174
  await (0, UtilitiesPage_1.withSessionRecovery)(page, loginPage, appsPage, modelerHomePage.modelerPageBanner, user, Math.min((testInfo.workerIndex + 1) * 5000, 60000), async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.1237",
3
+ "version": "0.0.1239",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",