@camunda/e2e-test-suite 0.0.880 → 0.0.881

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.
@@ -4,6 +4,7 @@ declare class ConnectorMarketplacePage {
4
4
  readonly searchForConnectorTextbox: Locator;
5
5
  readonly downloadToProjectButton: Locator;
6
6
  readonly replaceResourceButton: Locator;
7
+ readonly addToProjectButton: Locator;
7
8
  readonly cancelButton: Locator;
8
9
  constructor(page: Page);
9
10
  clickSearchForConnectorTextbox(): Promise<void>;
@@ -7,6 +7,7 @@ class ConnectorMarketplacePage {
7
7
  searchForConnectorTextbox;
8
8
  downloadToProjectButton;
9
9
  replaceResourceButton;
10
+ addToProjectButton;
10
11
  cancelButton;
11
12
  constructor(page) {
12
13
  this.page = page;
@@ -18,6 +19,9 @@ class ConnectorMarketplacePage {
18
19
  this.replaceResourceButton = page.getByRole('button', {
19
20
  name: 'Replace resource',
20
21
  });
22
+ this.addToProjectButton = page.getByRole('button', {
23
+ name: 'Add to project',
24
+ });
21
25
  }
22
26
  async clickSearchForConnectorTextbox() {
23
27
  await this.searchForConnectorTextbox.click({ timeout: 60000 });
@@ -36,17 +40,28 @@ class ConnectorMarketplacePage {
36
40
  async clickReplaceResourceButton() {
37
41
  await this.replaceResourceButton.click({ timeout: 30000 });
38
42
  }
43
+ // Hub only opens its ImportModal when the download needs confirmation, and the
44
+ // primary button depends on project state: "Add to project" when the template
45
+ // is not in the project yet, "Replace resource" when one already exists.
46
+ // "Cancel" aborts the import, so the primary button is chosen explicitly --
47
+ // racing the two clicks lets Cancel win and silently drops the template.
39
48
  async downloadConnectorToProject() {
40
49
  await this.clickDownloadToProjectButton();
41
- try {
42
- await Promise.race([
43
- this.replaceResourceButton.click({ timeout: 20000 }),
44
- this.cancelButton.click({ timeout: 20000 }),
45
- ]);
46
- }
47
- catch (e) {
50
+ const primaryButton = this.addToProjectButton.or(this.replaceResourceButton);
51
+ const modalOpened = await primaryButton
52
+ .first()
53
+ .waitFor({ state: 'visible', timeout: 20000 })
54
+ .then(() => true)
55
+ .catch(() => false);
56
+ if (!modalOpened) {
48
57
  return;
49
58
  }
59
+ if (await this.addToProjectButton.isVisible()) {
60
+ await this.addToProjectButton.click({ timeout: 20000 });
61
+ }
62
+ else {
63
+ await this.replaceResourceButton.click({ timeout: 20000 });
64
+ }
50
65
  }
51
66
  // The marketplace search backend can transiently return HTTP 504
52
67
  // ("upstream request timeout"), which leaves the modal in an error or
@@ -116,7 +116,8 @@ if (process.env.IS_DS === 'true') {
116
116
  await operateProcessInstancePage.assertProcessVariableContainsText('Upload_Files', 'aws');
117
117
  });
118
118
  });
119
- (0, SM_8_9_1.test)('Document Handling Connectors User Flow - AWS @tasklistV2', async ({ page, navigationPage, modelerHomePage, modelerCreatePage, operateHomePage, operateProcessesPage, connectorMarketplacePage, operateProcessInstancePage, ocIdentityHomePage, ocIdentityRolesPage, }) => {
119
+ // Skipped due to bug #8162: https://github.com/camunda/connectors/issues/8162
120
+ SM_8_9_1.test.skip('Document Handling Connectors User Flow - AWS @tasklistV2', async ({ page, navigationPage, modelerHomePage, modelerCreatePage, operateHomePage, operateProcessesPage, connectorMarketplacePage, operateProcessInstancePage, ocIdentityHomePage, ocIdentityRolesPage, }) => {
120
121
  const processName = 'Document_Handling_Connectors_User_Flow_AWS_Process' +
121
122
  (await (0, _setup_1.generateRandomStringAsync)(3));
122
123
  const baseURL = process.env.PLAYWRIGHT_BASE_URL ||
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.880",
3
+ "version": "0.0.881",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",