@camunda/e2e-test-suite 0.0.362 → 0.0.364

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.
@@ -9,6 +9,8 @@ declare class OperateHomePage {
9
9
  readonly saveVariableButton: Locator;
10
10
  readonly editVariableSpinner: Locator;
11
11
  readonly operateBanner: Locator;
12
+ readonly closeButton: Locator;
13
+ readonly messageBanner: Locator;
12
14
  constructor(page: Page);
13
15
  clickProcessesTab(): Promise<void>;
14
16
  closeInformationDialog(): Promise<void>;
@@ -17,5 +19,6 @@ declare class OperateHomePage {
17
19
  clearVariableValueInput(): Promise<void>;
18
20
  fillVariableValueInput(value: string): Promise<void>;
19
21
  clickSaveVariableButton(): Promise<void>;
22
+ clickMessageBanner(): Promise<void>;
20
23
  }
21
24
  export { OperateHomePage };
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OperateHomePage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const clickLocatorWithRetry_1 = require("../../utils/assertionHelpers/clickLocatorWithRetry");
4
6
  class OperateHomePage {
5
7
  page;
6
8
  operateHeader;
@@ -11,6 +13,8 @@ class OperateHomePage {
11
13
  saveVariableButton;
12
14
  editVariableSpinner;
13
15
  operateBanner;
16
+ closeButton;
17
+ messageBanner;
14
18
  constructor(page) {
15
19
  this.page = page;
16
20
  this.operateHeader = page.getByRole('link', { name: 'Camunda Operate' });
@@ -29,9 +33,15 @@ class OperateHomePage {
29
33
  .locator('circle')
30
34
  .nth(1);
31
35
  this.operateBanner = page.getByRole('link', { name: 'Camunda logo Operate' });
36
+ this.closeButton = page.getByRole('button', { name: 'Got it - Dismiss' });
37
+ this.messageBanner = page.getByRole('button', { name: 'Close' });
32
38
  }
33
39
  async clickProcessesTab() {
34
- await this.processesTab.click({ timeout: 90000 });
40
+ await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.processesTab, {
41
+ preAction: async () => {
42
+ await this.clickMessageBanner();
43
+ },
44
+ });
35
45
  }
36
46
  async closeInformationDialog() {
37
47
  await this.informationDialog.click();
@@ -52,5 +62,15 @@ class OperateHomePage {
52
62
  async clickSaveVariableButton() {
53
63
  await this.saveVariableButton.click();
54
64
  }
65
+ async clickMessageBanner() {
66
+ try {
67
+ const button = this.messageBanner.or(this.closeButton).first();
68
+ await (0, test_1.expect)(button).toBeVisible({ timeout: 15000 });
69
+ await button.click();
70
+ }
71
+ catch {
72
+ console.log('No banner or close button found to click');
73
+ }
74
+ }
55
75
  }
56
76
  exports.OperateHomePage = OperateHomePage;
@@ -38,6 +38,13 @@ async function modelRestConnector(modelerCreatePage, connectorSettingsPage, proc
38
38
  });
39
39
  await modelerCreatePage.enterDiagramName(processName);
40
40
  await (0, sleep_1.sleep)(10000);
41
+ await modelerCreatePage.clickCanvas();
42
+ await modelerCreatePage.clickGeneralPropertiesPanel();
43
+ await modelerCreatePage.clickNameInput();
44
+ await modelerCreatePage.fillNamedInput(processName);
45
+ await modelerCreatePage.clickIdInput();
46
+ await modelerCreatePage.fillIdInput(processName);
47
+ await modelerCreatePage.clickStartEventElement();
41
48
  await modelerCreatePage.clickAppendElementButton();
42
49
  await modelerCreatePage.clickAppendTaskButton();
43
50
  await modelerCreatePage.clickChangeTypeButton();
@@ -71,7 +71,12 @@ class OperateHomePage {
71
71
  }
72
72
  async clickSaveVariableButton() {
73
73
  await this.applyButton.click();
74
- await this.saveVariableButton.click();
74
+ try {
75
+ await this.saveVariableButton.click();
76
+ }
77
+ catch {
78
+ // additional save not required -> continue
79
+ }
75
80
  }
76
81
  }
77
82
  exports.OperateHomePage = OperateHomePage;
@@ -15,6 +15,7 @@ const OptimizeCollectionsPage_1 = require("../../pages/8.7/OptimizeCollectionsPa
15
15
  const OptimizeReportPage_1 = require("../../pages/8.7/OptimizeReportPage");
16
16
  const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
17
17
  const users_1 = require("../../utils/users");
18
+ const sleep_1 = require("../../utils/sleep");
18
19
  const testUser = (0, users_1.getTestUser)('thirteenthUser');
19
20
  _8_7_1.test.describe.configure({ mode: 'parallel' });
20
21
  _8_7_1.test.describe('Smoke Tests', () => {
@@ -66,7 +67,14 @@ _8_7_1.test.describe('Smoke Tests', () => {
66
67
  });
67
68
  await modelerCreatePage.enterDiagramName(processName);
68
69
  await modelerCreatePage.assertDiagramNameSet(processName);
69
- await modelerCreatePage.addProcessId(processName);
70
+ await (0, sleep_1.sleep)(10000);
71
+ await modelerCreatePage.clickCanvas();
72
+ await modelerCreatePage.clickGeneralPropertiesPanel();
73
+ await modelerCreatePage.clickNameInput();
74
+ await modelerCreatePage.fillNamedInput(processName);
75
+ await modelerCreatePage.clickIdInput();
76
+ await modelerCreatePage.fillIdInput(processName);
77
+ await modelerCreatePage.clickStartEventElement();
70
78
  await modelerCreatePage.addParallelUserTasks(2, userTaskName);
71
79
  await modelerCreatePage.clickAppendElementButton();
72
80
  await modelerCreatePage.clickAppendEndEventButton('parallelGateway');
@@ -146,7 +154,7 @@ _8_7_1.test.describe('Smoke Tests', () => {
146
154
  await (0, test_1.expect)(optimizeTabOptimizeReportPage.oneUserTaskInstance).toHaveCount(2, { timeout: 120000 });
147
155
  });
148
156
  });
149
- (0, _8_7_1.test)('Most Common REST Connector User Flow', async ({ page, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
157
+ (0, _8_7_1.test)('Most Common REST Connector User Flow', async ({ page, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, }) => {
150
158
  _8_7_1.test.slow();
151
159
  const randomString = useFixedNames
152
160
  ? 'UpgradeTest'
@@ -156,7 +164,7 @@ _8_7_1.test.describe('Smoke Tests', () => {
156
164
  await appsPage.clickCamundaApps();
157
165
  await appsPage.clickModeler();
158
166
  await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
159
- timeout: 10000,
167
+ timeout: 60000,
160
168
  });
161
169
  });
162
170
  await _8_7_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
@@ -169,19 +177,25 @@ _8_7_1.test.describe('Smoke Tests', () => {
169
177
  await modelerCreatePage.runProcessInstance(clusterName);
170
178
  });
171
179
  await _8_7_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
172
- await appsPage.clickCamundaApps();
173
- await appsPage.clickOperate(clusterName);
174
- await operateHomePage.clickProcessesTab();
175
- await operateProcessesPage.clickProcessCompletedCheckbox();
176
- await operateProcessesPage.clickProcessInstanceLink(processName);
177
- await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.completedIcon, { totalTimeout: 60000, maxRetries: 5 });
178
- await (0, test_1.expect)(operateProcessInstancePage.variablesList).toBeVisible({
180
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
181
+ timeout: 60000,
182
+ });
183
+ await modelerCreatePage.clickViewProcessInstanceLink();
184
+ const operateTab = await page.waitForEvent('popup', { timeout: 30000 });
185
+ const operateTabHomePage = new OperateHomePage_1.OperateHomePage(operateTab);
186
+ const operateTabProcessesPage = new OperateProcessesPage_1.OperateProcessesPage(operateTab);
187
+ const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
188
+ await operateTabHomePage.clickProcessesTab();
189
+ await operateTabProcessesPage.clickProcessCompletedCheckbox();
190
+ await operateTabProcessesPage.clickProcessInstanceLink(processName);
191
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateTabProcessInstancePage.completedIcon, { totalTimeout: 60000, maxRetries: 5 });
192
+ await (0, test_1.expect)(operateTabProcessInstancePage.variablesList).toBeVisible({
179
193
  timeout: 15000,
180
194
  });
181
- await (0, test_1.expect)(operateProcessInstancePage.connectorResultVariableName('message')).toBeVisible({
195
+ await (0, test_1.expect)(operateTabProcessInstancePage.connectorResultVariableName('message')).toBeVisible({
182
196
  timeout: 15000,
183
197
  });
184
- await (0, test_1.expect)(operateProcessInstancePage
198
+ await (0, test_1.expect)(operateTabProcessInstancePage
185
199
  .connectorResultVariableName('message')
186
200
  .getByText('"Message from Mock!"')).toBeVisible({
187
201
  timeout: 15000,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.362",
3
+ "version": "0.0.364",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",