@camunda/e2e-test-suite 0.0.178 → 0.0.180

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.
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModelerHomePage = void 0;
4
4
  const test_1 = require("@playwright/test");
5
+ const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
5
6
  class ModelerHomePage {
6
7
  page;
7
8
  defaultFolderName;
@@ -64,6 +65,9 @@ class ModelerHomePage {
64
65
  this.uploadFilesButton = page.getByRole('menuitem', { name: 'Upload files' });
65
66
  }
66
67
  async clickCreateNewProjectButton() {
68
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.createNewProjectButton, {
69
+ totalTimeout: 30000,
70
+ });
67
71
  await this.createNewProjectButton.click({ timeout: 10000 });
68
72
  }
69
73
  async enterNewProjectName(name) {
@@ -15,6 +15,9 @@ declare class PlayPage {
15
15
  readonly startInstanceButton: Locator;
16
16
  readonly notifications: Locator;
17
17
  readonly saveScenarioModal: Locator;
18
+ readonly dialog: Locator;
19
+ readonly loadingInstanceDetailsText: Locator;
20
+ readonly retryButton: Locator;
18
21
  constructor(page: Page);
19
22
  waitForCompleteJobButtonToBeAvailable(): Promise<void>;
20
23
  clickCompleteJobButton(): Promise<void>;
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlayPage = void 0;
4
4
  const test_1 = require("@playwright/test");
5
5
  const sleep_1 = require("../../utils/sleep");
6
+ const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
7
+ const clickLocatorWithRetry_1 = require("../../utils/assertionHelpers/clickLocatorWithRetry");
6
8
  const maxWaitTimeSeconds = 180000;
7
9
  class PlayPage {
8
10
  page;
@@ -20,6 +22,9 @@ class PlayPage {
20
22
  startInstanceButton;
21
23
  notifications;
22
24
  saveScenarioModal;
25
+ dialog;
26
+ loadingInstanceDetailsText;
27
+ retryButton;
23
28
  constructor(page) {
24
29
  this.page = page;
25
30
  this.completeJobButton = page
@@ -30,6 +35,7 @@ class PlayPage {
30
35
  this.runAllScenariosButton = page.getByRole('button', {
31
36
  name: 'Run all scenarios',
32
37
  });
38
+ this.dialog = page.getByRole('dialog');
33
39
  this.confirmSaveScenarioButton = page
34
40
  .getByTestId('save-scenario-modal')
35
41
  .getByRole('button', { name: 'Save' });
@@ -49,6 +55,8 @@ class PlayPage {
49
55
  this.startInstanceButton = page.getByTestId('undefined-Start instance');
50
56
  this.notifications = page.locator('.cds--toast-notification');
51
57
  this.saveScenarioModal = page.getByTestId('save-scenario-modal');
58
+ this.loadingInstanceDetailsText = this.page.getByText('Loading instance details...');
59
+ this.retryButton = this.page.getByRole('button', { name: 'Retry' });
52
60
  }
53
61
  async waitForCompleteJobButtonToBeAvailable() {
54
62
  await (0, test_1.expect)(this.completeJobButton).toBeVisible({
@@ -59,12 +67,16 @@ class PlayPage {
59
67
  await this.completeJobButton.click();
60
68
  }
61
69
  async clickStartInstanceButton() {
62
- await this.diagram.waitFor({ state: 'visible', timeout: 30000 });
63
70
  const maxRetries = 3;
64
71
  let attempts = 0;
65
72
  while (attempts < maxRetries) {
66
73
  try {
74
+ await this.diagram.waitFor({ state: 'visible', timeout: 30000 });
67
75
  await this.startInstanceButton.click({ timeout: 30000 });
76
+ await (0, test_1.expect)(this.loadingInstanceDetailsText).toBeVisible();
77
+ await (0, test_1.expect)(this.loadingInstanceDetailsText).not.toBeVisible({
78
+ timeout: 60000,
79
+ });
68
80
  return;
69
81
  }
70
82
  catch (error) {
@@ -119,7 +131,7 @@ class PlayPage {
119
131
  const maxRetries = 6; // ~1 min with the waits below
120
132
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
121
133
  try {
122
- await (0, test_1.expect)(locator).toBeVisible({ timeout: 20000 });
134
+ await (0, test_1.expect)(locator.first()).toBeVisible({ timeout: 20000 });
123
135
  return;
124
136
  }
125
137
  catch (e) {
@@ -150,6 +162,9 @@ class PlayPage {
150
162
  .isVisible()
151
163
  .catch(() => false);
152
164
  if (!isModalVisible) {
165
+ await (0, sleep_1.sleep)(3000);
166
+ await (0, test_1.expect)(this.saveScenarioButton).toBeVisible({ timeout: 30000 });
167
+ await (0, test_1.expect)(this.saveScenarioButton).toBeEnabled({ timeout: 30000 });
153
168
  await this.saveScenarioButton.click({ force: true, timeout: 30000 });
154
169
  }
155
170
  }
@@ -157,9 +172,12 @@ class PlayPage {
157
172
  await this.viewScenarioButton.click();
158
173
  }
159
174
  async enterScenarioName(scenarioName) {
160
- const modal = this.page.locator('[data-testid="save-scenario-modal"].is-visible');
161
- await modal.waitFor({ state: 'visible', timeout: 10000 });
162
- const input = modal.locator('input#scenario-name');
175
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.dialog, {
176
+ postAction: async () => {
177
+ await this.saveScenarioButton.click({ timeout: 30000 });
178
+ },
179
+ });
180
+ const input = this.dialog.locator('input#scenario-name');
163
181
  await input.waitFor({ state: 'visible', timeout: 10000 });
164
182
  await input.clear();
165
183
  await input.fill(scenarioName);
@@ -168,7 +186,7 @@ class PlayPage {
168
186
  await this.enterScenarioNameInput.fill(newScenarioName);
169
187
  }
170
188
  async clickViewAllScenariosButton() {
171
- await this.viewAllScenariosButton.click();
189
+ await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.viewAllScenariosButton);
172
190
  }
173
191
  async confirmSaveScenario() {
174
192
  await this.confirmSaveScenarioButton.click();
@@ -197,9 +215,17 @@ class PlayPage {
197
215
  await publishIcon.click({ timeout: 30000 });
198
216
  }
199
217
  async assertScenarioCompleted(scenarioName) {
200
- await (0, test_1.expect)(this.page
218
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.page
201
219
  .locator('tr', { hasText: scenarioName })
202
- .locator('text=Completed')).toBeVisible({ timeout: 60000 });
220
+ .locator('text=Completed'), {
221
+ totalTimeout: 90000,
222
+ visibilityTimeout: 20000,
223
+ postAction: async () => {
224
+ if (await this.retryButton.isVisible()) {
225
+ await this.retryButton.click();
226
+ }
227
+ },
228
+ });
203
229
  }
204
230
  }
205
231
  exports.PlayPage = PlayPage;
@@ -363,6 +363,7 @@ class ModelerCreatePage {
363
363
  }
364
364
  }
365
365
  async switchToPlay() {
366
+ await (0, test_1.expect)(this.playTab).toBeVisible();
366
367
  await this.playTab.click();
367
368
  }
368
369
  async clickGeneralPropertiesPanel() {
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModelerHomePage = void 0;
4
4
  const test_1 = require("@playwright/test");
5
5
  const sleep_1 = require("../../utils/sleep");
6
+ const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
6
7
  class ModelerHomePage {
7
8
  page;
8
9
  defaultFolderName = 'Cross Component Test Project';
@@ -81,7 +82,10 @@ class ModelerHomePage {
81
82
  });
82
83
  }
83
84
  async clickCreateNewProjectButton() {
84
- await this.createNewProjectButton.click({ timeout: 60000 });
85
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.createNewProjectButton, {
86
+ totalTimeout: 30000,
87
+ });
88
+ await this.createNewProjectButton.click();
85
89
  }
86
90
  async enterNewProjectName(name) {
87
91
  await this.projectNameInput.click({ timeout: 60000 });
@@ -16,6 +16,9 @@ declare class PlayPage {
16
16
  readonly startInstanceWithCachedButton: Locator;
17
17
  readonly notifications: Locator;
18
18
  readonly saveScenarioModal: Locator;
19
+ readonly loadingInstanceDetailsText: Locator;
20
+ readonly retryButton: Locator;
21
+ readonly dialog: Locator;
19
22
  constructor(page: Page);
20
23
  waitForCompleteJobButtonToBeAvailable(): Promise<void>;
21
24
  clickCompleteJobButton(): Promise<void>;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlayPage = void 0;
4
4
  const test_1 = require("@playwright/test");
5
5
  const sleep_1 = require("../../utils/sleep");
6
+ const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
6
7
  const maxWaitTimeSeconds = 180000;
7
8
  class PlayPage {
8
9
  page;
@@ -21,8 +22,12 @@ class PlayPage {
21
22
  startInstanceWithCachedButton;
22
23
  notifications;
23
24
  saveScenarioModal;
25
+ loadingInstanceDetailsText;
26
+ retryButton;
27
+ dialog;
24
28
  constructor(page) {
25
29
  this.page = page;
30
+ this.dialog = page.getByRole('dialog');
26
31
  this.completeJobButton = page
27
32
  .getByTestId('diagram')
28
33
  .getByLabel('Complete job');
@@ -53,6 +58,8 @@ class PlayPage {
53
58
  this.startInstanceWithCachedButton = page.getByLabel('Start instance with cached');
54
59
  this.notifications = page.locator('.cds--toast-notification');
55
60
  this.saveScenarioModal = page.getByTestId('save-scenario-modal');
61
+ this.loadingInstanceDetailsText = this.page.getByText('Loading instance details...');
62
+ this.retryButton = this.page.getByRole('button', { name: 'Retry' });
56
63
  }
57
64
  async waitForCompleteJobButtonToBeAvailable() {
58
65
  await (0, test_1.expect)(this.completeJobButton).toBeVisible({
@@ -63,12 +70,19 @@ class PlayPage {
63
70
  await this.completeJobButton.click();
64
71
  }
65
72
  async clickStartInstanceButton() {
66
- await this.diagram.waitFor({ state: 'visible', timeout: 30000 });
67
73
  const maxRetries = 3;
68
74
  let attempts = 0;
69
75
  while (attempts < maxRetries) {
70
76
  try {
71
- await this.startInstanceButton.click({ timeout: 30000 });
77
+ await this.diagram.waitFor({ state: 'visible', timeout: 30000 });
78
+ await this.startInstanceButton
79
+ .or(this.startInstanceWithCachedButton)
80
+ .first()
81
+ .click({ timeout: 30000 });
82
+ await (0, test_1.expect)(this.loadingInstanceDetailsText).toBeVisible();
83
+ await (0, test_1.expect)(this.loadingInstanceDetailsText).not.toBeVisible({
84
+ timeout: 60000,
85
+ });
72
86
  return;
73
87
  }
74
88
  catch (error) {
@@ -123,9 +137,21 @@ class PlayPage {
123
137
  }
124
138
  }
125
139
  async waitForNextElementToBeActive(historyItem) {
126
- await (0, test_1.expect)(this.page.getByText(new RegExp(`^${historyItem}`, 'i'))).toBeVisible({
127
- timeout: maxWaitTimeSeconds,
128
- });
140
+ const locator = this.page.getByText(new RegExp(`^${historyItem}`, 'i'));
141
+ const maxRetries = 6; // ~1 min with the waits below
142
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
143
+ try {
144
+ await (0, test_1.expect)(locator.first()).toBeVisible({ timeout: 20000 });
145
+ return;
146
+ }
147
+ catch (e) {
148
+ if (attempt === maxRetries)
149
+ throw e;
150
+ await this.page.reload();
151
+ await this.diagram.waitFor({ state: 'visible', timeout: 30000 });
152
+ await this.page.waitForTimeout(5000);
153
+ }
154
+ }
129
155
  }
130
156
  async waitForProcessToBeCompleted() {
131
157
  await (0, test_1.expect)(this.page.getByText('Completed')).toBeVisible({
@@ -135,12 +161,15 @@ class PlayPage {
135
161
  async clickSaveScenarioButton() {
136
162
  await this.notifications
137
163
  .first()
138
- .waitFor({ state: 'hidden', timeout: 15000 })
164
+ .waitFor({ state: 'hidden', timeout: 60000 })
139
165
  .catch(() => { });
140
166
  const isModalVisible = await this.saveScenarioModal
141
167
  .isVisible()
142
168
  .catch(() => false);
143
169
  if (!isModalVisible) {
170
+ await (0, sleep_1.sleep)(3000);
171
+ await (0, test_1.expect)(this.saveScenarioButton).toBeVisible({ timeout: 30000 });
172
+ await (0, test_1.expect)(this.saveScenarioButton).toBeEnabled({ timeout: 30000 });
144
173
  await this.saveScenarioButton.click({ force: true, timeout: 30000 });
145
174
  }
146
175
  }
@@ -148,9 +177,12 @@ class PlayPage {
148
177
  await this.viewScenarioButton.click();
149
178
  }
150
179
  async enterScenarioName(scenarioName) {
151
- const modal = this.page.locator('[data-testid="save-scenario-modal"].is-visible');
152
- await modal.waitFor({ state: 'visible', timeout: 10000 });
153
- const input = modal.locator('input#scenario-name');
180
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.dialog, {
181
+ postAction: async () => {
182
+ await this.saveScenarioButton.click({ timeout: 30000 });
183
+ },
184
+ });
185
+ const input = this.dialog.locator('input#scenario-name');
154
186
  await input.waitFor({ state: 'visible', timeout: 10000 });
155
187
  await input.clear();
156
188
  await input.fill(scenarioName);
@@ -159,6 +191,7 @@ class PlayPage {
159
191
  await this.enterScenarioNameInput.fill(newScenarioName);
160
192
  }
161
193
  async clickViewAllScenariosButton() {
194
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.viewAllScenariosButton);
162
195
  await this.viewAllScenariosButton.click();
163
196
  }
164
197
  async confirmSaveScenario() {
@@ -188,9 +221,17 @@ class PlayPage {
188
221
  await publishIcon.click({ timeout: 30000 });
189
222
  }
190
223
  async assertScenarioCompleted(scenarioName) {
191
- await (0, test_1.expect)(this.page
224
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.page
192
225
  .locator('tr', { hasText: scenarioName })
193
- .locator('text=Completed')).toBeVisible({ timeout: 30000 });
226
+ .locator('text=Completed'), {
227
+ totalTimeout: 90000,
228
+ visibilityTimeout: 20000,
229
+ postAction: async () => {
230
+ if (await this.retryButton.isVisible()) {
231
+ await this.retryButton.click();
232
+ }
233
+ },
234
+ });
194
235
  }
195
236
  }
196
237
  exports.PlayPage = PlayPage;
@@ -82,6 +82,8 @@ SM_8_7_1.test.describe('Deploy and run a process in Play', () => {
82
82
  SM_8_7_1.test.slow();
83
83
  const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
84
84
  const processName = 'Play_Test_Process' + randomString;
85
+ const scenarioName = 'My first scenario' + randomString;
86
+ const updatedScenarioName = 'My first scenario-updated' + randomString;
85
87
  await SM_8_7_1.test.step('Open Cross Component Test Project', async () => {
86
88
  await context.clearCookies();
87
89
  await navigationPage.goToModeler();
@@ -97,10 +99,11 @@ SM_8_7_1.test.describe('Deploy and run a process in Play', () => {
97
99
  timeout: 120000,
98
100
  });
99
101
  await modelerCreatePage.enterDiagramName(processName);
100
- await (0, sleep_1.sleep)(2000);
102
+ await modelerCreatePage.addParallelUserTasks(1, 'zeebe-user-task' + randomString);
103
+ await modelerCreatePage.clickSecondPlacedGateway();
101
104
  await modelerCreatePage.clickAppendElementButton();
102
- await modelerCreatePage.clickAppendEndEventButton();
103
- await (0, sleep_1.sleep)(2000);
105
+ await modelerCreatePage.clickAppendEndEventButton('parallelGateway');
106
+ await (0, sleep_1.sleep)(5000);
104
107
  });
105
108
  await SM_8_7_1.test.step('Open Play', async () => {
106
109
  await modelerCreatePage.switchToPlay();
@@ -110,52 +113,51 @@ SM_8_7_1.test.describe('Deploy and run a process in Play', () => {
110
113
  await playPage.dismissStartModal();
111
114
  await playPage.clickStartInstanceButton();
112
115
  await playPage.waitForInstanceDetailsToBeLoaded();
116
+ await playPage.waitForNextElementToBeActive('zeebe-user-task' + randomString + '1');
117
+ await playPage.waitForCompleteJobButtonToBeAvailable();
118
+ await playPage.clickCompleteJobButton();
113
119
  await playPage.waitForProcessToBeCompleted();
114
120
  await playPage.clickSaveScenarioButton();
115
- await playPage.enterScenarioName('My first scenario');
121
+ await playPage.enterScenarioName(scenarioName);
116
122
  await playPage.confirmSaveScenario();
117
123
  await (0, sleep_1.sleep)(2000);
118
124
  });
119
125
  await SM_8_7_1.test.step('Update the saved scenario', async () => {
120
126
  await modelerCreatePage.switchToImplementTab();
121
127
  await (0, sleep_1.sleep)(2000);
122
- await modelerCreatePage.clickStartEvent();
123
- await modelerCreatePage.hoverOnStartEvent();
124
- await modelerCreatePage.clickAppendTaskButton();
125
- await modelerCreatePage.clickChangeTypeButton();
126
- await modelerCreatePage.clickUserTaskOption();
127
- await modelerCreatePage.chooseImplementationOption('zeebeUserTask');
128
- await modelerCreatePage.clickGeneralPropertiesPanel();
129
- await modelerCreatePage.clickElemendIdInput();
130
- await modelerCreatePage.fillElementIdInput('zeebe-user-task' + randomString);
131
- await (0, sleep_1.sleep)(2000);
128
+ await modelerCreatePage.clickFirstPlacedGateway();
132
129
  await modelerCreatePage.clickAppendElementButton();
133
- await modelerCreatePage.clickAppendEndEventButton();
130
+ await modelerCreatePage.clickAppendTaskButton();
131
+ await modelerCreatePage.clickConnectToOtherElementButton();
132
+ await modelerCreatePage.clickSecondPlacedGateway();
133
+ await (0, sleep_1.sleep)(5000);
134
134
  await modelerCreatePage.switchToPlay();
135
135
  await modelerCreatePage.clickContinueToPlay();
136
136
  await (0, sleep_1.sleep)(5000);
137
137
  await playPage.clickStartInstanceButton();
138
- await playPage.waitForNextElementToBeActive('zeebe-user-task' + randomString);
138
+ await playPage.waitForNextElementToBeActive('zeebe-user-task' + randomString + '1');
139
139
  await playPage.waitForCompleteJobButtonToBeAvailable();
140
140
  await playPage.clickCompleteJobButton();
141
141
  await playPage.waitForProcessToBeCompleted();
142
142
  await playPage.clickSaveScenarioButton();
143
- await playPage.enterScenarioName('My first scenario-updated');
143
+ await playPage.enterScenarioName(updatedScenarioName);
144
144
  await playPage.confirmSaveScenario();
145
- await modelerCreatePage.assertScenarioNameVisible('My first scenario-updated');
145
+ await modelerCreatePage.assertScenarioNameVisible(updatedScenarioName);
146
146
  });
147
147
  await SM_8_7_1.test.step('Run all scenarios', async () => {
148
148
  await playPage.clickViewAllScenariosButton();
149
149
  await playPage.clickRunAllScenariosButton();
150
- await playPage.assertScenarioCompleted('My first scenario');
151
- await playPage.assertScenarioCompleted('My first scenario-updated');
150
+ await playPage.assertScenarioCompleted(scenarioName);
151
+ await playPage.assertScenarioCompleted(updatedScenarioName);
152
152
  });
153
153
  await SM_8_7_1.test.step('Delete test scenario', async () => {
154
- await playPage.deleteScenario('My first scenario');
154
+ await playPage.deleteScenario(scenarioName);
155
155
  await playPage.confirmDeleteScenario();
156
- await (0, test_1.expect)(page
157
- .locator('tr')
158
- .filter({ has: page.getByText('My first scenario', { exact: true }) })).toHaveCount(0);
156
+ await (0, test_1.expect)(page.locator('tr').filter({
157
+ has: page.getByText(scenarioName, {
158
+ exact: true,
159
+ }),
160
+ })).toHaveCount(0);
159
161
  });
160
162
  });
161
163
  });
@@ -78,6 +78,8 @@ SM_8_8_1.test.describe('Deploy and run a process in Play', () => {
78
78
  SM_8_8_1.test.slow();
79
79
  const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
80
80
  const processName = 'Play_Test_Process' + randomString;
81
+ const scenarioName = 'My first scenario' + randomString;
82
+ const updatedScenarioName = 'My first scenario-updated' + randomString;
81
83
  await SM_8_8_1.test.step('Open Cross Component Test Project', async () => {
82
84
  await modelerHomePage.clickCrossComponentProjectFolder();
83
85
  });
@@ -90,10 +92,11 @@ SM_8_8_1.test.describe('Deploy and run a process in Play', () => {
90
92
  timeout: 120000,
91
93
  });
92
94
  await modelerCreatePage.enterDiagramName(processName);
93
- await (0, sleep_1.sleep)(2000);
95
+ await modelerCreatePage.addParallelUserTasks(1, 'zeebe-user-task' + randomString);
96
+ await modelerCreatePage.clickSecondPlacedGateway();
94
97
  await modelerCreatePage.clickAppendElementButton();
95
- await modelerCreatePage.clickAppendEndEventButton();
96
- await (0, sleep_1.sleep)(2000);
98
+ await modelerCreatePage.clickAppendEndEventButton('parallelGateway');
99
+ await (0, sleep_1.sleep)(5000);
97
100
  });
98
101
  await SM_8_8_1.test.step('Open Play', async () => {
99
102
  await modelerCreatePage.switchToPlay();
@@ -103,50 +106,47 @@ SM_8_8_1.test.describe('Deploy and run a process in Play', () => {
103
106
  await playPage.dismissStartModal();
104
107
  await playPage.clickStartInstanceButton();
105
108
  await playPage.waitForInstanceDetailsToBeLoaded();
109
+ await playPage.waitForNextElementToBeActive('zeebe-user-task' + randomString + '1');
110
+ await playPage.waitForCompleteJobButtonToBeAvailable();
111
+ await playPage.clickCompleteJobButton();
106
112
  await playPage.waitForProcessToBeCompleted();
107
113
  await playPage.clickSaveScenarioButton();
108
- await playPage.enterScenarioName('My first scenario');
114
+ await playPage.enterScenarioName(scenarioName);
109
115
  await playPage.confirmSaveScenario();
110
116
  await (0, sleep_1.sleep)(2000);
111
117
  });
112
118
  await SM_8_8_1.test.step('Update the saved scenario', async () => {
113
119
  await modelerCreatePage.switchToImplementTab();
114
120
  await (0, sleep_1.sleep)(2000);
115
- await modelerCreatePage.clickStartEvent();
116
- await modelerCreatePage.hoverOnStartEvent();
117
- await modelerCreatePage.clickAppendTaskButton();
118
- await modelerCreatePage.clickChangeTypeButton();
119
- await modelerCreatePage.clickUserTaskOption();
120
- await modelerCreatePage.chooseImplementationOption('zeebeUserTask');
121
- await modelerCreatePage.clickGeneralPropertiesPanel();
122
- await modelerCreatePage.clickElemendIdInput();
123
- await modelerCreatePage.fillElementIdInput('zeebe-user-task' + randomString);
124
- await (0, sleep_1.sleep)(2000);
121
+ await modelerCreatePage.clickFirstPlacedGateway();
125
122
  await modelerCreatePage.clickAppendElementButton();
126
- await modelerCreatePage.clickAppendEndEventButton();
123
+ await modelerCreatePage.clickAppendTaskButton();
124
+ await modelerCreatePage.clickConnectToOtherElementButton();
125
+ await modelerCreatePage.clickSecondPlacedGateway();
126
+ await (0, sleep_1.sleep)(5000);
127
127
  await modelerCreatePage.switchToPlay();
128
128
  await modelerCreatePage.clickContinueToPlay();
129
- await (0, sleep_1.sleep)(2000);
130
- await playPage.clickStartInstanceWithCachedButton();
131
- await playPage.waitForNextElementToBeActive('zeebe-user-task' + randomString);
129
+ await (0, sleep_1.sleep)(5000);
130
+ await playPage.clickStartInstanceButton();
131
+ await playPage.waitForNextElementToBeActive('zeebe-user-task' + randomString + '1');
132
132
  await playPage.waitForCompleteJobButtonToBeAvailable();
133
133
  await playPage.clickCompleteJobButton();
134
134
  await playPage.waitForProcessToBeCompleted();
135
135
  await playPage.clickSaveScenarioButton();
136
- await playPage.enterScenarioName('My first scenario-updated');
136
+ await playPage.enterScenarioName(updatedScenarioName);
137
137
  await playPage.confirmSaveScenario();
138
- await modelerCreatePage.assertScenarioNameVisible('My first scenario-updated');
138
+ await modelerCreatePage.assertScenarioNameVisible(updatedScenarioName);
139
139
  });
140
140
  await SM_8_8_1.test.step('Run all scenarios', async () => {
141
141
  await playPage.clickViewAllScenariosButton();
142
142
  await playPage.clickRunAllScenariosButton();
143
- await playPage.assertScenarioCompleted('My first scenario');
144
- await playPage.assertScenarioCompleted('My first scenario-updated');
143
+ await playPage.assertScenarioCompleted(scenarioName);
144
+ await playPage.assertScenarioCompleted(updatedScenarioName);
145
145
  });
146
146
  await SM_8_8_1.test.step('Delete test scenario', async () => {
147
- await playPage.deleteScenario('My first scenario');
147
+ await playPage.deleteScenario(scenarioName);
148
148
  await playPage.confirmDeleteScenario();
149
- await (0, test_1.expect)(playPage.getScenarioRow('My first scenario')).toHaveCount(0);
149
+ await (0, test_1.expect)(playPage.getScenarioRow(scenarioName)).toHaveCount(0);
150
150
  });
151
151
  });
152
152
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.178",
3
+ "version": "0.0.180",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",