@camunda/e2e-test-suite 0.0.155 → 0.0.157

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.
@@ -21,7 +21,10 @@ class AppsPage {
21
21
  camundaAppsButton;
22
22
  constructor(page) {
23
23
  this.page = page;
24
- this.modelerLink = page.getByRole('link', { name: 'Modeler', exact: true });
24
+ this.modelerLink = page
25
+ .getByRole('link', { name: 'Modeler', exact: true })
26
+ .or(page.getByLabel('App Panel').getByLabel('Camunda Modeler'))
27
+ .first();
25
28
  this.appSwitcherButton = page.getByLabel('App Switcher');
26
29
  this.tasklistLink = page.getByRole('link', { name: 'Tasklist', exact: true });
27
30
  this.operateLink = page.getByRole('link', { name: 'Operate', exact: true });
@@ -12,6 +12,7 @@ declare class FormJsPage {
12
12
  readonly documentReferenceInput: Locator;
13
13
  readonly generalPanel: Locator;
14
14
  readonly textField: Locator;
15
+ readonly textFieldInForm: Locator;
15
16
  constructor(page: Page);
16
17
  generateAIForm(request?: string): Promise<void>;
17
18
  clickAIFormGeneratorButton(): Promise<void>;
@@ -16,6 +16,7 @@ class FormJsPage {
16
16
  documentReferenceInput;
17
17
  generalPanel;
18
18
  textField;
19
+ textFieldInForm;
19
20
  constructor(page) {
20
21
  this.page = page;
21
22
  this.aiFormGeneratorButton = page.getByRole('button', {
@@ -33,6 +34,9 @@ class FormJsPage {
33
34
  });
34
35
  this.generalPanel = page.locator('[data-group-id="group-general"]').first();
35
36
  this.textField = page.locator('button[data-field-type="textfield"]');
37
+ this.textFieldInForm = page
38
+ .getByLabel('Form Definition')
39
+ .getByText('Text field');
36
40
  }
37
41
  async generateAIForm(request = 'Create a form with the following fields: 1. A text field with the label "Full Name" 2. A number with the label "Count" 3. A date input with the label "Date of birth"4. A Checkbox with the label "Agree"') {
38
42
  await (0, test_1.expect)(this.aiFormGeneratorButton).toBeVisible({
@@ -345,6 +345,9 @@ class ClusterDetailsPage {
345
345
  visibilityTimeout: 60000,
346
346
  totalTimeout: 300000,
347
347
  maxRetries: 5,
348
+ preAction: async () => {
349
+ await this.page.reload();
350
+ },
348
351
  });
349
352
  }
350
353
  }
@@ -73,9 +73,6 @@ class HomePage {
73
73
  }
74
74
  async clickSkipCustomization() {
75
75
  try {
76
- await (0, test_1.expect)(this.gettingStartedHeading).toBeVisible({
77
- timeout: 20000,
78
- });
79
76
  await (0, test_1.expect)(this.buttonSkipCustomization).toBeVisible({
80
77
  timeout: 30000,
81
78
  });
@@ -6,6 +6,6 @@ declare class OptimizeDashboardPage {
6
6
  clickFilterTable(): Promise<void>;
7
7
  fillFilterTable(processName: string): Promise<void>;
8
8
  processLinkAssertion(processName: string, maxRetries: number, retryDelay?: number): Promise<void>;
9
- processOwnerNameAssertion(processName: string): Promise<void>;
9
+ processOwnerNameAssertion(processName: string, userEmail: string): Promise<void>;
10
10
  }
11
11
  export { OptimizeDashboardPage };
@@ -36,24 +36,27 @@ class OptimizeDashboardPage {
36
36
  }
37
37
  }
38
38
  }
39
- async processOwnerNameAssertion(processName) {
39
+ async processOwnerNameAssertion(processName, userEmail) {
40
40
  const maxRetries = 15;
41
41
  const retryDelay = 60000;
42
+ const localPart = userEmail.split('@')[0];
43
+ const uuid = localPart.replace('qa-user-', '');
44
+ const result = !uuid ? 'QA Camunda' : `QA User ${uuid}`;
42
45
  for (let attempt = 0; attempt < maxRetries; attempt++) {
43
46
  try {
44
- await this.page.reload();
45
47
  await (0, test_1.expect)(this.page.getByRole('row', {
46
- name: `${processName}\nProcess\n\tQA Camunda`,
48
+ name: `${processName}\nProcess\n\t${result}`,
47
49
  })).toBeVisible({ timeout: 90000 });
48
50
  return;
49
51
  }
50
52
  catch (error) {
51
53
  if (attempt < maxRetries - 1) {
52
- console.warn(`Attempt ${attempt + 1} failed for asserting owner name in Optimize.. Retrying...`);
54
+ console.warn(`Attempt ${attempt + 1} failed for asserting owner name ${result} assertion for ${processName} in Optimize.. Retrying...`);
55
+ await this.page.reload();
53
56
  await new Promise((resolve) => setTimeout(resolve, retryDelay));
54
57
  }
55
58
  else {
56
- throw new Error(`Owner name assertion failed after ${maxRetries} attempts`);
59
+ throw new Error(`Owner name ${result} assertion for ${processName} failed after ${maxRetries} attempts`);
57
60
  }
58
61
  }
59
62
  }
@@ -13,6 +13,7 @@ import { ConnectorSettingsPage } from './ConnectorSettingsPage';
13
13
  import { LoginPage } from './LoginPage';
14
14
  import { ConnectorMarketplacePage } from './ConnectorMarketplacePage';
15
15
  import { ConnectorTemplatePage } from './ConnectorTemplatePage';
16
+ import { MailSlurp } from 'mailslurp-client';
16
17
  export declare function loginWithRetry(page: Page, loginPage: LoginPage, testUser: {
17
18
  username: string;
18
19
  password: string;
@@ -34,6 +35,7 @@ export declare function runMultipleProcesses(clusterName: string, page: Page, mo
34
35
  export declare function disableRBA(clusterName: string, homePage: HomePage, clusterPage: ClusterPage, clusterDetailsPage: ClusterDetailsPage, appsPage: AppsPage): Promise<void>;
35
36
  export declare function enableAuthorizations(clusterName: string, homePage: HomePage, clusterPage: ClusterPage, clusterDetailsPage: ClusterDetailsPage, appsPage: AppsPage): Promise<void>;
36
37
  export declare function clickInvitationLinkInEmail(page: Page, id: string): Promise<void>;
38
+ export declare function assertLatestAlertEmail(id: string, mailSlurp: MailSlurp, processName: string, alertText: string): Promise<string>;
37
39
  export declare function assertTestUsesCorrectOrganization(page: Page): Promise<void>;
38
40
  export declare function deleteAllUserGroups(homePage: HomePage, organizationPage: ConsoleOrganizationPage, appsPage: AppsPage): Promise<void>;
39
41
  export declare function deleteCluster(clusterName: string, homePage: HomePage, clusterPage: ClusterPage, appsPage: AppsPage): Promise<void>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.waitForLoadingToFinish = exports.assertTestUsesCorrectOrganizationFromModeler = exports.expectCountToBeOneOf = exports.createAPIClient = exports.modelAndRunConnectorsTimerEventDiagram = exports.modelAndRunConnectorsDocHandlingDiagram = exports.deleteCluster = exports.deleteAllUserGroups = exports.assertTestUsesCorrectOrganization = exports.clickInvitationLinkInEmail = exports.enableAuthorizations = exports.disableRBA = exports.runMultipleProcesses = exports.runProcess = exports.completeTaskWithRetry = exports.assertPageTextWithRetry = exports.assertLocatorVisibleWithRetry = exports.modelRestConnector = exports.modelDiagramFromFile = exports.loginWithRetry = void 0;
3
+ exports.waitForLoadingToFinish = exports.assertTestUsesCorrectOrganizationFromModeler = exports.expectCountToBeOneOf = exports.createAPIClient = exports.modelAndRunConnectorsTimerEventDiagram = exports.modelAndRunConnectorsDocHandlingDiagram = exports.deleteCluster = exports.deleteAllUserGroups = exports.assertTestUsesCorrectOrganization = exports.assertLatestAlertEmail = exports.clickInvitationLinkInEmail = exports.enableAuthorizations = exports.disableRBA = exports.runMultipleProcesses = exports.runProcess = exports.completeTaskWithRetry = exports.assertPageTextWithRetry = exports.assertLocatorVisibleWithRetry = exports.modelRestConnector = exports.modelDiagramFromFile = exports.loginWithRetry = void 0;
4
4
  const test_1 = require("@playwright/test");
5
5
  const ModelerHomePage_1 = require("./ModelerHomePage");
6
6
  const HomePage_1 = require("./HomePage");
@@ -281,6 +281,27 @@ async function clickInvitationLinkInEmail(page, id) {
281
281
  }
282
282
  }
283
283
  exports.clickInvitationLinkInEmail = clickInvitationLinkInEmail;
284
+ async function assertLatestAlertEmail(id, mailSlurp, processName, alertText) {
285
+ const maxRetries = 3;
286
+ for (let retries = 0; retries < maxRetries; retries++) {
287
+ try {
288
+ const email = await mailSlurp.waitForLatestEmail(id, 120000);
289
+ if (email && email.body) {
290
+ (0, test_1.expect)(email.body).toContain(processName);
291
+ (0, test_1.expect)(email.body).toContain(alertText);
292
+ return email.body;
293
+ }
294
+ else {
295
+ throw new Error('Email or email body is null or undefined.');
296
+ }
297
+ }
298
+ catch (error) {
299
+ console.warn(`Click attempt ${retries + 1} failed: ${error}`);
300
+ }
301
+ }
302
+ throw new Error(`Failed to get latest alert (${processName}) email for ${id} after ${maxRetries} attempts.`);
303
+ }
304
+ exports.assertLatestAlertEmail = assertLatestAlertEmail;
284
305
  async function assertTestUsesCorrectOrganization(page) {
285
306
  const homePage = new HomePage_1.HomePage(page);
286
307
  if (page.url().includes('?code=') || page.url().includes('&state=')) {
@@ -141,6 +141,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
141
141
  await (0, test_1.expect)(appsPage.tasklistLink).not.toBeVisible();
142
142
  await (0, test_1.expect)(appsPage.modelerLink).toBeVisible();
143
143
  await appsPage.clickModeler();
144
+ await homePage.clickSkipCustomization();
144
145
  await modelerHomePage.createCrossComponentProjectFolder();
145
146
  await modelerHomePage.clickDiagramTypeDropdown();
146
147
  await modelerHomePage.clickBpmnTemplateOption();
@@ -162,8 +163,10 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
162
163
  });
163
164
  await settingsPage.clickOpenSettingsButton();
164
165
  await settingsPage.clickLogoutButton();
165
- await loginPage.login(testUser);
166
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, 1000);
166
167
  await (0, sleep_1.sleep)(30000);
168
+ await appsPage.clickCamundaApps();
169
+ await appsPage.clickModeler();
167
170
  await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
168
171
  timeout: 90000,
169
172
  });
@@ -621,9 +624,12 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
621
624
  await modelerHomePage.clickDiagramTypeDropdown();
622
625
  await modelerHomePage.clickFormOption();
623
626
  await modelerHomePage.enterFormName(formName);
627
+ await (0, sleep_1.sleep)(2000);
624
628
  await formJsPage.dragAndDrop(formJsPage.textField, formJsPage.formEditor);
625
629
  await formJsPage.clickGeneralPropertiesPanel();
626
630
  await formJsPage.fillKeyInput('Public_Form_Text_Field');
631
+ await (0, test_1.expect)(formJsPage.textFieldInForm).toBeVisible();
632
+ await (0, sleep_1.sleep)(5000);
627
633
  });
628
634
  await _8_7_1.test.step('Add A BPMN Template To The Project', async () => {
629
635
  await modelerHomePage.clickProjectBreadcrumb();
@@ -65,7 +65,8 @@ _8_8_1.test.describe('Console User Flow Tests @tasklistV2', () => {
65
65
  await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'completed icon in Operate', 60000);
66
66
  });
67
67
  });
68
- (0, _8_8_1.test)('Alert Trigger Flow - Email Notification', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
68
+ //Waiting infra team to provide DNS configuration for email testing, skipping for now
69
+ _8_8_1.test.skip('Alert Trigger Flow - Email Notification', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
69
70
  _8_8_1.test.slow();
70
71
  const processName = 'Email_Alert_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
71
72
  const invalidURl = 'https://invalid';
@@ -110,6 +110,7 @@ _8_9_1.test.describe('User Roles User Flow', () => {
110
110
  await (0, UtilitiesPage_1.waitForLoadingToFinish)(page);
111
111
  await appsPage.clickCamundaApps();
112
112
  await appsPage.clickModeler();
113
+ await homePage.clickSkipCustomization();
113
114
  await modelerHomePage.createCrossComponentProjectFolder();
114
115
  await modelerHomePage.clickDiagramTypeDropdown();
115
116
  await modelerHomePage.clickBpmnTemplateOption();
@@ -200,6 +201,7 @@ _8_9_1.test.describe('User Roles User Flow', () => {
200
201
  await _8_9_1.test.step('Navigate to Modeler and Ensure Diagram Failed To Deploy', async () => {
201
202
  await appsPage.clickCamundaApps();
202
203
  await appsPage.clickModeler();
204
+ await homePage.clickSkipCustomization();
203
205
  await modelerHomePage.createCrossComponentProjectFolder();
204
206
  await modelerHomePage.clickDiagramTypeDropdown();
205
207
  await modelerHomePage.clickBpmnTemplateOption();
@@ -295,6 +297,7 @@ _8_9_1.test.describe('User Roles User Flow', () => {
295
297
  await _8_9_1.test.step('Navigate to Modeler and Ensure Diagram Can Be Deployed', async () => {
296
298
  await appsPage.clickCamundaApps();
297
299
  await appsPage.clickModeler();
300
+ await homePage.clickSkipCustomization();
298
301
  await modelerHomePage.createCrossComponentProjectFolder();
299
302
  await modelerHomePage.clickDiagramTypeDropdown();
300
303
  await modelerHomePage.clickBpmnTemplateOption();
@@ -7,8 +7,8 @@ const OperateProcessInstancePage_1 = require("../../pages/8.9/OperateProcessInst
7
7
  const formatDate_1 = require("../../utils/formatDate");
8
8
  const UtilitiesPage_1 = require("../../pages/8.9/UtilitiesPage");
9
9
  const sleep_1 = require("../../utils/sleep");
10
- const googleapi_1 = require("../../utils/googleapi");
11
10
  const users_1 = require("../../utils/users");
11
+ const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
12
12
  const testUser = (0, users_1.getTestUser)('eighteenthUser');
13
13
  _8_9_1.test.describe.configure({ mode: 'parallel' });
14
14
  _8_9_1.test.describe('Console User Flow Tests @tasklistV2', () => {
@@ -65,19 +65,18 @@ _8_9_1.test.describe('Console User Flow Tests @tasklistV2', () => {
65
65
  await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'completed icon in Operate', 60000);
66
66
  });
67
67
  });
68
- (0, _8_9_1.test)('Alert Trigger Flow - Email Notification', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, connectorSettingsPage, operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
68
+ (0, _8_9_1.test)('Alert Trigger Flow - Email Notification', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
69
69
  _8_9_1.test.slow();
70
70
  const processName = 'Email_Alert_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
71
71
  const invalidURl = 'https://invalid';
72
- const senderEmail = 'no-reply@camunda.io';
73
72
  let lastTriggerTime = 0;
74
73
  const alertFlowClusterName = 'Alert Flow Cluster';
74
+ const { id } = await (0, mailSlurpClient_1.createInbox)(testUser.username);
75
75
  await _8_9_1.test.step('Create Cluster', async () => {
76
76
  await homePage.clickClusters();
77
77
  await clusterPage.createClusterIfNotExists(alertFlowClusterName);
78
78
  });
79
79
  await _8_9_1.test.step('Delete Alert Settings If Exist', async () => {
80
- await (0, test_1.expect)(homePage.clusterTab).toBeVisible({ timeout: 30000 });
81
80
  await homePage.clickClusters();
82
81
  await clusterPage.clickClusterLink(alertFlowClusterName);
83
82
  await clusterDetailsPage.clickAlertsTab();
@@ -120,7 +119,7 @@ _8_9_1.test.describe('Console User Flow Tests @tasklistV2', () => {
120
119
  });
121
120
  await operateHomePage.clickProcessesTab();
122
121
  await operateProcessesPage.clickProcessInstanceLink(processName);
123
- await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, operateProcessInstancePage.incidentIcon, 'incident icon in Operate');
122
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateProcessInstancePage, operateProcessInstancePage.incidentIcon, 'incident icon in Operate');
124
123
  });
125
124
  await _8_9_1.test.step('Navigate to Clusters', async () => {
126
125
  await appsPage.clickCamundaApps();
@@ -131,17 +130,19 @@ _8_9_1.test.describe('Console User Flow Tests @tasklistV2', () => {
131
130
  });
132
131
  await _8_9_1.test.step('Verify Alert Count Increases to 1 After Trigger', async () => {
133
132
  await clusterDetailsPage.clickAlertsTab();
134
- (0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
133
+ await (0, test_1.expect)(async () => {
134
+ await page.reload();
135
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.first()).toBeVisible({
136
+ timeout: 20000,
137
+ });
138
+ (0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
139
+ }).toPass({ timeout: 60000 });
135
140
  await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(0)).toContainText(`Email`);
136
141
  await clusterDetailsPage.assertAlertText('Amount triggered1');
137
142
  });
138
143
  await _8_9_1.test.step('Verify Alerts Received via Email for Incident', async () => {
139
144
  await (0, sleep_1.sleep)(60000);
140
- const token = await (0, googleapi_1.getGoogleAccessToken)();
141
- const messages = await (0, googleapi_1.getGmailMessagesWithRetry)(token, senderEmail, processName);
142
- (0, test_1.expect)(messages.length).toBe(1);
143
- const emailDetails = await (0, googleapi_1.getLatestEmailDetails)(token, await messages[0]['id']);
144
- (0, test_1.expect)(emailDetails).toContain('New Incidents: 1');
145
+ await (0, UtilitiesPage_1.assertLatestAlertEmail)(id, mailSlurpClient_1.mailSlurp, processName, 'New Incidents: 1');
145
146
  lastTriggerTime = Math.floor(Date.now() / 1000); // Current time in seconds (Unix timestamp)
146
147
  console.log('Captured Target Time:', lastTriggerTime);
147
148
  });
@@ -168,15 +169,18 @@ _8_9_1.test.describe('Console User Flow Tests @tasklistV2', () => {
168
169
  });
169
170
  await _8_9_1.test.step('Verify Alert Count Increases to 3 After Trigger', async () => {
170
171
  await clusterDetailsPage.clickAlertsTab();
171
- (0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
172
+ await (0, test_1.expect)(async () => {
173
+ await page.reload();
174
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.first()).toBeVisible({
175
+ timeout: 20000,
176
+ });
177
+ (0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
178
+ }).toPass({ timeout: 60000 });
172
179
  await clusterDetailsPage.assertAlertText('Amount triggered3');
173
180
  });
174
181
  await _8_9_1.test.step('Verify Alerts Received via Email for Incident', async () => {
175
182
  await (0, sleep_1.sleep)(60000);
176
- const token = await (0, googleapi_1.getGoogleAccessToken)();
177
- const messages = await (0, googleapi_1.getGmailMessagesWithRetry)(token, senderEmail, processName, lastTriggerTime);
178
- const emailDetails = await (0, googleapi_1.getLatestEmailDetails)(token, await messages[0]['id']);
179
- (0, test_1.expect)(emailDetails).toContain('New Incidents: 2'); //# of alerts triggered since the last one
183
+ await (0, UtilitiesPage_1.assertLatestAlertEmail)(id, mailSlurpClient_1.mailSlurp, processName, 'New Incidents: 2');
180
184
  });
181
185
  });
182
186
  });
@@ -246,7 +246,7 @@ _8_9_1.test.describe('Optimize User Flow Tests', () => {
246
246
  await optimizeTabOptimizeHomePage.clickDashboardLink();
247
247
  await (0, sleep_1.sleep)(90000);
248
248
  await operateTabOptimizeDashboardPage.processLinkAssertion(processName, 6);
249
- await operateTabOptimizeDashboardPage.processOwnerNameAssertion(processName);
249
+ await operateTabOptimizeDashboardPage.processOwnerNameAssertion(processName, testUser.username);
250
250
  });
251
251
  });
252
252
  });
@@ -78,6 +78,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
78
78
  });
79
79
  });
80
80
  await _8_9_1.test.step('Navigate to Cross Component Test Project', async () => {
81
+ await homePage.clickSkipCustomization();
81
82
  await modelerHomePage.createCrossComponentProjectFolder();
82
83
  });
83
84
  await _8_9_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
@@ -202,6 +203,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
202
203
  });
203
204
  });
204
205
  await _8_9_1.test.step('Navigate to Cross Component Test Project', async () => {
206
+ await homePage.clickSkipCustomization();
205
207
  await modelerHomePage.createCrossComponentProjectFolder();
206
208
  });
207
209
  await _8_9_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
@@ -407,6 +409,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
407
409
  });
408
410
  });
409
411
  await _8_9_1.test.step('Navigate to Cross Component Test Project', async () => {
412
+ await homePage.clickSkipCustomization();
410
413
  await modelerHomePage.createCrossComponentProjectFolder();
411
414
  });
412
415
  await _8_9_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
@@ -80,6 +80,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
80
80
  });
81
81
  });
82
82
  await _8_9_1.test.step('Navigate to Cross Component Test Project', async () => {
83
+ await homePage.clickSkipCustomization();
83
84
  await modelerHomePage.createCrossComponentProjectFolder();
84
85
  });
85
86
  await _8_9_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
@@ -20,6 +20,7 @@ async function deleteOrganization(page, uuid) {
20
20
  client_id: process.env.EXTERNAL_CONSOLE_API_CLIENT_ID,
21
21
  client_secret: process.env.EXTERNAL_CONSOLE_API_CLIENT_SECRET,
22
22
  },
23
+ timeout: 60000,
23
24
  });
24
25
  if (tokenResponse.status() !== 200) {
25
26
  const errorBody = await tokenResponse.text();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.155",
3
+ "version": "0.0.157",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",