@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.
- package/dist/pages/8.7/ConsoleOrganizationPage.d.ts +1 -1
- package/dist/pages/8.7/ConsoleOrganizationPage.js +6 -3
- package/dist/pages/8.7/FormJsPage.js +1 -1
- package/dist/pages/8.7/OptimizeDashboardPage.d.ts +1 -1
- package/dist/pages/8.7/OptimizeDashboardPage.js +8 -5
- package/dist/pages/8.7/SignUpPage.d.ts +1 -1
- package/dist/pages/8.7/SignUpPage.js +2 -2
- package/dist/pages/8.7/TaskDetailsPage.js +2 -0
- package/dist/pages/8.7/UtilitiesPage.d.ts +4 -1
- package/dist/pages/8.7/UtilitiesPage.js +2 -2
- package/dist/pages/8.8/FormJsPage.js +1 -1
- package/dist/pages/8.8/HomePage.js +5 -2
- package/dist/pages/8.8/UtilitiesPage.d.ts +4 -1
- package/dist/pages/8.8/UtilitiesPage.js +2 -2
- package/dist/tests/8.7/aws-cluster-user-flows.spec.js +3 -1
- package/dist/tests/8.7/connectors-user-flows.spec.js +3 -1
- package/dist/tests/8.7/console-user-flows.spec.js +3 -1
- package/dist/tests/8.7/hto-user-flows.spec.js +7 -6
- package/dist/tests/8.7/idp-user-flows.spec.js +3 -1
- package/dist/tests/8.7/navigation.spec.js +3 -1
- package/dist/tests/8.7/optimize-user-flows.spec.js +4 -2
- package/dist/tests/8.7/play.spec.js +3 -1
- package/dist/tests/8.7/rba-enabled-user-flows.spec.js +7 -4
- package/dist/tests/8.7/smoke-tests.spec.js +3 -1
- package/dist/tests/8.7/test-setup.spec.js +28 -21
- package/dist/tests/8.7/web-modeler-user-flows.spec.js +16 -10
- package/dist/tests/8.8/access-user-role-management.spec.js +3 -1
- package/dist/tests/8.8/agentic-ai-user-flows.spec.js +3 -1
- package/dist/tests/8.8/aws-cluster-user-flows.spec.js +3 -1
- package/dist/tests/8.8/connectors-user-flows.spec.js +3 -1
- package/dist/tests/8.8/console-user-flows.spec.js +4 -2
- package/dist/tests/8.8/hto-user-flows.spec.js +3 -1
- package/dist/tests/8.8/idp-user-flows.spec.js +3 -1
- package/dist/tests/8.8/navigation.spec.js +3 -1
- package/dist/tests/8.8/optimize-user-flows.spec.js +3 -1
- package/dist/tests/8.8/play.spec.js +3 -1
- package/dist/tests/8.8/rba-enabled-v1-user-flows.spec.js +5 -3
- package/dist/tests/8.8/rba-enabled-v2-user-flows.spec.js +5 -3
- package/dist/tests/8.8/smoke-tests.spec.js +3 -1
- package/dist/tests/8.8/test-setup.spec.js +44 -32
- package/dist/tests/8.8/utr-enabled-user-flows.spec.js +6 -6
- package/dist/tests/8.8/web-modeler-user-flows.spec.js +4 -2
- 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
|
|
313
|
-
|
|
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.
|
|
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\
|
|
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(
|
|
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,
|
|
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.
|
|
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:
|
|
80
|
+
timeout: 20000,
|
|
78
81
|
});
|
|
79
|
-
await this.buttonSkipCustomization.click(
|
|
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,
|
|
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(
|
|
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(
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
await (
|
|
53
|
-
|
|
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
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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:
|
|
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:
|
|
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(
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
await (
|
|
66
|
-
|
|
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
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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,
|
|
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,
|
|
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(
|
|
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');
|