@camunda/e2e-test-suite 0.0.662 → 0.0.664

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.
@@ -8,8 +8,6 @@ declare class OperateHomePage {
8
8
  readonly variableValueInput: Locator;
9
9
  readonly saveVariableButton: Locator;
10
10
  readonly editVariableSpinner: Locator;
11
- readonly applyButton: Locator;
12
- readonly openButton: Locator;
13
11
  constructor(page: Page);
14
12
  operateBannerIsVisible(): Promise<void>;
15
13
  clickProcessesTab(): Promise<void>;
@@ -11,8 +11,6 @@ class OperateHomePage {
11
11
  variableValueInput;
12
12
  saveVariableButton;
13
13
  editVariableSpinner;
14
- applyButton;
15
- openButton;
16
14
  constructor(page) {
17
15
  this.page = page;
18
16
  this.operateBanner = page.getByRole('link', { name: 'Camunda logo Operate' });
@@ -22,15 +20,14 @@ class OperateHomePage {
22
20
  });
23
21
  this.editVariableButton = page.getByTestId('edit-variable-button');
24
22
  this.variableValueInput = page.getByTestId('edit-variable-value');
25
- this.saveVariableButton = page.getByLabel('Save variable');
23
+ // Carbon icon-only buttons expose their accessible name via aria-labelledby
24
+ // (tooltip text "Save") which overrides aria-label for computed accessible name.
25
+ // Use a CSS attribute selector to match the raw aria-label attribute directly.
26
+ this.saveVariableButton = page.locator('[aria-label="Save variable"]');
26
27
  this.editVariableSpinner = page
27
28
  .getByTestId('variable-operation-spinner')
28
29
  .locator('circle')
29
30
  .nth(1);
30
- this.applyButton = page.getByRole('button', { name: 'Apply' });
31
- this.openButton = page
32
- .getByTestId('variable-testVariable')
33
- .getByLabel('Open');
34
31
  }
35
32
  async operateBannerIsVisible() {
36
33
  await (0, test_1.expect)(this.operateBanner).toBeVisible({ timeout: 30000 });
@@ -61,23 +58,23 @@ class OperateHomePage {
61
58
  await this.variableValueInput.clear();
62
59
  }
63
60
  async fillVariableValueInput(newValue) {
64
- await this.openButton.click();
61
+ // clickEditVariableButton triggers autoFocus → editor.focus() in Monaco's
62
+ // onMount. Wait for the cursor to confirm Monaco has keyboard focus before
63
+ // sending events. Scoped to the variable row to avoid matching other editors.
65
64
  await this.page
66
- .getByLabel('Edit Variable "testVariable"')
67
- .getByText('"testValue"')
68
- .click();
69
- await this.page.keyboard.press('ControlOrMeta+A');
70
- await this.page.keyboard.press('Delete');
71
- await this.page.keyboard.insertText(`"${newValue}"`);
65
+ .getByTestId('variable-testVariable')
66
+ .locator('.monaco-editor .cursor')
67
+ .first()
68
+ .waitFor({ state: 'visible', timeout: 30000 });
69
+ // Select all, then replace with insertText (single InputEvent dispatch).
70
+ // keyboard.type() triggers Monaco's auto-close-quote feature which inserts
71
+ // an extra closing quote and produces invalid JSON. insertText dispatches one
72
+ // input event that replaces the selection atomically, bypassing auto-close.
73
+ await this.page.keyboard.press('Control+A');
74
+ await this.page.keyboard.insertText(`"${newValue}`);
72
75
  }
73
76
  async clickSaveVariableButton() {
74
- await this.applyButton.click();
75
- try {
76
- await this.saveVariableButton.click();
77
- }
78
- catch {
79
- // additional save not required -> continue
80
- }
77
+ await this.saveVariableButton.click({ timeout: 30000 });
81
78
  }
82
79
  }
83
80
  exports.OperateHomePage = OperateHomePage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.662",
3
+ "version": "0.0.664",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",