@camunda/e2e-test-suite 0.0.746 → 0.0.748

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.
@@ -152,6 +152,10 @@ class ModelerHomePage {
152
152
  const timeout = 60000;
153
153
  while (attempts < maxAttempts) {
154
154
  try {
155
+ // The Web Modeler upstream can return a transient nginx 503 while its
156
+ // pod restarts. Reload until the app shell renders before interacting
157
+ // with the project list, instead of asserting against the error page.
158
+ await this.waitForModelerReady();
155
159
  await this.clickMessageBanner();
156
160
  await (0, test_1.expect)(this.crossComponentProjectFolder).toBeVisible({ timeout });
157
161
  // The WhatsNew modal renders lazily after page load and intercepts clicks.
@@ -198,9 +202,15 @@ class ModelerHomePage {
198
202
  await this.chooseBpmnTemplateButton.click();
199
203
  }
200
204
  async clickDiagramTypeDropdown() {
205
+ // The Web Modeler upstream can return a transient nginx 503 while its pod
206
+ // restarts. Wait for the app shell before checking for the dropdown, and
207
+ // reload-then-wait on each retry so a 503 is ridden out rather than
208
+ // reasserted against the error page.
209
+ await this.waitForModelerReady();
201
210
  await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.diagramTypeDropdown, {
202
211
  postAction: async () => {
203
212
  await this.page.reload();
213
+ await this.waitForModelerReady();
204
214
  },
205
215
  });
206
216
  await this.diagramTypeDropdown.click();
@@ -461,5 +461,45 @@ if (process.env.IS_OPTIMIZE !== 'false') {
461
461
  await (0, UtilitiesPage_2.assertPageTextWithRetry)(page, 'Displaying data from 1 instance.', false, 30000);
462
462
  });
463
463
  });
464
+ (0, SM_8_10_1.test)('Conditional Events - Instance Gated By Unmet Condition (CE-OPT-06) @tasklistV2', async ({ page, modelerHomePage, navigationPage, modelerCreatePage, operateHomePage, operateProcessesPage, operateProcessInstancePage, optimizeHomePage, optimizeDashboardPage, }) => {
465
+ SM_8_10_1.test.slow();
466
+ const bpmnFileName = 'Conditional_Events_All.bpmn';
467
+ const processName = 'Conditional Events Auto-Run';
468
+ // myVar = 3 does NOT satisfy the intermediate conditional catch event
469
+ // (condition: myVar > 5), so the token is gated at the catch event and no
470
+ // user task is ever activated. The instance stays active/running and
471
+ // Optimize should still import the running process. This exercises the
472
+ // conditional-gating path, which the other CE-OPT tests (all myVar = 8) do
473
+ // not cover.
474
+ await SM_8_10_1.test.step('Upload and deploy Conditional Events BPMN from Web Modeler', async () => {
475
+ await modelerHomePage.clickCrossComponentProjectFolder();
476
+ await modelerHomePage.clickDiagramTypeDropdown();
477
+ await modelerHomePage.clickUploadFilesButton();
478
+ const { uploadFile } = await Promise.resolve().then(() => __importStar(require('../../utils/fileUpload')));
479
+ await uploadFile(page, bpmnFileName);
480
+ await (0, sleep_1.sleep)(5000);
481
+ await modelerHomePage.clickProcessDiagram(bpmnFileName.replace('.bpmn', ''));
482
+ });
483
+ await SM_8_10_1.test.step('Start process instance with variable {"myVar": 3}', async () => {
484
+ const variables = '{"myVar": 3}';
485
+ await modelerCreatePage.runProcessInstance(variables);
486
+ });
487
+ await SM_8_10_1.test.step('Verify the instance is gated (active, not completed) in Operate', async () => {
488
+ await navigationPage.goToOperate();
489
+ await operateHomePage.clickProcessesTab();
490
+ await operateProcessesPage.clickProcessInstanceLink(processName, 'active');
491
+ await operateProcessInstancePage.activeIconAssertion();
492
+ await operateProcessInstancePage.assertProcessVariableContainsText('myVar', '3');
493
+ });
494
+ await SM_8_10_1.test.step('Verify the gated Conditional Events process is imported and visible in the Optimize dashboard (CE-OPT-06)', async () => {
495
+ await navigationPage.goToOptimize();
496
+ await optimizeHomePage.clickDashboardLink();
497
+ await (0, sleep_1.sleep)(10000);
498
+ await page.reload();
499
+ await optimizeDashboardPage.clickFilterTable();
500
+ await optimizeDashboardPage.fillFilterTable(processName);
501
+ await optimizeDashboardPage.processAssertion(processName);
502
+ });
503
+ });
464
504
  });
465
505
  }
@@ -15,7 +15,8 @@ SM_8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
15
15
  await (0, _setup_1.captureScreenshot)(page, testInfo);
16
16
  await (0, _setup_1.captureFailureVideo)(page, testInfo);
17
17
  });
18
- (0, SM_8_9_1.test)('REST Connector No Auth User Flow', async ({ operateHomePage, modelerHomePage, operateProcessInstancePage, modelerCreatePage, connectorSettingsPage, operateProcessesPage, connectorMarketplacePage, navigationPage, }) => {
18
+ // Skipped due to connectors bug #7716: https://github.com/camunda/connectors/issues/7716
19
+ SM_8_9_1.test.skip('REST Connector No Auth User Flow', async ({ operateHomePage, modelerHomePage, operateProcessInstancePage, modelerCreatePage, connectorSettingsPage, operateProcessesPage, connectorMarketplacePage, navigationPage, }) => {
19
20
  SM_8_9_1.test.slow();
20
21
  const processName = 'REST_Connector_No_Auth_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
21
22
  await SM_8_9_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
@@ -39,7 +40,8 @@ SM_8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
39
40
  await operateProcessInstancePage.assertProcessVariableContainsText('status', '"Awesome!"');
40
41
  });
41
42
  });
42
- (0, SM_8_9_1.test)('REST Connector Bearer Token Auth User Flow', async ({ operateHomePage, modelerHomePage, modelerCreatePage, connectorSettingsPage, navigationPage, operateProcessInstancePage, operateProcessesPage, connectorMarketplacePage, }) => {
43
+ // Skipped due to connectors bug #7716: https://github.com/camunda/connectors/issues/7716
44
+ SM_8_9_1.test.skip('REST Connector Bearer Token Auth User Flow', async ({ operateHomePage, modelerHomePage, modelerCreatePage, connectorSettingsPage, navigationPage, operateProcessInstancePage, operateProcessesPage, connectorMarketplacePage, }) => {
43
45
  SM_8_9_1.test.slow();
44
46
  const processName = 'REST_Connector_Bearer_Auth_Process' +
45
47
  (await (0, _setup_1.generateRandomStringAsync)(3));
@@ -126,7 +128,8 @@ SM_8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
126
128
  (0, test_1.expect)(result).toBe('completed');
127
129
  });
128
130
  });
129
- (0, SM_8_9_1.test)('Connector Secrets User Flow', async ({ operateHomePage, modelerHomePage, navigationPage, modelerCreatePage, connectorSettingsPage, operateProcessInstancePage, operateProcessesPage, connectorMarketplacePage, }) => {
131
+ // Skipped due to connectors bug #7716: https://github.com/camunda/connectors/issues/7716
132
+ SM_8_9_1.test.skip('Connector Secrets User Flow', async ({ operateHomePage, modelerHomePage, navigationPage, modelerCreatePage, connectorSettingsPage, operateProcessInstancePage, operateProcessesPage, connectorMarketplacePage, }) => {
130
133
  SM_8_9_1.test.slow();
131
134
  const processName = 'REST_Connector_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
132
135
  await SM_8_9_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.746",
3
+ "version": "0.0.748",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",