@camunda/e2e-test-suite 0.0.671 → 0.0.672

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.
@@ -27,6 +27,7 @@ declare class PlayPage {
27
27
  waitForInstanceDetailsToBeLoaded(): Promise<void>;
28
28
  waitForNextElementToBeActive(historyItem: string): Promise<void>;
29
29
  waitForProcessToBeCompleted(): Promise<void>;
30
+ private dismissNotifications;
30
31
  clickSaveScenarioButton(): Promise<void>;
31
32
  clickViewScenarioButton(): Promise<void>;
32
33
  enterScenarioName(scenarioName: string): Promise<void>;
@@ -166,11 +166,32 @@ class PlayPage {
166
166
  timeout: maxWaitTimeSeconds,
167
167
  });
168
168
  }
169
- async clickSaveScenarioButton() {
169
+ // The "<task> completed manually" success toast renders in the top-right
170
+ // corner, directly on top of the "Save scenario" button. These Play toasts
171
+ // do not auto-dismiss, so passively waiting for them to hide times out and a
172
+ // force-click then lands on the toast instead of the button — leaving the
173
+ // save-scenario modal closed. Actively close every open toast before
174
+ // interacting with the button.
175
+ async dismissNotifications() {
176
+ const closeButtons = this.page.getByLabel('Close notification');
177
+ for (let i = 0; i < 5; i++) {
178
+ const count = await closeButtons.count().catch(() => 0);
179
+ if (count === 0) {
180
+ break;
181
+ }
182
+ await closeButtons
183
+ .first()
184
+ .click({ timeout: 5000 })
185
+ .catch(() => { });
186
+ await this.page.waitForTimeout(300);
187
+ }
170
188
  await this.notifications
171
189
  .first()
172
- .waitFor({ state: 'hidden', timeout: 60000 })
190
+ .waitFor({ state: 'hidden', timeout: 10000 })
173
191
  .catch(() => { });
192
+ }
193
+ async clickSaveScenarioButton() {
194
+ await this.dismissNotifications();
174
195
  const isModalVisible = await this.saveScenarioModal
175
196
  .isVisible()
176
197
  .catch(() => false);
@@ -194,6 +215,9 @@ class PlayPage {
194
215
  async enterScenarioName(scenarioName) {
195
216
  await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.dialog, {
196
217
  postAction: async () => {
218
+ // A lingering success toast can cover the "Save scenario" button and
219
+ // swallow the recovery click, so clear it before re-clicking.
220
+ await this.dismissNotifications();
197
221
  await this.saveScenarioButton.click({ timeout: 5000 }).catch(() => { });
198
222
  },
199
223
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.671",
3
+ "version": "0.0.672",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",