@camunda/e2e-test-suite 0.0.485 → 0.0.487

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.
@@ -276,9 +276,16 @@ class OCTenantPage {
276
276
  await this.fillRoleIdSearchBox(roleId, roleIdentifier);
277
277
  await this.clickAssignRoleSubButton();
278
278
  await (0, test_1.expect)(this.page.getByLabel('Assign role')).not.toBeVisible({
279
- timeout: 15000,
279
+ timeout: 30000,
280
280
  });
281
- await (0, test_1.expect)(this.row(roleId)).toBeVisible({ timeout: 15000 });
281
+ // Use retry-with-reload pattern for role visibility (MT operations need time for data replication)
282
+ await (0, test_1.expect)(async () => {
283
+ if (!(await this.row(roleId).isVisible())) {
284
+ await this.page.reload();
285
+ await this.page.waitForLoadState('networkidle');
286
+ }
287
+ await (0, test_1.expect)(this.row(roleId)).toBeVisible({ timeout: 10000 });
288
+ }).toPass({ timeout: 60000, intervals: [5000] });
282
289
  }
283
290
  }
284
291
  exports.OCTenantPage = OCTenantPage;
@@ -4,7 +4,7 @@ const test_1 = require("@playwright/test");
4
4
  const SM_8_9_1 = require("../../fixtures/SM-8.9");
5
5
  const _setup_1 = require("../../test-setup.js");
6
6
  const sleep_1 = require("../../utils/sleep");
7
- const env_1 = require("../../utils/env");
7
+ const UtilitiesPage_1 = require("../../pages/SM-8.9/UtilitiesPage");
8
8
  SM_8_9_1.test.describe.configure({ mode: 'parallel' });
9
9
  SM_8_9_1.test.describe('Deploy and run a process in Play', () => {
10
10
  SM_8_9_1.test.beforeEach(async ({ navigationPage }, testInfo) => {
@@ -14,49 +14,15 @@ SM_8_9_1.test.describe('Deploy and run a process in Play', () => {
14
14
  await (0, _setup_1.captureScreenshot)(page, testInfo);
15
15
  await (0, _setup_1.captureFailureVideo)(page, testInfo);
16
16
  });
17
- (0, SM_8_9_1.test)('User Tasks and Service Task', async ({ modelerHomePage, modelerCreatePage, playPage, }) => {
17
+ (0, SM_8_9_1.test)('User Tasks and Service Task', async ({ page, modelerHomePage, modelerCreatePage, playPage, }) => {
18
18
  SM_8_9_1.test.slow();
19
19
  const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
20
20
  const processName = 'Play_Test_Process' + randomString;
21
21
  await SM_8_9_1.test.step('Open Cross Component Test Project', async () => {
22
22
  await modelerHomePage.clickCrossComponentProjectFolder();
23
23
  });
24
- await SM_8_9_1.test.step('Add A BPMN Template To The Project', async () => {
25
- await modelerHomePage.clickDiagramTypeDropdown();
26
- await modelerHomePage.clickBpmnTemplateOption();
27
- });
28
24
  await SM_8_9_1.test.step('Create a BPMN Diagram with user tasks and service task', async () => {
29
- await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
30
- timeout: 120000,
31
- });
32
- await modelerCreatePage.enterDiagramName(processName);
33
- await (0, sleep_1.sleep)(2000);
34
- // Add a user task with Zeebe user task implementation
35
- await modelerCreatePage.clickAppendElementButton();
36
- await modelerCreatePage.clickAppendTaskButton();
37
- await modelerCreatePage.clickChangeTypeButton();
38
- await modelerCreatePage.clickUserTaskOption();
39
- await modelerCreatePage.chooseImplementationOption('zeebeUserTask');
40
- await modelerCreatePage.clickGeneralPropertiesPanel();
41
- await modelerCreatePage.clickElemendIdInput();
42
- await modelerCreatePage.fillElementIdInput('zeebe-user-task' + randomString);
43
- await (0, sleep_1.sleep)(1000);
44
- // Add a service task
45
- await modelerCreatePage.clickAppendElementButton();
46
- await modelerCreatePage.clickAppendTaskButton();
47
- await modelerCreatePage.clickChangeTypeButton();
48
- await modelerCreatePage.clickServiceTaskOption();
49
- await modelerCreatePage.clickGeneralPropertiesPanel();
50
- await modelerCreatePage.clickElemendIdInput();
51
- await modelerCreatePage.fillElementIdInput('service-task' + randomString);
52
- await modelerCreatePage.clickTaskDefinitionPropertiesPanel();
53
- await modelerCreatePage.clickJobTypeInput();
54
- await modelerCreatePage.fillJobTypeInput('someJob' + randomString);
55
- await (0, sleep_1.sleep)(1000);
56
- // Add end event
57
- await modelerCreatePage.clickAppendElementButton();
58
- await modelerCreatePage.clickAppendEndEventButton();
59
- await (0, sleep_1.sleep)(2000);
25
+ await (0, UtilitiesPage_1.modelDiagramFromFile)(page, modelerHomePage, modelerCreatePage, processName, 'Play_Test_User_Service_Task');
60
26
  });
61
27
  await SM_8_9_1.test.step('Open Play', async () => {
62
28
  await modelerCreatePage.switchToPlay();
@@ -66,10 +32,10 @@ SM_8_9_1.test.describe('Deploy and run a process in Play', () => {
66
32
  await playPage.dismissStartModal();
67
33
  await playPage.clickStartInstanceButton();
68
34
  await playPage.waitForInstanceDetailsToBeLoaded();
69
- await playPage.waitForNextElementToBeActive('zeebe-user-task' + randomString);
35
+ await playPage.waitForNextElementToBeActive('play-user-task');
70
36
  await playPage.waitForCompleteJobButtonToBeAvailable();
71
37
  await playPage.clickCompleteJobButton();
72
- await playPage.waitForNextElementToBeActive('service-task' + randomString);
38
+ await playPage.waitForNextElementToBeActive('play-service-task');
73
39
  await playPage.waitForCompleteJobButtonToBeAvailable();
74
40
  await playPage.clickCompleteJobButton();
75
41
  await playPage.waitForProcessToBeCompleted();
@@ -97,7 +63,11 @@ SM_8_9_1.test.describe('Deploy and run a process in Play', () => {
97
63
  await modelerCreatePage.clickSecondPlacedGateway();
98
64
  await modelerCreatePage.clickAppendElementButton();
99
65
  await modelerCreatePage.clickAppendEndEventButton('parallelGateway');
100
- await (0, sleep_1.sleep)(env_1.isOpenSearch ? 15000 : 5000);
66
+ await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
67
+ timeout: 30000,
68
+ });
69
+ // Wait for modeler background auto-save to complete
70
+ await (0, sleep_1.sleep)(2000);
101
71
  });
102
72
  await SM_8_9_1.test.step('Open Play', async () => {
103
73
  await modelerCreatePage.switchToPlay();
@@ -114,17 +84,23 @@ SM_8_9_1.test.describe('Deploy and run a process in Play', () => {
114
84
  await playPage.clickSaveScenarioButton();
115
85
  await playPage.enterScenarioName(scenarioName);
116
86
  await playPage.confirmSaveScenario();
117
- await (0, sleep_1.sleep)(2000);
87
+ await (0, test_1.expect)(playPage.saveScenarioModal).toBeHidden({ timeout: 10000 });
118
88
  });
119
89
  await SM_8_9_1.test.step('Update the saved scenario', async () => {
120
90
  await modelerCreatePage.switchToImplementTab();
121
- await (0, sleep_1.sleep)(2000);
91
+ await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
92
+ timeout: 30000,
93
+ });
122
94
  await modelerCreatePage.clickFirstPlacedGateway();
123
95
  await modelerCreatePage.clickAppendElementButton();
124
96
  await modelerCreatePage.clickAppendTaskButton();
125
97
  await modelerCreatePage.clickConnectToOtherElementButton();
126
98
  await modelerCreatePage.clickSecondPlacedGateway();
127
- await (0, sleep_1.sleep)(env_1.isOpenSearch ? 15000 : 5000);
99
+ await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
100
+ timeout: 30000,
101
+ });
102
+ // Wait for modeler background auto-save to complete
103
+ await (0, sleep_1.sleep)(2000);
128
104
  await modelerCreatePage.switchToPlay();
129
105
  // After diagram modification, Play may show a "Continue" button
130
106
  // to redeploy, or it may show the diagram directly. Try clicking
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.485",
3
+ "version": "0.0.487",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",