@camunda/e2e-test-suite 0.0.1139 → 0.0.1140

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.
@@ -129,7 +129,11 @@ class ModelerCreatePage {
129
129
  name: 'Change element',
130
130
  exact: true,
131
131
  });
132
- this.userTaskOption = page.getByRole('option', { name: 'User task' });
132
+ // Anchor on the built-in entry's data-id: the popup also lists the
133
+ // project's deployed resources (`data-id="resources-replace-bpmnProcess-N"`)
134
+ // labelled with the diagram name, which makes a role+name match on
135
+ // 'User task' ambiguous as soon as such a diagram exists.
136
+ this.userTaskOption = page.locator('.djs-popup-results [data-id="replace-with-user-task"]');
133
137
  this.serviceTaskOption = page.getByRole('option', { name: 'Service task' });
134
138
  this.appendEndEventButton = page.getByRole('button', {
135
139
  name: 'Append end event',
@@ -1327,7 +1331,9 @@ class ModelerCreatePage {
1327
1331
  }
1328
1332
  async assertImplementationOption(implementationType) {
1329
1333
  await this.expandImplementationOptionIfNecessary();
1330
- (0, test_1.expect)(await this.implementationOptions.inputValue()).toEqual(implementationType);
1334
+ await (0, test_1.expect)(this.implementationOptions).toHaveValue(implementationType, {
1335
+ timeout: 30000,
1336
+ });
1331
1337
  }
1332
1338
  async chooseImplementationOption(implementationType) {
1333
1339
  // Wait for implementation section to be attached and stable after task type change
@@ -1345,12 +1351,23 @@ class ModelerCreatePage {
1345
1351
  await this.assertImplementationOption(implementationType);
1346
1352
  }
1347
1353
  async expandImplementationOptionIfNecessary() {
1348
- const isExpanded = (await this.implementationSection
1349
- .locator('.bio-properties-panel-group-header empty open')
1350
- .count()) > 0;
1351
- if (!isExpanded) {
1352
- await this.implementationSection.click();
1354
+ // `.bio-properties-panel-group-header empty open` is a descendant
1355
+ // combinator over non-existent `empty`/`open` element types, so it always
1356
+ // counted 0 and every call clicked blindly. Read the entry the caller is
1357
+ // about to assert on instead, and click the header rather than the group
1358
+ // container: the container re-renders while the panel rebuilds after an
1359
+ // id/name edit and detaches mid-click.
1360
+ if (await this.implementationOptions.isVisible().catch(() => false)) {
1361
+ return;
1353
1362
  }
1363
+ await this.implementationSection.waitFor({
1364
+ state: 'visible',
1365
+ timeout: 30000,
1366
+ });
1367
+ await this.implementationSection
1368
+ .locator('.bio-properties-panel-group-header')
1369
+ .click({ timeout: 60000 });
1370
+ await (0, test_1.expect)(this.implementationOptions).toBeVisible({ timeout: 30000 });
1354
1371
  }
1355
1372
  async expandAssignmentSection() {
1356
1373
  // Scoped to assignmentSection already, so the group-id must not be repeated
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.1139",
3
+ "version": "0.0.1140",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",