@camunda/e2e-test-suite 0.0.881 → 0.0.883

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.
@@ -118,7 +118,11 @@ class ModelerCreatePage {
118
118
  name: 'Change element',
119
119
  exact: true,
120
120
  });
121
- this.userTaskOption = page.getByRole('option', { name: 'User task' });
121
+ // The change-element popup lists the project's deployed resources next to
122
+ // the built-in element types, so a role+name match on 'User task' is
123
+ // ambiguous whenever a diagram name contains it (e.g. "Optimize Job Worker
124
+ // User Task Diagram"). Target the built-in entry by its stable data-id.
125
+ this.userTaskOption = page.locator('.djs-popup-results [data-id="replace-with-user-task"]');
122
126
  this.appendEndEventButton = page.getByRole('button', {
123
127
  name: 'Append end event',
124
128
  });
@@ -146,10 +150,11 @@ class ModelerCreatePage {
146
150
  this.deploySubButton = page.locator('[data-test="deploy-action"]');
147
151
  this.cancelButton = page.getByRole('button', { name: 'Cancel' });
148
152
  this.restConnectorOption = page.locator('[data-id="replace.template-io.camunda.connectors.HttpJson.v2"]');
149
- this.webhookMessageStartEventConnectorOption = page.getByRole('listitem', {
150
- name: 'Webhook Message Start Event Connector',
151
- exact: true,
152
- });
153
+ // Change-element popup entries are `role="option"` under
154
+ // `.djs-popup-results`, and their accessible name now includes the entry
155
+ // description, so no role+name matcher resolves them. Target the stable
156
+ // element-template data-id instead (same selector the hub e2e suite uses).
157
+ this.webhookMessageStartEventConnectorOption = page.locator('.djs-popup-results [data-id="replace.template-io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1"]');
153
158
  this.webhookTab = page.getByRole('tab', { name: 'Webhook' });
154
159
  this.webhookIsActiveButton = page.getByRole('button', {
155
160
  name: 'Webhook is active in Test',
@@ -178,9 +183,7 @@ class ModelerCreatePage {
178
183
  this.intermediateBoundaryEvent = page.getByRole('button', {
179
184
  name: 'Append intermediate/boundary',
180
185
  });
181
- this.intermediateWebhookConnectorOption = page.getByRole('listitem', {
182
- name: 'Webhook Intermediate Event',
183
- });
186
+ this.intermediateWebhookConnectorOption = page.locator('.djs-popup-results [data-id="replace.template-io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1"]');
184
187
  this.correlationKeyPayloadInput = page.getByLabel('Correlation key (payload)');
185
188
  this.correlationKeyProcessInput = page.getByLabel('Correlation key (process)');
186
189
  this.form = page.locator('[class="fjs-container"]');
@@ -214,7 +217,7 @@ class ModelerCreatePage {
214
217
  this.secondPlacedGateway = page
215
218
  .locator('[data-element-id*="Gateway"]')
216
219
  .last();
217
- this.serviceTaskOption = page.getByRole('option', { name: 'Service task' });
220
+ this.serviceTaskOption = page.locator('.djs-popup-results [data-id="replace-with-service-task"]');
218
221
  this.taskDefinitionPanel = page.locator('[data-group-id="group-taskDefinition"]');
219
222
  this.jobTypeInput = page.getByRole('textbox', { name: /job type/i });
220
223
  this.playTab = page.getByRole('tab', {
@@ -256,10 +259,7 @@ class ModelerCreatePage {
256
259
  .getByText('zeebeClientId');
257
260
  this.variableAssignmentValueTextboxThirdVariable = page.locator('#bio-properties-panel-StartEvent_1-output-2-source div');
258
261
  this.connectorsDocHandlingStartEventElement = page.locator('g:nth-child(5) > .djs-element > .djs-hit');
259
- this.timerEventOption = page.getByRole('listitem', {
260
- name: 'Timer intermediate catch event',
261
- exact: true,
262
- });
262
+ this.timerEventOption = page.locator('.djs-popup-results [data-id="replace-with-timer-intermediate-catch"]');
263
263
  this.timerEventSettings = page.getByText(/^Timer$/).first();
264
264
  this.timerType = page.getByLabel('Type');
265
265
  this.timerValue = page.getByLabel('Value');
@@ -121,7 +121,11 @@ class ModelerCreatePage {
121
121
  name: 'Change element',
122
122
  exact: true,
123
123
  });
124
- this.userTaskOption = page.getByRole('option', { name: 'User task' });
124
+ // The change-element popup lists the project's deployed resources next to
125
+ // the built-in element types, so a role+name match on 'User task' is
126
+ // ambiguous whenever a diagram name contains it (e.g. "Optimize Job Worker
127
+ // User Task Diagram"). Target the built-in entry by its stable data-id.
128
+ this.userTaskOption = page.locator('.djs-popup-results [data-id="replace-with-user-task"]');
125
129
  this.priorityInput = page.getByRole('textbox', { name: 'priority' });
126
130
  this.appendEndEventButton = page.getByRole('button', {
127
131
  name: 'Append end event',
@@ -161,10 +165,11 @@ class ModelerCreatePage {
161
165
  this.deploySubButton = page.locator('[data-test="deploy-action"]');
162
166
  this.cancelButton = page.getByRole('button', { name: 'Cancel' });
163
167
  this.restConnectorOption = page.locator('[data-id="replace.template-io.camunda.connectors.HttpJson.v2"]');
164
- this.webhookMessageStartEventConnectorOption = page.getByRole('listitem', {
165
- name: 'Webhook Message Start Event Connector',
166
- exact: true,
167
- });
168
+ // Change-element popup entries are `role="option"` under
169
+ // `.djs-popup-results`, and their accessible name now includes the entry
170
+ // description, so no role+name matcher resolves them. Target the stable
171
+ // element-template data-id instead (same selector the hub e2e suite uses).
172
+ this.webhookMessageStartEventConnectorOption = page.locator('.djs-popup-results [data-id="replace.template-io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1"]');
168
173
  this.webhookTab = page.getByRole('tab', { name: 'Webhook' });
169
174
  this.webhookIsActiveButton = page.getByRole('button', {
170
175
  name: 'Webhook is active in Test',
@@ -176,7 +181,7 @@ class ModelerCreatePage {
176
181
  .first();
177
182
  this.createTask = page.getByTitle('Create task');
178
183
  this.createEndEvent = page.getByTitle('Create end event');
179
- this.canvas = page.locator('rect').nth(1);
184
+ this.canvas = page.locator('.djs-container');
180
185
  this.endEventCanvas = page.locator('[class="bjs-container"]');
181
186
  this.connectToOtherElementButton = page.getByRole('button', {
182
187
  name: 'Connect to other element',
@@ -198,9 +203,7 @@ class ModelerCreatePage {
198
203
  this.intermediateBoundaryEvent = page.getByRole('button', {
199
204
  name: 'Append intermediate/boundary',
200
205
  });
201
- this.intermediateWebhookConnectorOption = page.getByRole('listitem', {
202
- name: 'Webhook Intermediate Event',
203
- });
206
+ this.intermediateWebhookConnectorOption = page.locator('.djs-popup-results [data-id="replace.template-io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1"]');
204
207
  this.correlationKeyPayloadInput = page.getByLabel('Correlation key (payload)');
205
208
  this.correlationKeyProcessInput = page.getByLabel('Correlation key (process)');
206
209
  this.form = page.locator('[class="fjs-container"]');
@@ -243,7 +246,7 @@ class ModelerCreatePage {
243
246
  this.secondPlacedGateway = page
244
247
  .locator('[data-element-id*="Gateway"]')
245
248
  .last();
246
- this.serviceTaskOption = page.getByRole('option', { name: 'Service task' });
249
+ this.serviceTaskOption = page.locator('.djs-popup-results [data-id="replace-with-service-task"]');
247
250
  this.taskDefinitionPanel = page.locator('[data-group-id="group-taskDefinition"]');
248
251
  this.jobTypeInput = page.getByRole('textbox', { name: /job type/i });
249
252
  this.playTab = page.getByRole('tab', {
@@ -285,10 +288,7 @@ class ModelerCreatePage {
285
288
  .getByText('zeebeClientId');
286
289
  this.variableAssignmentValueTextboxThirdVariable = page.locator('#bio-properties-panel-StartEvent_1-output-2-source div');
287
290
  this.connectorsDocHandlingStartEventElement = page.locator('g:nth-child(5) > .djs-element > .djs-hit');
288
- this.timerEventOption = page.getByRole('listitem', {
289
- name: 'Timer intermediate catch event',
290
- exact: true,
291
- });
291
+ this.timerEventOption = page.locator('.djs-popup-results [data-id="replace-with-timer-intermediate-catch"]');
292
292
  this.timerEventSettings = page.getByText(/^Timer$/).first();
293
293
  this.timerType = page.getByLabel('Type');
294
294
  this.timerValue = page.getByLabel('Value');
@@ -774,7 +774,11 @@ class ModelerCreatePage {
774
774
  await this.createEndEvent.click({ timeout: 60000 });
775
775
  }
776
776
  async clickCanvas() {
777
- await this.canvas.click({ timeout: 60000 });
777
+ // Clicking the canvas centre lands on a shape (or an open create pad) as
778
+ // soon as the diagram has more than a couple of elements, and the click is
779
+ // then intercepted instead of clearing the selection. Click the empty
780
+ // gutter above the diagram and right of the palette instead.
781
+ await this.canvas.click({ timeout: 60000, position: { x: 150, y: 25 } });
778
782
  }
779
783
  async clickEndEventCanvas() {
780
784
  await this.endEventCanvas.click({ timeout: 60000 });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.881",
3
+ "version": "0.0.883",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",