@camunda/e2e-test-suite 0.0.152 → 0.0.154

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.
Files changed (43) hide show
  1. package/dist/pages/8.7/ConsoleOrganizationPage.d.ts +1 -1
  2. package/dist/pages/8.7/ConsoleOrganizationPage.js +6 -3
  3. package/dist/pages/8.7/FormJsPage.js +1 -1
  4. package/dist/pages/8.7/OptimizeDashboardPage.d.ts +1 -1
  5. package/dist/pages/8.7/OptimizeDashboardPage.js +8 -5
  6. package/dist/pages/8.7/SignUpPage.d.ts +1 -1
  7. package/dist/pages/8.7/SignUpPage.js +2 -2
  8. package/dist/pages/8.7/TaskDetailsPage.js +2 -0
  9. package/dist/pages/8.7/UtilitiesPage.d.ts +4 -1
  10. package/dist/pages/8.7/UtilitiesPage.js +2 -2
  11. package/dist/pages/8.8/FormJsPage.js +1 -1
  12. package/dist/pages/8.8/HomePage.js +5 -2
  13. package/dist/pages/8.8/UtilitiesPage.d.ts +4 -1
  14. package/dist/pages/8.8/UtilitiesPage.js +2 -2
  15. package/dist/tests/8.7/aws-cluster-user-flows.spec.js +3 -1
  16. package/dist/tests/8.7/connectors-user-flows.spec.js +3 -1
  17. package/dist/tests/8.7/console-user-flows.spec.js +3 -1
  18. package/dist/tests/8.7/hto-user-flows.spec.js +7 -6
  19. package/dist/tests/8.7/idp-user-flows.spec.js +3 -1
  20. package/dist/tests/8.7/navigation.spec.js +3 -1
  21. package/dist/tests/8.7/optimize-user-flows.spec.js +4 -2
  22. package/dist/tests/8.7/play.spec.js +3 -1
  23. package/dist/tests/8.7/rba-enabled-user-flows.spec.js +7 -4
  24. package/dist/tests/8.7/smoke-tests.spec.js +3 -1
  25. package/dist/tests/8.7/test-setup.spec.js +28 -21
  26. package/dist/tests/8.7/web-modeler-user-flows.spec.js +16 -10
  27. package/dist/tests/8.8/access-user-role-management.spec.js +3 -1
  28. package/dist/tests/8.8/agentic-ai-user-flows.spec.js +3 -1
  29. package/dist/tests/8.8/aws-cluster-user-flows.spec.js +3 -1
  30. package/dist/tests/8.8/connectors-user-flows.spec.js +3 -1
  31. package/dist/tests/8.8/console-user-flows.spec.js +4 -2
  32. package/dist/tests/8.8/hto-user-flows.spec.js +3 -1
  33. package/dist/tests/8.8/idp-user-flows.spec.js +3 -1
  34. package/dist/tests/8.8/navigation.spec.js +3 -1
  35. package/dist/tests/8.8/optimize-user-flows.spec.js +3 -1
  36. package/dist/tests/8.8/play.spec.js +3 -1
  37. package/dist/tests/8.8/rba-enabled-v1-user-flows.spec.js +5 -3
  38. package/dist/tests/8.8/rba-enabled-v2-user-flows.spec.js +5 -3
  39. package/dist/tests/8.8/smoke-tests.spec.js +3 -1
  40. package/dist/tests/8.8/test-setup.spec.js +44 -32
  41. package/dist/tests/8.8/utr-enabled-user-flows.spec.js +6 -6
  42. package/dist/tests/8.8/web-modeler-user-flows.spec.js +4 -2
  43. package/package.json +1 -1
@@ -66,7 +66,7 @@ declare class ConsoleOrganizationPage {
66
66
  enableAlphaFeature(name: string): Promise<void>;
67
67
  scrollToOptInCheckbox(): Promise<void>;
68
68
  checkOptInCheckbox(): Promise<void>;
69
- clickMainUser(): Promise<void>;
69
+ clickMainUser(email: string): Promise<void>;
70
70
  clickAuthorizations(): Promise<void>;
71
71
  authorizedResourceAssertion(processId: string, maxRetries?: number, timeout?: number): Promise<void>;
72
72
  clickNewContextPadButton(): Promise<void>;
@@ -308,9 +308,11 @@ class ConsoleOrganizationPage {
308
308
  async checkOptInCheckbox() {
309
309
  await this.optInCheckbox.check({ timeout: 90000 });
310
310
  }
311
- async clickMainUser() {
312
- await (0, test_1.expect)(this.mainUser).toBeVisible({ timeout: 60000 });
313
- await this.mainUser.click();
311
+ async clickMainUser(email) {
312
+ await this.filterTable([email]);
313
+ const user = this.rows.filter({ hasText: email }).first();
314
+ await (0, test_1.expect)(user).toBeVisible({ timeout: 60000 });
315
+ await user.click();
314
316
  }
315
317
  async clickAuthorizations() {
316
318
  await (0, test_1.expect)(this.authorizations).toBeVisible({ timeout: 60000 });
@@ -404,6 +406,7 @@ class ConsoleOrganizationPage {
404
406
  }
405
407
  async filterTable(names) {
406
408
  for (const name of names) {
409
+ await (0, test_1.expect)(this.filterTableSearchbox).toBeVisible({ timeout: 120000 });
407
410
  await this.filterTableSearchbox.click({ timeout: 60000 });
408
411
  await this.filterTableSearchbox.fill(name);
409
412
  }
@@ -31,7 +31,7 @@ class FormJsPage {
31
31
  this.documentReferenceInput = page.getByRole('textbox', {
32
32
  name: 'document reference',
33
33
  });
34
- this.generalPanel = page.getByTitle('General').first();
34
+ this.generalPanel = page.locator('[data-group-id="group-general"]').first();
35
35
  this.textField = page.locator('button[data-field-type="textfield"]');
36
36
  }
37
37
  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"') {
@@ -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
  }
@@ -26,7 +26,7 @@ declare class SignUpPage {
26
26
  readonly signUpCompletedPageHeading: Locator;
27
27
  readonly verifyEmailText: Locator;
28
28
  constructor(page: Page);
29
- signupToC8(emailAddress: string): Promise<void>;
29
+ signupToC8(emailAddress: string, password: string): Promise<void>;
30
30
  clickFirstNameInput(): Promise<void>;
31
31
  fillFirstNameInput(firstName: string): Promise<void>;
32
32
  clickLastNameInput(): Promise<void>;
@@ -76,7 +76,7 @@ class SignUpPage {
76
76
  this.runProcessRadioButton = page.getByRole('radio', { name: 'yes' });
77
77
  this.verifyEmailText = page.getByText('Verify your email');
78
78
  }
79
- async signupToC8(emailAddress) {
79
+ async signupToC8(emailAddress, password) {
80
80
  await this.page.goto('https://accounts.ultrawombat.com/signup');
81
81
  await this.clickFirstNameInput();
82
82
  await this.fillFirstNameInput('QA');
@@ -85,7 +85,7 @@ class SignUpPage {
85
85
  await this.clickEmailInput();
86
86
  await this.fillEmailInput(emailAddress);
87
87
  await this.clickPasswordInput();
88
- await this.fillPasswordInput(process.env.C8_PASSWORD);
88
+ await this.fillPasswordInput(password);
89
89
  await this.clickSignupButton();
90
90
  await (0, test_1.expect)(this.verifyEmailText.first()).toBeVisible({
91
91
  timeout: 90000,
@@ -228,6 +228,8 @@ class TaskDetailsPage {
228
228
  await (0, test_1.expect)(firstPdfViewer.or(lastPdfViewer)).toBeVisible();
229
229
  }
230
230
  async clickSubmitButton() {
231
+ await (0, test_1.expect)(this.submitButton).toBeVisible();
232
+ await (0, test_1.expect)(this.submitButton).toBeEnabled();
231
233
  await this.submitButton.click();
232
234
  }
233
235
  }
@@ -14,7 +14,10 @@ import { LoginPage } from './LoginPage';
14
14
  import { ConnectorSettingsPage } from './ConnectorSettingsPage';
15
15
  import { ConnectorMarketplacePage } from './ConnectorMarketplacePage';
16
16
  import { ConnectorTemplatePage } from './ConnectorTemplatePage';
17
- export declare function loginWithRetry(page: Page, loginPage: LoginPage, timeout: number, maxRetries?: number): Promise<void>;
17
+ export declare function loginWithRetry(page: Page, loginPage: LoginPage, testUser: {
18
+ username: string;
19
+ password: string;
20
+ }, timeout: number, maxRetries?: number): Promise<void>;
18
21
  export declare function modelRestConnector(modelerCreatePage: ModelerCreatePage, connectorSettingsPage: ConnectorSettingsPage, processName: string, url: string, auth: string, resultExpression: string, resultVariable?: string, basicAuthCredentials?: {
19
22
  username: string;
20
23
  password: string;
@@ -8,12 +8,12 @@ const sleep_1 = require("../../utils/sleep");
8
8
  const randomSleep_1 = require("../../utils/randomSleep");
9
9
  const fileUpload_1 = require("../../utils/fileUpload");
10
10
  const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
11
- async function loginWithRetry(page, loginPage, timeout, maxRetries = 3) {
11
+ async function loginWithRetry(page, loginPage, testUser, timeout, maxRetries = 3) {
12
12
  for (let attempt = 0; attempt < maxRetries; attempt++) {
13
13
  try {
14
14
  await page.goto('/');
15
15
  await (0, sleep_1.sleep)(timeout);
16
- await loginPage.login();
16
+ await loginPage.login(testUser);
17
17
  return;
18
18
  }
19
19
  catch (error) {
@@ -32,7 +32,7 @@ class FormJsPage {
32
32
  this.documentReferenceInput = page.getByRole('textbox', {
33
33
  name: 'document reference',
34
34
  });
35
- this.generalPanel = page.getByTitle('General').first();
35
+ this.generalPanel = page.locator('[data-group-id="group-general"]').first();
36
36
  this.textField = page.locator('button[data-field-type="textfield"]');
37
37
  this.textFieldInForm = page
38
38
  .getByLabel('Form Definition')
@@ -73,10 +73,13 @@ class HomePage {
73
73
  }
74
74
  async clickSkipCustomization() {
75
75
  try {
76
+ await (0, test_1.expect)(this.gettingStartedHeading).toBeVisible({
77
+ timeout: 20000,
78
+ });
76
79
  await (0, test_1.expect)(this.buttonSkipCustomization).toBeVisible({
77
- timeout: 30000,
80
+ timeout: 20000,
78
81
  });
79
- await this.buttonSkipCustomization.click({ timeout: 60000 });
82
+ await this.buttonSkipCustomization.click();
80
83
  await this.closeInformationDialog();
81
84
  return;
82
85
  }
@@ -14,7 +14,10 @@ import { ConnectorSettingsPage } from './ConnectorSettingsPage';
14
14
  import { LoginPage } from './LoginPage';
15
15
  import { ConnectorMarketplacePage } from './ConnectorMarketplacePage';
16
16
  import { ConnectorTemplatePage } from './ConnectorTemplatePage';
17
- export declare function loginWithRetry(page: Page, loginPage: LoginPage, timeout: number, maxRetries?: number): Promise<void>;
17
+ export declare function loginWithRetry(page: Page, loginPage: LoginPage, testUser: {
18
+ username: string;
19
+ password: string;
20
+ }, timeout: number, maxRetries?: number): Promise<void>;
18
21
  export declare function modelRestConnector(modelerCreatePage: ModelerCreatePage, connectorSettingsPage: ConnectorSettingsPage, processName: string, url: string, auth: string, resultExpression: string, resultVariable?: string, basicAuthCredentials?: {
19
22
  username: string;
20
23
  password: string;
@@ -7,12 +7,12 @@ const HomePage_1 = require("./HomePage");
7
7
  const sleep_1 = require("../../utils/sleep");
8
8
  const randomSleep_1 = require("../../utils/randomSleep");
9
9
  const fileUpload_1 = require("../../utils/fileUpload");
10
- async function loginWithRetry(page, loginPage, timeout, maxRetries = 3) {
10
+ async function loginWithRetry(page, loginPage, testUser, timeout, maxRetries = 3) {
11
11
  for (let attempt = 0; attempt < maxRetries; attempt++) {
12
12
  try {
13
13
  await page.goto('/');
14
14
  await (0, sleep_1.sleep)(timeout);
15
- await loginPage.login();
15
+ await loginPage.login(testUser);
16
16
  return;
17
17
  }
18
18
  catch (error) {
@@ -8,11 +8,13 @@ const sleep_1 = require("../../utils/sleep");
8
8
  const fileUpload_1 = require("../../utils/fileUpload");
9
9
  const OperateProcessInstancePage_1 = require("../../pages/8.7/OperateProcessInstancePage");
10
10
  const UtilitiesPage_2 = require("../../pages/8.7/UtilitiesPage");
11
+ const users_1 = require("../../utils/users");
12
+ const testUser = (0, users_1.getTestUser)('fifteenthUser');
11
13
  _8_7_1.test.describe.configure({ mode: 'parallel' });
12
14
  _8_7_1.test.describe('AWS Cluster User Flows Test', () => {
13
15
  const clusterName = 'AWS Cluster';
14
16
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
15
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
17
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
16
18
  });
17
19
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
18
20
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -9,12 +9,14 @@ const UtilitiesPage_1 = require("../../pages/8.7/UtilitiesPage");
9
9
  const UtilitiesPage_2 = require("../../pages/8.7/UtilitiesPage");
10
10
  const apiHelpers_1 = require("../../utils/apiHelpers");
11
11
  const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
12
+ const users_1 = require("../../utils/users");
13
+ const testUser = (0, users_1.getTestUser)('seventeenthUser');
12
14
  _8_7_1.test.describe.configure({ mode: 'parallel' });
13
15
  _8_7_1.test.describe('Connectors User Flow Tests', () => {
14
16
  const defaultClusterName = 'Test Cluster';
15
17
  const awsCluster = 'AWS Cluster';
16
18
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
17
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
19
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
18
20
  });
19
21
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
20
22
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -8,13 +8,15 @@ const sleep_1 = require("../../utils/sleep");
8
8
  const UtilitiesPage_1 = require("../../pages/8.7/UtilitiesPage");
9
9
  const formatDate_1 = require("../../utils/formatDate");
10
10
  const googleapi_1 = require("../../utils/googleapi");
11
+ const users_1 = require("../../utils/users");
11
12
  const constants_1 = require("../../utils/constants");
13
+ const testUser = (0, users_1.getTestUser)('eighteenthUser');
12
14
  _8_7_1.test.describe.configure({ mode: 'parallel' });
13
15
  _8_7_1.test.describe('Console User Flow Tests', () => {
14
16
  const clusterName = 'Test Cluster';
15
17
  const alertFlowClusterName = 'AWS Cluster';
16
18
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
17
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
19
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
18
20
  });
19
21
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
20
22
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -14,11 +14,13 @@ const UtilitiesPage_1 = require("../../pages/8.7/UtilitiesPage");
14
14
  const sleep_1 = require("../../utils/sleep");
15
15
  const fileUpload_1 = require("../../utils/fileUpload");
16
16
  const resetSession_1 = require("../../utils/resetSession");
17
+ const users_1 = require("../../utils/users");
18
+ const testUser = (0, users_1.getTestUser)('nineteenthUser');
17
19
  _8_7_1.test.describe.configure({ mode: 'parallel' });
18
20
  _8_7_1.test.describe('HTO User Flow Tests', () => {
19
21
  const clusterName = 'Test Cluster';
20
22
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
21
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
23
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
22
24
  });
23
25
  _8_7_1.test.afterEach(async ({ page, homePage, appsPage, consoleOrganizationsPage }, testInfo) => {
24
26
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -223,12 +225,12 @@ _8_7_1.test.describe('HTO User Flow Tests', () => {
223
225
  await modelerCreatePage.clickCandidateUsersInput();
224
226
  await modelerCreatePage.fillCandidateUsersInput(process.env.C8_USERNAME_TEST);
225
227
  await modelerCreatePage.clickAssigneeInput();
226
- await modelerCreatePage.fillAssigneeInput(process.env.C8_USERNAME);
228
+ await modelerCreatePage.fillAssigneeInput(testUser.username);
227
229
  await modelerCreatePage.clickCanvas();
228
230
  await modelerCreatePage.selectUserTask('candidateUserTask' + randomName + '2');
229
231
  await modelerCreatePage.expandAssignmentSection();
230
232
  await modelerCreatePage.clickCandidateUsersInput();
231
- await modelerCreatePage.fillCandidateUsersInput(process.env.C8_USERNAME);
233
+ await modelerCreatePage.fillCandidateUsersInput(testUser.username);
232
234
  await modelerCreatePage.clickCanvas();
233
235
  await modelerCreatePage.selectUserTask('candidateUserTask' + randomName + '3');
234
236
  await modelerCreatePage.expandAssignmentSection();
@@ -291,9 +293,7 @@ _8_7_1.test.describe('HTO User Flow Tests', () => {
291
293
  await _8_7_1.test.step('Assign Users to the Created Groups in Identity', async () => {
292
294
  await consoleOrganizationsPage.clickUserGroup('Single User');
293
295
  await consoleOrganizationsPage.clickAssignMembers();
294
- await consoleOrganizationsPage.fillAssignMembers([
295
- process.env.C8_USERNAME,
296
- ]);
296
+ await consoleOrganizationsPage.fillAssignMembers([testUser.username]);
297
297
  await consoleOrganizationsPage.clickAssignSubButton();
298
298
  await consoleOrganizationsPage.clickOrganizationManagementLink();
299
299
  await consoleOrganizationsPage.clickGroupsTab();
@@ -374,6 +374,7 @@ _8_7_1.test.describe('HTO User Flow Tests', () => {
374
374
  const loginPage = new LoginPage_1.LoginPage(page);
375
375
  await loginPage.loginWithTestUser({
376
376
  username: process.env.C8_USERNAME_TEST_2,
377
+ password: process.env.C8_PASSWORD_TEST_2,
377
378
  });
378
379
  await appsPage.clickCamundaApps();
379
380
  await appsPage.clickTasklist(clusterName);
@@ -7,11 +7,13 @@ const UtilitiesPage_1 = require("../../pages/8.7/UtilitiesPage");
7
7
  const randomName_1 = require("../../utils/randomName");
8
8
  const fileUpload_1 = require("../../utils/fileUpload");
9
9
  const sleep_1 = require("../../utils/sleep");
10
+ const users_1 = require("../../utils/users");
11
+ const testUser = (0, users_1.getTestUser)('twentiethUser');
10
12
  _8_7_1.test.describe.configure({ mode: 'parallel' });
11
13
  _8_7_1.test.describe('IDP User Flow Tests', () => {
12
14
  const clusterName = 'Test Cluster';
13
15
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
14
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
16
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
15
17
  });
16
18
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
17
19
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -4,11 +4,13 @@ const test_1 = require("@playwright/test");
4
4
  const _8_7_1 = require("../../fixtures/8.7");
5
5
  const _setup_1 = require("../../test-setup.js");
6
6
  const UtilitiesPage_1 = require("../../pages/8.7/UtilitiesPage");
7
+ const users_1 = require("../../utils/users");
8
+ const testUser = (0, users_1.getTestUser)('twentyFirstUser');
7
9
  _8_7_1.test.describe.configure({ mode: 'parallel' });
8
10
  _8_7_1.test.describe('Navigation Tests', () => {
9
11
  const clusterName = 'Test Cluster';
10
12
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
11
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
13
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
12
14
  });
13
15
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
14
16
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -10,11 +10,13 @@ const OptimizeHomePage_1 = require("../../pages/8.7/OptimizeHomePage");
10
10
  const OptimizeDashboardPage_1 = require("../../pages/8.7/OptimizeDashboardPage");
11
11
  const sleep_1 = require("../../utils/sleep");
12
12
  const UtilitiesPage_1 = require("../../pages/8.7/UtilitiesPage");
13
+ const users_1 = require("../../utils/users");
14
+ const testUser = (0, users_1.getTestUser)('twentyThirdUser');
13
15
  _8_7_1.test.describe.configure({ mode: 'parallel' });
14
16
  _8_7_1.test.describe('Optimize User Flow Tests', () => {
15
17
  const clusterName = 'Test Cluster';
16
18
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
17
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
19
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
18
20
  });
19
21
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
20
22
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -233,7 +235,7 @@ _8_7_1.test.describe('Optimize User Flow Tests', () => {
233
235
  await optimizeTabOptimizeHomePage.clickDashboardLink();
234
236
  await (0, sleep_1.sleep)(120000);
235
237
  await operateTabOptimizeDashboardPage.processLinkAssertion(processName, 6);
236
- await operateTabOptimizeDashboardPage.processOwnerNameAssertion(processName);
238
+ await operateTabOptimizeDashboardPage.processOwnerNameAssertion(processName, testUser.username);
237
239
  });
238
240
  });
239
241
  });
@@ -5,10 +5,12 @@ const _8_7_1 = require("../../fixtures/8.7");
5
5
  const _setup_1 = require("../../test-setup.js");
6
6
  const sleep_1 = require("../../utils/sleep");
7
7
  const UtilitiesPage_1 = require("../../pages/8.7/UtilitiesPage");
8
+ const users_1 = require("../../utils/users");
9
+ const testUser = (0, users_1.getTestUser)('twentyFourthUser');
8
10
  _8_7_1.test.describe.configure({ mode: 'parallel' });
9
11
  _8_7_1.test.describe('Deploy and run a process in Play', () => {
10
12
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
11
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
13
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
12
14
  });
13
15
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
14
16
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -6,6 +6,8 @@ const _setup_1 = require("../../test-setup.js");
6
6
  const UtilitiesPage_1 = require("../../pages/8.7/UtilitiesPage");
7
7
  const sleep_1 = require("../../utils/sleep");
8
8
  const resetSession_1 = require("../../utils/resetSession");
9
+ const users_1 = require("../../utils/users");
10
+ const mainUser = (0, users_1.getTestUser)('twentyFifthUser');
9
11
  _8_7_1.test.describe.configure({ mode: 'parallel' });
10
12
  _8_7_1.test.describe('RBA Enabled User Flows Test', () => {
11
13
  const clusterNames = {
@@ -14,7 +16,7 @@ _8_7_1.test.describe('RBA Enabled User Flows Test', () => {
14
16
  'RBA On User Flow - Permission for All Processes': 'Third RBA Cluster',
15
17
  };
16
18
  _8_7_1.test.beforeEach(async ({ page, homePage, clusterPage, loginPage }, testInfo) => {
17
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
19
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, (testInfo.workerIndex + 1) * 1000);
18
20
  await (0, test_1.expect)(homePage.clusterTab).toBeVisible({ timeout: 120000 });
19
21
  await homePage.clickClusters();
20
22
  (0, test_1.expect)(clusterNames[testInfo.title]).toBeTruthy();
@@ -55,7 +57,7 @@ _8_7_1.test.describe('RBA Enabled User Flows Test', () => {
55
57
  await _8_7_1.test.step('Navigate to Users and Make Sure that No Authorized Resources Are Created', async () => {
56
58
  await homePage.clickOrganization();
57
59
  await consoleOrganizationsPage.clickUsersTab();
58
- await consoleOrganizationsPage.clickMainUser();
60
+ await consoleOrganizationsPage.clickMainUser(mainUser.username);
59
61
  await consoleOrganizationsPage.clickAuthorizations();
60
62
  await (0, test_1.expect)(page.getByText(processIdBeforeEnablingRBA + '1', { exact: true })).not.toBeVisible({
61
63
  timeout: 120000,
@@ -125,7 +127,7 @@ _8_7_1.test.describe('RBA Enabled User Flows Test', () => {
125
127
  await _8_7_1.test.step('Navigate to Users and Create Authorized Resource For Process 1', async () => {
126
128
  await homePage.clickOrganization();
127
129
  await consoleOrganizationsPage.clickUsersTab();
128
- await consoleOrganizationsPage.clickMainUser();
130
+ await consoleOrganizationsPage.clickMainUser(mainUser.username);
129
131
  await consoleOrganizationsPage.clickAuthorizations();
130
132
  await (0, test_1.expect)(page.getByText(processId1, { exact: true })).not.toBeVisible({
131
133
  timeout: 60000,
@@ -172,6 +174,7 @@ _8_7_1.test.describe('RBA Enabled User Flows Test', () => {
172
174
  await _8_7_1.test.step('Login as Test User', async () => {
173
175
  await loginPage.loginWithTestUser({
174
176
  username: process.env.C8_USERNAME_TEST_2,
177
+ password: process.env.C8_PASSWORD_TEST_2,
175
178
  });
176
179
  });
177
180
  await _8_7_1.test.step('Navigate to Operate and Check Processes Are Not Accessible', async () => {
@@ -226,7 +229,7 @@ _8_7_1.test.describe('RBA Enabled User Flows Test', () => {
226
229
  await appsPage.clickConsoleLink();
227
230
  await homePage.clickOrganization();
228
231
  await consoleOrganizationsPage.clickUsersTab();
229
- await consoleOrganizationsPage.clickMainUser();
232
+ await consoleOrganizationsPage.clickMainUser(mainUser.username);
230
233
  await consoleOrganizationsPage.clickAuthorizations();
231
234
  await consoleOrganizationsPage.authorizedResourceAssertion(processId1);
232
235
  await consoleOrganizationsPage.authorizedResourceAssertion(processId2);
@@ -14,11 +14,13 @@ const OptimizeHomePage_1 = require("../../pages/8.7/OptimizeHomePage");
14
14
  const OptimizeCollectionsPage_1 = require("../../pages/8.7/OptimizeCollectionsPage");
15
15
  const OptimizeReportPage_1 = require("../../pages/8.7/OptimizeReportPage");
16
16
  const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
17
+ const users_1 = require("../../utils/users");
18
+ const testUser = (0, users_1.getTestUser)('thirteenthUser');
17
19
  _8_7_1.test.describe.configure({ mode: 'parallel' });
18
20
  _8_7_1.test.describe('Smoke Tests', () => {
19
21
  const clusterName = 'Test Cluster';
20
22
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
21
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
23
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
22
24
  });
23
25
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
24
26
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -5,19 +5,18 @@ const _8_7_1 = require("../../fixtures/8.7");
5
5
  const _setup_1 = require("../../test-setup.js");
6
6
  const sleep_1 = require("../../utils/sleep");
7
7
  const UtilitiesPage_1 = require("../../pages/8.7/UtilitiesPage");
8
+ const users_1 = require("../../utils/users");
8
9
  _8_7_1.test.describe.configure({ mode: 'parallel' });
9
10
  _8_7_1.test.describe('Cluster Setup Tests', () => {
10
- _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
11
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
12
- });
13
11
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
14
12
  await (0, _setup_1.captureScreenshot)(page, testInfo);
15
13
  await (0, _setup_1.captureFailureVideo)(page, testInfo);
16
14
  });
17
- (0, _8_7_1.test)('Enable Alpha Features', async ({ page, homePage, consoleOrganizationsPage, }) => {
15
+ (0, _8_7_1.test)('Enable Alpha Features', async ({ page, homePage, loginPage, consoleOrganizationsPage, }, testInfo) => {
18
16
  if (process.env.IS_PROD === 'true') {
19
17
  _8_7_1.test.skip(true, 'Skipping test because not required on PROD test org');
20
18
  }
19
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, users_1.testUsers.mainUser, (testInfo.workerIndex + 1) * 1000);
21
20
  await homePage.clickOrganization();
22
21
  await (0, test_1.expect)(consoleOrganizationsPage.settingsTab).toBeVisible({
23
22
  timeout: 60000,
@@ -29,41 +28,49 @@ _8_7_1.test.describe('Cluster Setup Tests', () => {
29
28
  await consoleOrganizationsPage.clickSettingsTab();
30
29
  await consoleOrganizationsPage.enableAlphaFeature('AI-powered features');
31
30
  });
32
- (0, _8_7_1.test)('Create Default Cluster', async ({ homePage, clusterPage, clusterDetailsPage, }) => {
31
+ (0, _8_7_1.test)('Create Default Cluster', async ({ page, loginPage, homePage, clusterPage, clusterDetailsPage, }, testInfo) => {
33
32
  _8_7_1.test.slow();
34
33
  const clusterName = 'Test Cluster';
34
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, users_1.testUsers.mainUser, (testInfo.workerIndex + 1) * 1000);
35
35
  await homePage.clickClusters();
36
36
  await clusterPage.createCluster(clusterName);
37
37
  await clusterPage.assertClusterHealthyStatusWithRetry(clusterName);
38
38
  await clusterPage.clickClusterLink(clusterName);
39
39
  await clusterDetailsPage.assertComponentsHealth();
40
40
  });
41
- (0, _8_7_1.test)('Create AWS Cluster', async ({ homePage, clusterPage, clusterDetailsPage, }) => {
41
+ (0, _8_7_1.test)('Create AWS Cluster', async ({ page, loginPage, homePage, clusterPage, clusterDetailsPage, }, testInfo) => {
42
42
  _8_7_1.test.slow();
43
43
  const clusterName = 'AWS Cluster';
44
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, users_1.testUsers.mainUser, (testInfo.workerIndex + 1) * 1000);
44
45
  await homePage.clickClusters();
45
46
  await clusterPage.createCluster(clusterName, 'AWS');
46
47
  await clusterPage.assertClusterHealthyStatusWithRetry(clusterName);
47
48
  await clusterPage.clickClusterLink(clusterName);
48
49
  await clusterDetailsPage.assertComponentsHealth();
49
50
  });
50
- (0, _8_7_1.test)('Create Project Folder', async ({ homePage, appsPage, modelerHomePage, }) => {
51
- await _8_7_1.test.step('Navigate to Web Modeler', async () => {
52
- await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
53
- timeout: 120000,
51
+ for (const [index, user] of (0, users_1.getTestUsers)().entries()) {
52
+ (0, _8_7_1.test)(`Create Project Folder for User ${index + 1}`, async ({ page, loginPage, homePage, appsPage, modelerHomePage, }, testInfo) => {
53
+ await _8_7_1.test.step('Log in', async () => {
54
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, user, (testInfo.workerIndex + 1) * 1000);
54
55
  });
55
- await appsPage.clickCamundaApps();
56
- await appsPage.clickModeler();
57
- await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
58
- timeout: 180000,
56
+ await _8_7_1.test.step('Navigate to Web Modeler', async () => {
57
+ await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
58
+ timeout: 120000,
59
+ });
60
+ await appsPage.clickCamundaApps();
61
+ await appsPage.clickModeler();
62
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
63
+ timeout: 180000,
64
+ });
59
65
  });
60
- });
61
- await _8_7_1.test.step('Create Cross Component Project Folder', async () => {
62
- await modelerHomePage.createCrossComponentProjectFolder();
63
- await modelerHomePage.clickHomeBreadcrumb();
64
- await (0, test_1.expect)(modelerHomePage.crossComponentProjectFolder).toBeVisible({
65
- timeout: 60000,
66
+ await _8_7_1.test.step('Create Cross Component Project Folder', async () => {
67
+ await homePage.clickSkipCustomization();
68
+ await modelerHomePage.createCrossComponentProjectFolder();
69
+ await modelerHomePage.clickHomeBreadcrumb();
70
+ await (0, test_1.expect)(modelerHomePage.crossComponentProjectFolder).toBeVisible({
71
+ timeout: 60000,
72
+ });
66
73
  });
67
74
  });
68
- });
75
+ }
69
76
  });
@@ -12,6 +12,9 @@ const deleteOrg_1 = require("../../utils/deleteOrg");
12
12
  const sleep_1 = require("../../utils/sleep");
13
13
  const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
14
14
  const resetSession_1 = require("../../utils/resetSession");
15
+ const users_1 = require("../../utils/users");
16
+ const node_crypto_1 = require("node:crypto");
17
+ const testUser = (0, users_1.getTestUser)('eleventhUser');
15
18
  _8_7_1.test.describe.configure({ mode: 'parallel' });
16
19
  _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
17
20
  const clusterName = 'Test Cluster';
@@ -20,7 +23,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
20
23
  'Invite Existing C8 member to Web Modeler flow': '',
21
24
  };
22
25
  _8_7_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
23
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
26
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
24
27
  });
25
28
  _8_7_1.test.afterEach(async ({ page }, testInfo) => {
26
29
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -159,7 +162,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
159
162
  });
160
163
  await settingsPage.clickOpenSettingsButton();
161
164
  await settingsPage.clickLogoutButton();
162
- await loginPage.login();
165
+ await loginPage.login(testUser);
163
166
  await (0, sleep_1.sleep)(30000);
164
167
  await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
165
168
  timeout: 90000,
@@ -219,7 +222,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
219
222
  });
220
223
  await settingsPage.clickOpenSettingsButton();
221
224
  await settingsPage.clickLogoutButton();
222
- await loginPage.login();
225
+ await loginPage.login(testUser);
223
226
  await (0, sleep_1.sleep)(20000);
224
227
  await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
225
228
  timeout: 60000,
@@ -394,7 +397,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
394
397
  timeout: 60000,
395
398
  });
396
399
  await page.goto('/');
397
- await loginPage.login();
400
+ await loginPage.login(testUser);
398
401
  });
399
402
  await _8_7_1.test.step('Navigate to Web Modeler as Project Admin', async () => {
400
403
  await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
@@ -416,8 +419,11 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
416
419
  const { id, emailAddress } = await (0, mailSlurpClient_1.createInbox)();
417
420
  inboxes[testInfo.title] = id;
418
421
  let newOrganizationUuid = '';
422
+ const password = (await (0, _setup_1.generateRandomStringAsync)(5)) +
423
+ (0, node_crypto_1.randomInt)(10000000, 90000000) +
424
+ '*';
419
425
  await _8_7_1.test.step('Sign up new user to C8', async () => {
420
- await signUpPage.signupToC8(emailAddress);
426
+ await signUpPage.signupToC8(emailAddress, password);
421
427
  });
422
428
  await _8_7_1.test.step('Log in to C8 as New User', async () => {
423
429
  await (0, UtilitiesPage_1.clickInvitationLinkInEmail)(page, id);
@@ -429,7 +435,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
429
435
  await settingsPage.clickLogoutButton();
430
436
  await loginPage.loginWithoutOrgAssertion({
431
437
  username: emailAddress,
432
- password: process.env.C8_PASSWORD,
438
+ password: password,
433
439
  });
434
440
  await (0, test_1.expect)(homePage.gettingStartedHeading).toBeVisible({
435
441
  timeout: 40000,
@@ -447,7 +453,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
447
453
  await _8_7_1.test.step('Login as Project Admin', async () => {
448
454
  await settingsPage.clickOpenSettingsButton();
449
455
  await settingsPage.clickLogoutButton();
450
- await loginPage.login();
456
+ await loginPage.login(testUser);
451
457
  });
452
458
  await _8_7_1.test.step('Navigate to Web Modeler', async () => {
453
459
  await appsPage.clickCamundaApps();
@@ -474,7 +480,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
474
480
  await (0, sleep_1.sleep)(60000);
475
481
  await loginPage.login({
476
482
  username: emailAddress,
477
- password: process.env.C8_PASSWORD,
483
+ password: password,
478
484
  });
479
485
  await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(modelerHomePage, modelerHomePage.crossComponentProjectFolder, 'Cross Component Test Project', 60000, 5);
480
486
  });
@@ -483,7 +489,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
483
489
  await settingsPage.clickLogoutButton();
484
490
  });
485
491
  await _8_7_1.test.step('Navigate to Web Modeler as Project Admin', async () => {
486
- await loginPage.login();
492
+ await loginPage.login(testUser);
487
493
  await appsPage.clickCamundaApps();
488
494
  await appsPage.clickModeler();
489
495
  await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
@@ -652,7 +658,7 @@ _8_7_1.test.describe('Web Modeler User Flow Tests', () => {
652
658
  });
653
659
  });
654
660
  await _8_7_1.test.step('Login to Tasklist and Check User Task Has the Correct Input Values and Can Be Completed', async () => {
655
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, 5000);
661
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, 5000);
656
662
  await appsPage.clickCamundaApps();
657
663
  await appsPage.clickTasklist(clusterName);
658
664
  await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, taskPanelPage.taskListPageBanner, 'Tasklist banner');
@@ -7,6 +7,8 @@ const sleep_1 = require("../../utils/sleep");
7
7
  const resetSession_1 = require("../../utils/resetSession");
8
8
  const LoginPage_1 = require("../../pages/8.8/LoginPage");
9
9
  const test_1 = require("@playwright/test");
10
+ const users_1 = require("../../utils/users");
11
+ const testUser = (0, users_1.getTestUser)('mainUser');
10
12
  _8_8_1.test.describe.configure({ mode: 'parallel' });
11
13
  _8_8_1.test.describe('User Roles User Flow', () => {
12
14
  const clusterNames = {
@@ -15,7 +17,7 @@ _8_8_1.test.describe('User Roles User Flow', () => {
15
17
  'Admin Role User Flow': 'Admin Role Cluster',
16
18
  };
17
19
  _8_8_1.test.beforeEach(async ({ page, homePage, clusterPage, loginPage, clusterDetailsPage, appsPage }, testInfo) => {
18
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
20
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
19
21
  await (0, test_1.expect)(homePage.clusterTab).toBeVisible({ timeout: 120000 });
20
22
  await homePage.clickClusters();
21
23
  const baseTitle = testInfo.title.split(' @')[0];
@@ -5,6 +5,8 @@ const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
5
5
  const _setup_1 = require("../../test-setup.js");
6
6
  const apiHelpers_1 = require("../../utils/apiHelpers");
7
7
  const sleep_1 = require("../../utils/sleep");
8
+ const users_1 = require("../../utils/users");
9
+ const testUser = (0, users_1.getTestUser)('fourteenthUser');
8
10
  let authToken;
9
11
  const aiAgentTestCases = [
10
12
  {
@@ -52,7 +54,7 @@ _8_8_1.test.describe('Agentic Orchestation User Flows', () => {
52
54
  await (0, sleep_1.sleep)(5000);
53
55
  });
54
56
  _8_8_1.test.beforeEach(async ({ page, appsPage, loginPage }, testInfo) => {
55
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
57
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
56
58
  await appsPage.clickCamundaApps();
57
59
  await appsPage.clickOperate(clusterName);
58
60
  });
@@ -8,11 +8,13 @@ const sleep_1 = require("../../utils/sleep");
8
8
  const fileUpload_1 = require("../../utils/fileUpload");
9
9
  const OperateProcessInstancePage_1 = require("../../pages/8.7/OperateProcessInstancePage");
10
10
  const UtilitiesPage_2 = require("../../pages/8.8/UtilitiesPage");
11
+ const users_1 = require("../../utils/users");
12
+ const testUser = (0, users_1.getTestUser)('fifteenthUser');
11
13
  _8_8_1.test.describe.configure({ mode: 'parallel' });
12
14
  _8_8_1.test.describe('AWS Cluster User Flows Test', () => {
13
15
  const clusterName = 'AWS Cluster';
14
16
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
15
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
17
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
16
18
  });
17
19
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
18
20
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -10,12 +10,14 @@ const UtilitiesPage_2 = require("../../pages/8.8/UtilitiesPage");
10
10
  const UtilitiesPage_3 = require("../../pages/8.8/UtilitiesPage");
11
11
  const apiHelpers_1 = require("../../utils/apiHelpers");
12
12
  const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
13
+ const users_1 = require("../../utils/users");
14
+ const testUser = (0, users_1.getTestUser)('seventeenthUser');
13
15
  _8_8_1.test.describe.configure({ mode: 'parallel' });
14
16
  _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
15
17
  const defaultClusterName = 'Test Cluster';
16
18
  const awsCluster = 'AWS Cluster';
17
19
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
18
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
20
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
19
21
  });
20
22
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
21
23
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -8,11 +8,13 @@ const formatDate_1 = require("../../utils/formatDate");
8
8
  const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
9
9
  const sleep_1 = require("../../utils/sleep");
10
10
  const googleapi_1 = require("../../utils/googleapi");
11
+ const users_1 = require("../../utils/users");
12
+ const testUser = (0, users_1.getTestUser)('eighteenthUser');
11
13
  _8_8_1.test.describe.configure({ mode: 'parallel' });
12
14
  _8_8_1.test.describe('Console User Flow Tests @tasklistV2', () => {
13
15
  const clusterName = 'Test Cluster';
14
16
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
15
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
17
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
16
18
  });
17
19
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
18
20
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -85,7 +87,7 @@ _8_8_1.test.describe('Console User Flow Tests @tasklistV2', () => {
85
87
  await clusterDetailsPage.createAlert(true);
86
88
  (0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
87
89
  await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(0)).toContainText(`Email`);
88
- await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText(process.env.C8_USERNAME);
90
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText(testUser.username);
89
91
  await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText((0, formatDate_1.formatDate)());
90
92
  await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText('Amount triggered0');
91
93
  });
@@ -15,11 +15,13 @@ const fileUpload_1 = require("../../utils/fileUpload");
15
15
  const resetSession_1 = require("../../utils/resetSession");
16
16
  const expectTextWithPagination_1 = require("../../utils/assertionHelpers/expectTextWithPagination");
17
17
  const expectTextWithRetry_1 = require("../../utils/assertionHelpers/expectTextWithRetry");
18
+ const users_1 = require("../../utils/users");
19
+ const testUser = (0, users_1.getTestUser)('nineteenthUser');
18
20
  _8_8_1.test.describe.configure({ mode: 'parallel' });
19
21
  _8_8_1.test.describe('HTO User Flow Tests', () => {
20
22
  const clusterName = 'Test Cluster';
21
23
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
22
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
24
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
23
25
  });
24
26
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
25
27
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -7,6 +7,8 @@ const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
7
7
  const randomName_1 = require("../../utils/randomName");
8
8
  const fileUpload_1 = require("../../utils/fileUpload");
9
9
  const connectorSecrets_1 = require("../../utils/connectorSecrets");
10
+ const users_1 = require("../../utils/users");
11
+ const testUser = (0, users_1.getTestUser)('twentiethUser');
10
12
  let idpApplicationName;
11
13
  let idpDocumentExtractionTemplateName;
12
14
  const unstructuredTestCases = [
@@ -56,7 +58,7 @@ _8_8_1.test.describe('IDP User Flow Tests', () => {
56
58
  await (0, _setup_1.captureFailureVideo)(page, testInfo);
57
59
  });
58
60
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
59
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
61
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
60
62
  });
61
63
  _8_8_1.test.describe('Unstructured Extraction', () => {
62
64
  for (const params of unstructuredTestCases) {
@@ -5,11 +5,13 @@ const _8_8_1 = require("../../fixtures/8.8");
5
5
  const _setup_1 = require("../../test-setup.js");
6
6
  const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
7
7
  const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
8
+ const users_1 = require("../../utils/users");
9
+ const testUser = (0, users_1.getTestUser)('twentyFirstUser');
8
10
  _8_8_1.test.describe.configure({ mode: 'parallel' });
9
11
  _8_8_1.test.describe('Navigation Tests', () => {
10
12
  const clusterName = 'Test Cluster';
11
13
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
12
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
14
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
13
15
  });
14
16
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
15
17
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -10,11 +10,13 @@ const OptimizeHomePage_1 = require("../../pages/8.8/OptimizeHomePage");
10
10
  const OptimizeDashboardPage_1 = require("../../pages/8.8/OptimizeDashboardPage");
11
11
  const sleep_1 = require("../../utils/sleep");
12
12
  const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
13
+ const users_1 = require("../../utils/users");
14
+ const testUser = (0, users_1.getTestUser)('twentyThirdUser');
13
15
  _8_8_1.test.describe.configure({ mode: 'parallel' });
14
16
  _8_8_1.test.describe('Optimize User Flow Tests', () => {
15
17
  const clusterName = 'Test Cluster';
16
18
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
17
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
19
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
18
20
  });
19
21
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
20
22
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -5,11 +5,13 @@ const _8_8_1 = require("../../fixtures/8.8");
5
5
  const _setup_1 = require("../../test-setup.js");
6
6
  const sleep_1 = require("../../utils/sleep");
7
7
  const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
8
+ const users_1 = require("../../utils/users");
9
+ const testUser = (0, users_1.getTestUser)('twentyFourthUser');
8
10
  _8_8_1.test.describe.configure({ mode: 'parallel' });
9
11
  _8_8_1.test.describe('Deploy and run a process in Play', () => {
10
12
  const clusterName = 'Test Cluster';
11
13
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
12
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
14
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
13
15
  });
14
16
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
15
17
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -8,6 +8,8 @@ const sleep_1 = require("../../utils/sleep");
8
8
  const resetSession_1 = require("../../utils/resetSession");
9
9
  const roleAuthorizations_1 = require("../../utils/roleAuthorizations");
10
10
  const expectTextWithRetry_1 = require("../../utils/assertionHelpers/expectTextWithRetry");
11
+ const users_1 = require("../../utils/users");
12
+ const mainUser = (0, users_1.getTestUser)('twentyFifthUser');
11
13
  _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
12
14
  const clusterNames = {
13
15
  'RBA On User Flow - No User Permission': 'First RBA V1 Cluster',
@@ -16,7 +18,7 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
16
18
  'RBA On User Flow - Permission for Selected Processes Only': 'Fourth RBA V1 Cluster',
17
19
  };
18
20
  _8_8_1.test.beforeEach(async ({ page, homePage, clusterPage, loginPage, clusterDetailsPage, appsPage }, testInfo) => {
19
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
21
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, (testInfo.workerIndex + 1) * 1000);
20
22
  await homePage.clickClusters();
21
23
  const clusterName = clusterNames[testInfo.title];
22
24
  (0, test_1.expect)(clusterName, `No cluster mapping for test title: "${testInfo.title}")`).toBeTruthy();
@@ -90,7 +92,7 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
90
92
  await appsPage.clickConsoleLink();
91
93
  await settingsPage.clickOpenSettingsButton();
92
94
  await settingsPage.clickLogoutButton();
93
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, 1000);
95
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, 1000);
94
96
  });
95
97
  await _8_8_1.test.step('Admin Enables RBA', async () => {
96
98
  await (0, UtilitiesPage_1.enableAuthorizations)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
@@ -214,7 +216,7 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
214
216
  await appsPage.clickConsoleLink();
215
217
  await settingsPage.clickOpenSettingsButton();
216
218
  await settingsPage.clickLogoutButton();
217
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, 1000);
219
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, 1000);
218
220
  });
219
221
  await _8_8_1.test.step('Admin Enables RBA', async () => {
220
222
  await (0, UtilitiesPage_1.enableAuthorizations)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
@@ -9,6 +9,8 @@ const resetSession_1 = require("../../utils/resetSession");
9
9
  const roleAuthorizations_1 = require("../../utils/roleAuthorizations");
10
10
  const expectTextWithRetry_1 = require("../../utils/assertionHelpers/expectTextWithRetry");
11
11
  const expectTextWithPagination_1 = require("../../utils/assertionHelpers/expectTextWithPagination");
12
+ const users_1 = require("../../utils/users");
13
+ const mainUser = (0, users_1.getTestUser)('twentySixthUser');
12
14
  _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
13
15
  const clusterNames = {
14
16
  'RBA On User Flow - No User Permission': 'First RBA V2 Cluster',
@@ -17,7 +19,7 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
17
19
  'RBA On User Flow - Permission for Selected Processes Only': 'Fourth RBA V2 Cluster',
18
20
  };
19
21
  _8_8_1.test.beforeEach(async ({ page, homePage, clusterPage, loginPage, clusterDetailsPage, appsPage }, testInfo) => {
20
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
22
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, (testInfo.workerIndex + 1) * 1000);
21
23
  await (0, test_1.expect)(homePage.clusterTab).toBeVisible({ timeout: 120000 });
22
24
  await homePage.clickClusters();
23
25
  const clusterName = clusterNames[testInfo.title];
@@ -92,7 +94,7 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
92
94
  await appsPage.clickConsoleLink();
93
95
  await settingsPage.clickOpenSettingsButton();
94
96
  await settingsPage.clickLogoutButton();
95
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, 1000);
97
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, 1000);
96
98
  });
97
99
  await _8_8_1.test.step('Admin Enables RBA', async () => {
98
100
  await (0, UtilitiesPage_1.enableAuthorizations)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
@@ -196,7 +198,7 @@ _8_8_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
196
198
  await appsPage.clickConsoleLink();
197
199
  await settingsPage.clickOpenSettingsButton();
198
200
  await settingsPage.clickLogoutButton();
199
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, 1000);
201
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, 1000);
200
202
  });
201
203
  await _8_8_1.test.step('Admin Enables RBA', async () => {
202
204
  await (0, UtilitiesPage_1.enableAuthorizations)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
@@ -14,11 +14,13 @@ const OptimizeHomePage_1 = require("../../pages/8.8/OptimizeHomePage");
14
14
  const OptimizeCollectionsPage_1 = require("../../pages/8.8/OptimizeCollectionsPage");
15
15
  const OptimizeReportPage_1 = require("../../pages/8.8/OptimizeReportPage");
16
16
  const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
17
+ const users_1 = require("../../utils/users");
18
+ const testUser = (0, users_1.getTestUser)('thirteenthUser');
17
19
  _8_8_1.test.describe.configure({ mode: 'parallel' });
18
20
  _8_8_1.test.describe('Smoke Tests', () => {
19
21
  const clusterName = 'Test Cluster';
20
22
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
21
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
23
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
22
24
  });
23
25
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
24
26
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -5,20 +5,19 @@ const _8_8_1 = require("../../fixtures/8.8");
5
5
  const _setup_1 = require("../../test-setup.js");
6
6
  const sleep_1 = require("../../utils/sleep");
7
7
  const connectorSecrets_1 = require("../../utils/connectorSecrets");
8
+ const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
9
+ const users_1 = require("../../utils/users");
8
10
  _8_8_1.test.describe.configure({ mode: 'parallel' });
9
11
  _8_8_1.test.describe('Cluster Setup Tests', () => {
10
- _8_8_1.test.beforeEach(async ({ page, loginPage }) => {
11
- await page.goto('/');
12
- await loginPage.login();
13
- });
14
12
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
15
13
  await (0, _setup_1.captureScreenshot)(page, testInfo);
16
14
  await (0, _setup_1.captureFailureVideo)(page, testInfo);
17
15
  });
18
- (0, _8_8_1.test)('Enable Alpha Features', async ({ page, homePage, consoleOrganizationsPage, }) => {
16
+ (0, _8_8_1.test)('Enable Alpha Features', async ({ page, homePage, loginPage, consoleOrganizationsPage, }, testInfo) => {
19
17
  if (process.env.IS_PROD === 'true') {
20
18
  _8_8_1.test.skip(true, 'Skipping test because not required on PROD test org');
21
19
  }
20
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, users_1.testUsers.mainUser, (testInfo.workerIndex + 1) * 1000);
22
21
  await homePage.clickOrganization();
23
22
  await (0, test_1.expect)(consoleOrganizationsPage.settingsTab).toBeVisible({
24
23
  timeout: 60000,
@@ -30,53 +29,66 @@ _8_8_1.test.describe('Cluster Setup Tests', () => {
30
29
  await consoleOrganizationsPage.clickSettingsTab();
31
30
  await consoleOrganizationsPage.enableAlphaFeature('AI-powered features');
32
31
  });
33
- (0, _8_8_1.test)('Create Default Cluster', async ({ homePage, clusterPage, clusterDetailsPage, clusterSecretsPage, }) => {
32
+ (0, _8_8_1.test)('Create Default Cluster', async ({ page, loginPage, homePage, clusterPage, clusterDetailsPage, clusterSecretsPage, }, testInfo) => {
34
33
  _8_8_1.test.slow();
35
34
  const clusterName = 'Test Cluster';
36
35
  const apiClientName = 'Test_API_Client' + (await (0, _setup_1.generateRandomStringAsync)(3));
36
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, users_1.testUsers.mainUser, (testInfo.workerIndex + 1) * 1000);
37
37
  await homePage.clickClusters();
38
38
  await clusterPage.createCluster(clusterName);
39
39
  await clusterPage.assertClusterHealthyStatusWithRetry(clusterName);
40
40
  await clusterPage.clickClusterLink(clusterName);
41
41
  await clusterDetailsPage.assertComponentsHealth();
42
- await clusterDetailsPage.clickAPITab();
43
- await clusterDetailsPage.createAPIClientAndReturnVariables(apiClientName);
44
- await clusterDetailsPage.clickCloseModalButton();
45
- await clusterPage.clickConnectorSecretsTab(clusterName);
46
- await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.awsSecretsValues);
47
- await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.openAiSecretsValues);
48
- await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.gcpSecretsValues);
49
- await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.azureSecretsValues);
50
- await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.connectorSecretsValues);
42
+ if (process.env.IS_AG !== 'true') {
43
+ await clusterDetailsPage.clickAPITab();
44
+ await clusterDetailsPage.createAPIClientAndReturnVariables(apiClientName);
45
+ await clusterDetailsPage.clickCloseModalButton();
46
+ await clusterPage.clickConnectorSecretsTab(clusterName);
47
+ await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.awsSecretsValues);
48
+ await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.openAiSecretsValues);
49
+ await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.gcpSecretsValues);
50
+ await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.azureSecretsValues);
51
+ await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.connectorSecretsValues);
52
+ }
51
53
  });
52
- (0, _8_8_1.test)('Create AWS Cluster', async ({ homePage, clusterPage, clusterDetailsPage, clusterSecretsPage, }) => {
54
+ (0, _8_8_1.test)('Create AWS Cluster', async ({ page, loginPage, homePage, clusterPage, clusterDetailsPage, clusterSecretsPage, }, testInfo) => {
55
+ if (process.env.IS_AG === 'true') {
56
+ _8_8_1.test.skip(true, 'Skipping test because test not required in this test environment');
57
+ }
58
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, users_1.testUsers.mainUser, (testInfo.workerIndex + 1) * 1000);
53
59
  _8_8_1.test.slow();
54
60
  const clusterName = 'AWS Cluster';
55
61
  await homePage.clickClusters();
56
62
  await clusterPage.createCluster(clusterName, 'AWS');
57
- await clusterPage.assertClusterHealthyStatusWithRetry(clusterName);
63
+ await clusterPage.assertClusterHealthyStatusWithRetry(clusterName, 300000);
58
64
  await clusterPage.clickClusterLink(clusterName);
59
65
  await clusterDetailsPage.assertComponentsHealth();
60
66
  await clusterPage.clickConnectorSecretsTab(clusterName);
61
67
  await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.connectorSecretsValues);
62
68
  });
63
- (0, _8_8_1.test)('Create Project Folder', async ({ homePage, appsPage, modelerHomePage, }) => {
64
- await _8_8_1.test.step('Navigate to Web Modeler', async () => {
65
- await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
66
- timeout: 120000,
69
+ for (const [index, user] of (0, users_1.getTestUsers)().entries()) {
70
+ (0, _8_8_1.test)(`Create Project Folder for User ${index + 1}`, async ({ page, loginPage, homePage, appsPage, modelerHomePage, }, testInfo) => {
71
+ await _8_8_1.test.step('Log in', async () => {
72
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, user, (testInfo.workerIndex + 1) * 1000);
67
73
  });
68
- await appsPage.clickCamundaApps();
69
- await appsPage.clickModeler();
70
- await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
71
- timeout: 180000,
74
+ await _8_8_1.test.step('Navigate to Web Modeler', async () => {
75
+ await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
76
+ timeout: 120000,
77
+ });
78
+ await appsPage.clickCamundaApps();
79
+ await appsPage.clickModeler();
80
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
81
+ timeout: 180000,
82
+ });
72
83
  });
73
- });
74
- await _8_8_1.test.step('Create Cross Component Project Folder', async () => {
75
- await modelerHomePage.createCrossComponentProjectFolder();
76
- await modelerHomePage.clickHomeBreadcrumb();
77
- await (0, test_1.expect)(modelerHomePage.crossComponentProjectFolder).toBeVisible({
78
- timeout: 60000,
84
+ await _8_8_1.test.step('Create Cross Component Project Folder', async () => {
85
+ await homePage.clickSkipCustomization();
86
+ await modelerHomePage.createCrossComponentProjectFolder();
87
+ await modelerHomePage.clickHomeBreadcrumb();
88
+ await (0, test_1.expect)(modelerHomePage.crossComponentProjectFolder).toBeVisible({
89
+ timeout: 60000,
90
+ });
79
91
  });
80
92
  });
81
- });
93
+ }
82
94
  });
@@ -8,10 +8,12 @@ const sleep_1 = require("../../utils/sleep");
8
8
  const resetSession_1 = require("../../utils/resetSession");
9
9
  const LoginPage_1 = require("../../pages/8.8/LoginPage");
10
10
  const expectTextWithRetry_1 = require("../../utils/assertionHelpers/expectTextWithRetry");
11
+ const users_1 = require("../../utils/users");
12
+ const mainUser = (0, users_1.getTestUser)('twelfthUser');
11
13
  _8_8_1.test.describe.parallel('UTR Enabled User Flows Test @tasklistV1', () => {
12
14
  const clusterName = 'Test Cluster';
13
15
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
14
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
16
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, (testInfo.workerIndex + 1) * 1000);
15
17
  });
16
18
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
17
19
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -24,7 +26,6 @@ _8_8_1.test.describe.parallel('UTR Enabled User Flows Test @tasklistV1', () => {
24
26
  const taskName1 = 'candidateUserTask' + randomName + '1';
25
27
  const taskName2 = 'candidateUserTask' + randomName + '2';
26
28
  const taskName3 = 'candidateUserTask' + randomName + '3';
27
- const adminUser = process.env.C8_USERNAME;
28
29
  const testUser = {
29
30
  username: process.env.C8_USERNAME_TEST_2,
30
31
  password: process.env.C8_PASSWORD_TEST_2,
@@ -43,10 +44,10 @@ _8_8_1.test.describe.parallel('UTR Enabled User Flows Test @tasklistV1', () => {
43
44
  await (0, UtilitiesPage_1.modelDiagramFromFile)(page, modelerHomePage, modelerCreatePage, processName, 'Candidate_User_Process_Three_Tasks', 3, 'candidateUserTask' + randomName);
44
45
  });
45
46
  await _8_8_1.test.step('Assign First Task to Test User as Candidate and Admin as Assignee', async () => {
46
- await modelerCreatePage.assignToCandidateUser(taskName1, testUser.username, adminUser);
47
+ await modelerCreatePage.assignToCandidateUser(taskName1, testUser.username, mainUser.username);
47
48
  });
48
49
  await _8_8_1.test.step('Assign Second Task to Admin as Candidate', async () => {
49
- await modelerCreatePage.assignToCandidateUser(taskName2, adminUser);
50
+ await modelerCreatePage.assignToCandidateUser(taskName2, mainUser.username);
50
51
  });
51
52
  await _8_8_1.test.step('Assign Third Task to Test User as Candidate', async () => {
52
53
  await modelerCreatePage.assignToCandidateUser(taskName3, testUser.username);
@@ -89,7 +90,6 @@ _8_8_1.test.describe.parallel('UTR Enabled User Flows Test @tasklistV1', () => {
89
90
  const groupNameMultiple = await (0, _setup_1.generateRandomStringAsync)(4);
90
91
  const taskName1 = 'candidateGroupTask' + randomName + '1';
91
92
  const taskName2 = 'candidateGroupTask' + randomName + '2';
92
- const adminUser = process.env.C8_USERNAME;
93
93
  const testUser1 = {
94
94
  username: process.env.C8_USERNAME_TEST,
95
95
  password: process.env.C8_PASSWORD_TEST,
@@ -110,7 +110,7 @@ _8_8_1.test.describe.parallel('UTR Enabled User Flows Test @tasklistV1', () => {
110
110
  await _8_8_1.test.step('Assign Users to the Created Groups in Identity', async () => {
111
111
  await ocIdentityHomePage.clickGroupsTab();
112
112
  await ocIdentityGroupsPage.clickGroupId(groupNameSingle);
113
- await ocIdentityGroupsPage.assignUserToGroup(adminUser);
113
+ await ocIdentityGroupsPage.assignUserToGroup(mainUser.username);
114
114
  await ocIdentityHomePage.clickGroupsTab();
115
115
  await ocIdentityGroupsPage.clickGroupId(groupNameMultiple);
116
116
  await ocIdentityGroupsPage.assignUserToGroup(testUser1.username);
@@ -13,6 +13,8 @@ const sleep_1 = require("../../utils/sleep");
13
13
  const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
14
14
  const resetSession_1 = require("../../utils/resetSession");
15
15
  const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
16
+ const users_1 = require("../../utils/users");
17
+ const testUser = (0, users_1.getTestUser)('eleventhUser');
16
18
  _8_8_1.test.describe.configure({ mode: 'parallel' });
17
19
  _8_8_1.test.describe('Web Modeler User Flow Tests', () => {
18
20
  const clusterName = 'Test Cluster';
@@ -21,7 +23,7 @@ _8_8_1.test.describe('Web Modeler User Flow Tests', () => {
21
23
  'Invite Existing C8 member to Web Modeler flow @tasklistV2': '',
22
24
  };
23
25
  _8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
24
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
26
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
25
27
  });
26
28
  _8_8_1.test.afterEach(async ({ page }, testInfo) => {
27
29
  await (0, _setup_1.captureScreenshot)(page, testInfo);
@@ -466,7 +468,7 @@ _8_8_1.test.describe('Web Modeler User Flow Tests', () => {
466
468
  });
467
469
  });
468
470
  await _8_8_1.test.step('Login to Tasklist and Check User Task Has the Correct Input Values and Can Be Completed', async () => {
469
- await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, 5000);
471
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, 5000);
470
472
  await appsPage.clickCamundaApps();
471
473
  await appsPage.clickTasklist(clusterName);
472
474
  await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, taskPanelPage.taskListPageBanner, 'Tasklist banner');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.152",
3
+ "version": "0.0.154",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",