@camunda/e2e-test-suite 0.0.360 → 0.0.362

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.
@@ -13,6 +13,8 @@ declare class OperateHomePage {
13
13
  readonly processPageHeading: Locator;
14
14
  readonly applyButton: Locator;
15
15
  readonly openButton: Locator;
16
+ readonly closeButton: Locator;
17
+ readonly messageBanner: Locator;
16
18
  constructor(page: Page);
17
19
  clickProcessesTab(): Promise<void>;
18
20
  closeInformationDialog(): Promise<void>;
@@ -21,5 +23,6 @@ declare class OperateHomePage {
21
23
  clearVariableValueInput(): Promise<void>;
22
24
  fillVariableValueInput(newValue: string): Promise<void>;
23
25
  clickSaveVariableButton(): Promise<void>;
26
+ clickMessageBanner(): Promise<void>;
24
27
  }
25
28
  export { OperateHomePage };
@@ -18,6 +18,8 @@ class OperateHomePage {
18
18
  processPageHeading;
19
19
  applyButton;
20
20
  openButton;
21
+ closeButton;
22
+ messageBanner;
21
23
  constructor(page) {
22
24
  this.page = page;
23
25
  this.operateHeader = page.getByRole('link', { name: 'Camunda Operate' });
@@ -48,9 +50,15 @@ class OperateHomePage {
48
50
  this.openButton = page
49
51
  .getByTestId('variable-testVariable')
50
52
  .getByLabel('Open');
53
+ this.closeButton = page.getByRole('button', { name: 'Got it - Dismiss' });
54
+ this.messageBanner = page.getByRole('button', { name: 'Close' });
51
55
  }
52
56
  async clickProcessesTab() {
53
- await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.processesTab);
57
+ await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.processesTab, {
58
+ preAction: async () => {
59
+ await this.clickMessageBanner();
60
+ },
61
+ });
54
62
  await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.processPageHeading, {
55
63
  preAction: async () => {
56
64
  await (0, test_1.expect)(this.processesTab).toBeVisible({ timeout: 10000 });
@@ -83,5 +91,15 @@ class OperateHomePage {
83
91
  async clickSaveVariableButton() {
84
92
  await this.applyButton.click();
85
93
  }
94
+ async clickMessageBanner() {
95
+ try {
96
+ const button = this.messageBanner.or(this.closeButton).first();
97
+ await (0, test_1.expect)(button).toBeVisible({ timeout: 15000 });
98
+ await button.click();
99
+ }
100
+ catch {
101
+ console.log('No banner or close button found to click');
102
+ }
103
+ }
86
104
  }
87
105
  exports.OperateHomePage = OperateHomePage;
@@ -65,6 +65,13 @@ async function modelRestConnector(modelerCreatePage, connectorSettingsPage, proc
65
65
  });
66
66
  await modelerCreatePage.enterDiagramName(processName);
67
67
  await (0, sleep_1.sleep)(10000);
68
+ await modelerCreatePage.clickCanvas();
69
+ await modelerCreatePage.clickGeneralPropertiesPanel();
70
+ await modelerCreatePage.clickNameInput();
71
+ await modelerCreatePage.fillNamedInput(processName);
72
+ await modelerCreatePage.clickIdInput();
73
+ await modelerCreatePage.fillIdInput(processName);
74
+ await modelerCreatePage.clickStartEventElement();
68
75
  await modelerCreatePage.clickAppendElementButton();
69
76
  await modelerCreatePage.clickAppendTaskButton();
70
77
  await modelerCreatePage.clickChangeTypeButton();
@@ -11,6 +11,8 @@ declare class OperateHomePage {
11
11
  readonly operateBanner: Locator;
12
12
  readonly noPermissionsMessage: Locator;
13
13
  readonly processPageHeading: Locator;
14
+ readonly closeButton: Locator;
15
+ readonly messageBanner: Locator;
14
16
  constructor(page: Page);
15
17
  clickProcessesTab(): Promise<void>;
16
18
  closeInformationDialog(): Promise<void>;
@@ -19,5 +21,6 @@ declare class OperateHomePage {
19
21
  clearVariableValueInput(): Promise<void>;
20
22
  fillVariableValueInput(value: string): Promise<void>;
21
23
  clickSaveVariableButton(): Promise<void>;
24
+ clickMessageBanner(): Promise<void>;
22
25
  }
23
26
  export { OperateHomePage };
@@ -16,6 +16,8 @@ class OperateHomePage {
16
16
  operateBanner;
17
17
  noPermissionsMessage;
18
18
  processPageHeading;
19
+ closeButton;
20
+ messageBanner;
19
21
  constructor(page) {
20
22
  this.page = page;
21
23
  this.operateHeader = page.getByRole('link', { name: 'Camunda Operate' });
@@ -40,9 +42,15 @@ class OperateHomePage {
40
42
  this.processPageHeading = page
41
43
  .getByTestId('expanded-panel')
42
44
  .getByText('Process', { exact: true });
45
+ this.closeButton = page.getByRole('button', { name: 'Got it - Dismiss' });
46
+ this.messageBanner = page.getByRole('button', { name: 'Close' });
43
47
  }
44
48
  async clickProcessesTab() {
45
- await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.processesTab);
49
+ await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.processesTab, {
50
+ preAction: async () => {
51
+ await this.clickMessageBanner();
52
+ },
53
+ });
46
54
  await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.processPageHeading, {
47
55
  preAction: async () => {
48
56
  await (0, test_1.expect)(this.processesTab).toBeVisible({ timeout: 10000 });
@@ -69,5 +77,15 @@ class OperateHomePage {
69
77
  async clickSaveVariableButton() {
70
78
  await this.saveVariableButton.click();
71
79
  }
80
+ async clickMessageBanner() {
81
+ try {
82
+ const button = this.messageBanner.or(this.closeButton).first();
83
+ await (0, test_1.expect)(button).toBeVisible({ timeout: 15000 });
84
+ await button.click();
85
+ }
86
+ catch {
87
+ console.log('No banner or close button found to click');
88
+ }
89
+ }
72
90
  }
73
91
  exports.OperateHomePage = OperateHomePage;
@@ -65,6 +65,13 @@ async function modelRestConnector(modelerCreatePage, connectorSettingsPage, proc
65
65
  });
66
66
  await modelerCreatePage.enterDiagramName(processName);
67
67
  await (0, sleep_1.sleep)(10000);
68
+ await modelerCreatePage.clickCanvas();
69
+ await modelerCreatePage.clickGeneralPropertiesPanel();
70
+ await modelerCreatePage.clickNameInput();
71
+ await modelerCreatePage.fillNamedInput(processName);
72
+ await modelerCreatePage.clickIdInput();
73
+ await modelerCreatePage.fillIdInput(processName);
74
+ await modelerCreatePage.clickStartEventElement();
68
75
  await modelerCreatePage.clickAppendElementButton();
69
76
  await modelerCreatePage.clickAppendTaskButton();
70
77
  await modelerCreatePage.clickChangeTypeButton();
@@ -63,6 +63,14 @@ _8_10_1.test.describe('Smoke Tests', () => {
63
63
  });
64
64
  await modelerCreatePage.enterDiagramName(processName);
65
65
  await modelerCreatePage.assertDiagramNameSet(processName);
66
+ await (0, sleep_1.sleep)(10000);
67
+ await modelerCreatePage.clickCanvas();
68
+ await modelerCreatePage.clickGeneralPropertiesPanel();
69
+ await modelerCreatePage.clickNameInput();
70
+ await modelerCreatePage.fillNamedInput(processName);
71
+ await modelerCreatePage.clickIdInput();
72
+ await modelerCreatePage.fillIdInput(processName);
73
+ await modelerCreatePage.clickStartEventElement();
66
74
  await modelerCreatePage.addParallelUserTasks(2, userTaskName);
67
75
  await modelerCreatePage.clickAppendElementButton();
68
76
  await modelerCreatePage.clickAppendEndEventButton('parallelGateway');
@@ -143,7 +151,7 @@ _8_10_1.test.describe('Smoke Tests', () => {
143
151
  await (0, test_1.expect)(optimizeTabOptimizeReportPage.oneUserTaskInstance).toHaveCount(2, { timeout: 60000 });
144
152
  });
145
153
  });
146
- (0, _8_10_1.test)('Most Common REST Connector User Flow', async ({ page, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
154
+ (0, _8_10_1.test)('Most Common REST Connector User Flow', async ({ page, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, }) => {
147
155
  _8_10_1.test.slow();
148
156
  const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
149
157
  const processName = 'REST_Connector_Basic_Auth_Process' + randomString;
@@ -151,7 +159,7 @@ _8_10_1.test.describe('Smoke Tests', () => {
151
159
  await appsPage.clickCamundaApps();
152
160
  await appsPage.clickModeler();
153
161
  await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
154
- timeout: 30000,
162
+ timeout: 60000,
155
163
  });
156
164
  });
157
165
  await _8_10_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
@@ -164,17 +172,23 @@ _8_10_1.test.describe('Smoke Tests', () => {
164
172
  await modelerCreatePage.runProcessInstance(clusterName);
165
173
  });
166
174
  await _8_10_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
167
- await appsPage.clickCamundaApps();
168
- await appsPage.clickOperate(clusterName);
169
- await operateHomePage.clickProcessesTab();
170
- await operateProcessesPage.clickProcessCompletedCheckbox();
171
- await operateProcessesPage.clickProcessInstanceLink(processName);
172
- await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.completedIcon, { totalTimeout: 60000, maxRetries: 5 });
173
- await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.variablesList, { totalTimeout: 60000, maxRetries: 5 });
174
- await (0, test_1.expect)(operateProcessInstancePage.connectorResultVariableName('message')).toBeVisible({
175
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
176
+ timeout: 60000,
177
+ });
178
+ await modelerCreatePage.clickViewProcessInstanceLink();
179
+ const operateTab = await page.waitForEvent('popup', { timeout: 30000 });
180
+ const operateTabHomePage = new OperateHomePage_1.OperateHomePage(operateTab);
181
+ const operateTabProcessesPage = new OperateProcessesPage_1.OperateProcessesPage(operateTab);
182
+ const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
183
+ await operateTabHomePage.clickProcessesTab();
184
+ await operateTabProcessesPage.clickProcessCompletedCheckbox();
185
+ await operateTabProcessesPage.clickProcessInstanceLink(processName);
186
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateTabProcessInstancePage.completedIcon, { totalTimeout: 60000, maxRetries: 5 });
187
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateTabProcessInstancePage.variablesList, { totalTimeout: 60000, maxRetries: 5 });
188
+ await (0, test_1.expect)(operateTabProcessInstancePage.connectorResultVariableName('message')).toBeVisible({
175
189
  timeout: 15000,
176
190
  });
177
- await (0, test_1.expect)(operateProcessInstancePage
191
+ await (0, test_1.expect)(operateTabProcessInstancePage
178
192
  .connectorResultVariableName('message')
179
193
  .getByText('"Message from Mock!"')).toBeVisible({
180
194
  timeout: 15000,
@@ -69,6 +69,14 @@ _8_9_1.test.describe('Smoke Tests', () => {
69
69
  });
70
70
  await modelerCreatePage.enterDiagramName(processName);
71
71
  await modelerCreatePage.assertDiagramNameSet(processName);
72
+ await (0, sleep_1.sleep)(10000);
73
+ await modelerCreatePage.clickCanvas();
74
+ await modelerCreatePage.clickGeneralPropertiesPanel();
75
+ await modelerCreatePage.clickNameInput();
76
+ await modelerCreatePage.fillNamedInput(processName);
77
+ await modelerCreatePage.clickIdInput();
78
+ await modelerCreatePage.fillIdInput(processName);
79
+ await modelerCreatePage.clickStartEventElement();
72
80
  await modelerCreatePage.addParallelUserTasks(2, userTaskName);
73
81
  await modelerCreatePage.clickAppendElementButton();
74
82
  await modelerCreatePage.clickAppendEndEventButton('parallelGateway');
@@ -149,7 +157,7 @@ _8_9_1.test.describe('Smoke Tests', () => {
149
157
  await (0, test_1.expect)(optimizeTabOptimizeReportPage.oneUserTaskInstance).toHaveCount(2, { timeout: 60000 });
150
158
  });
151
159
  });
152
- (0, _8_9_1.test)('Most Common REST Connector User Flow', async ({ page, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
160
+ (0, _8_9_1.test)('Most Common REST Connector User Flow', async ({ page, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, }) => {
153
161
  _8_9_1.test.slow();
154
162
  const randomString = useFixedNames
155
163
  ? 'UpgradeTest'
@@ -159,7 +167,7 @@ _8_9_1.test.describe('Smoke Tests', () => {
159
167
  await appsPage.clickCamundaApps();
160
168
  await appsPage.clickModeler();
161
169
  await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
162
- timeout: 10000,
170
+ timeout: 60000,
163
171
  });
164
172
  });
165
173
  await _8_9_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
@@ -172,17 +180,23 @@ _8_9_1.test.describe('Smoke Tests', () => {
172
180
  await modelerCreatePage.runProcessInstance(clusterName);
173
181
  });
174
182
  await _8_9_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
175
- await appsPage.clickCamundaApps();
176
- await appsPage.clickOperate(clusterName);
177
- await operateHomePage.clickProcessesTab();
178
- await operateProcessesPage.clickProcessCompletedCheckbox();
179
- await operateProcessesPage.clickProcessInstanceLink(processName);
180
- await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.completedIcon, { totalTimeout: 60000, maxRetries: 5 });
181
- await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.variablesList, { totalTimeout: 60000, maxRetries: 5 });
182
- await (0, test_1.expect)(operateProcessInstancePage.connectorResultVariableName('message')).toBeVisible({
183
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
184
+ timeout: 60000,
185
+ });
186
+ await modelerCreatePage.clickViewProcessInstanceLink();
187
+ const operateTab = await page.waitForEvent('popup', { timeout: 30000 });
188
+ const operateTabHomePage = new OperateHomePage_1.OperateHomePage(operateTab);
189
+ const operateTabProcessesPage = new OperateProcessesPage_1.OperateProcessesPage(operateTab);
190
+ const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
191
+ await operateTabHomePage.clickProcessesTab();
192
+ await operateTabProcessesPage.clickProcessCompletedCheckbox();
193
+ await operateTabProcessesPage.clickProcessInstanceLink(processName);
194
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateTabProcessInstancePage.completedIcon, { totalTimeout: 60000, maxRetries: 5 });
195
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateTabProcessInstancePage.variablesList, { totalTimeout: 60000, maxRetries: 5 });
196
+ await (0, test_1.expect)(operateTabProcessInstancePage.connectorResultVariableName('message')).toBeVisible({
183
197
  timeout: 15000,
184
198
  });
185
- await (0, test_1.expect)(operateProcessInstancePage
199
+ await (0, test_1.expect)(operateTabProcessInstancePage
186
200
  .connectorResultVariableName('message')
187
201
  .getByText('"Message from Mock!"')).toBeVisible({
188
202
  timeout: 15000,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.360",
3
+ "version": "0.0.362",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",