@camunda/e2e-test-suite 0.0.745 → 0.0.746
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/fixtures/SM-8.10.d.ts +0 -4
- package/dist/fixtures/SM-8.10.js +0 -8
- package/dist/pages/SM-8.10/ClusterDetailsPage.js +3 -4
- package/dist/pages/SM-8.10/ClusterPage.js +3 -5
- package/dist/pages/SM-8.10/KeycloakUtils.js +0 -1
- package/dist/pages/SM-8.10/ManagementIdentityPage.d.ts +0 -2
- package/dist/pages/SM-8.10/ManagementIdentityPage.js +0 -7
- package/dist/pages/SM-8.10/NavigationPage.d.ts +1 -2
- package/dist/pages/SM-8.10/NavigationPage.js +2 -7
- package/dist/tests/SM-8.10/cluster-management-user-flows.spec.js +41 -0
- package/dist/tests/SM-8.10/identity-user-flows.spec.js +2 -22
- package/dist/tests/SM-8.10/license-key-user-flows.spec.js +11 -77
- package/dist/tests/SM-8.10/migration-path-user-flows.spec.js +0 -3
- package/dist/tests/SM-8.10/smoke-tests.spec.js +0 -4
- package/package.json +1 -1
- package/dist/pages/SM-8.10/ConsoleHomePage.d.ts +0 -11
- package/dist/pages/SM-8.10/ConsoleHomePage.js +0 -31
- package/dist/pages/SM-8.10/ConsoleOrganizationPage.d.ts +0 -22
- package/dist/pages/SM-8.10/ConsoleOrganizationPage.js +0 -68
- package/dist/tests/SM-8.10/console-user-flows.spec.js +0 -88
- /package/dist/tests/SM-8.10/{console-user-flows.spec.d.ts → cluster-management-user-flows.spec.d.ts} +0 -0
|
@@ -14,14 +14,12 @@ import { OptimizeCollectionsPage } from '../pages/SM-8.10/OptimizeCollectionsPag
|
|
|
14
14
|
import { OptimizeHomePage } from '../pages/SM-8.10/OptimizeHomePage';
|
|
15
15
|
import { FormJsPage } from '../pages/SM-8.10/FormJsPage';
|
|
16
16
|
import { OptimizeReportPage } from '../pages/SM-8.10/OptimizeReportPage';
|
|
17
|
-
import { ConsoleOrganizationPage } from '../pages/SM-8.10/ConsoleOrganizationPage';
|
|
18
17
|
import { SettingsPage } from '../pages/SM-8.10/SettingsPage';
|
|
19
18
|
import { ConnectorSettingsPage } from '../pages/SM-8.10/ConnectorSettingsPage';
|
|
20
19
|
import { ConnectorMarketplacePage } from '../pages/SM-8.10/ConnectorMarketplacePage';
|
|
21
20
|
import { OCIdentityHomePage } from '../pages/SM-8.10/OCIdentityHomePage';
|
|
22
21
|
import { OCIdentityMappingRulesPage } from '../pages/SM-8.10/OCIdentityMappingRulesPage';
|
|
23
22
|
import { OCIdentityClusterVariablesPage } from '../pages/SM-8.10/OCIdentityClusterVariablesPage';
|
|
24
|
-
import { ConsoleHomePage } from '../pages/SM-8.10/ConsoleHomePage';
|
|
25
23
|
import { OptimizeDashboardPage } from '../pages/SM-8.10/OptimizeDashboardPage';
|
|
26
24
|
import { TaskProcessesPage } from '../pages/SM-8.10/TaskProcessesPage';
|
|
27
25
|
import { IdentityUsersPage } from '../pages/SM-8.10/IdentityUsersPage';
|
|
@@ -53,14 +51,12 @@ type PlaywrightFixtures = {
|
|
|
53
51
|
optimizeHomePage: OptimizeHomePage;
|
|
54
52
|
formJsPage: FormJsPage;
|
|
55
53
|
optimizeReportPage: OptimizeReportPage;
|
|
56
|
-
consoleOrganizationsPage: ConsoleOrganizationPage;
|
|
57
54
|
settingsPage: SettingsPage;
|
|
58
55
|
connectorSettingsPage: ConnectorSettingsPage;
|
|
59
56
|
connectorMarketplacePage: ConnectorMarketplacePage;
|
|
60
57
|
ocIdentityHomePage: OCIdentityHomePage;
|
|
61
58
|
ocIdentityMappingRulesPage: OCIdentityMappingRulesPage;
|
|
62
59
|
ocIdentityClusterVariablesPage: OCIdentityClusterVariablesPage;
|
|
63
|
-
consoleHomePage: ConsoleHomePage;
|
|
64
60
|
optimizeDashboardPage: OptimizeDashboardPage;
|
|
65
61
|
taskProcessesPage: TaskProcessesPage;
|
|
66
62
|
identityUsersPage: IdentityUsersPage;
|
package/dist/fixtures/SM-8.10.js
CHANGED
|
@@ -21,14 +21,12 @@ const OptimizeCollectionsPage_1 = require("../pages/SM-8.10/OptimizeCollectionsP
|
|
|
21
21
|
const OptimizeHomePage_1 = require("../pages/SM-8.10/OptimizeHomePage");
|
|
22
22
|
const FormJsPage_1 = require("../pages/SM-8.10/FormJsPage");
|
|
23
23
|
const OptimizeReportPage_1 = require("../pages/SM-8.10/OptimizeReportPage");
|
|
24
|
-
const ConsoleOrganizationPage_1 = require("../pages/SM-8.10/ConsoleOrganizationPage");
|
|
25
24
|
const SettingsPage_1 = require("../pages/SM-8.10/SettingsPage");
|
|
26
25
|
const ConnectorSettingsPage_1 = require("../pages/SM-8.10/ConnectorSettingsPage");
|
|
27
26
|
const ConnectorMarketplacePage_1 = require("../pages/SM-8.10/ConnectorMarketplacePage");
|
|
28
27
|
const OCIdentityHomePage_1 = require("../pages/SM-8.10/OCIdentityHomePage");
|
|
29
28
|
const OCIdentityMappingRulesPage_1 = require("../pages/SM-8.10/OCIdentityMappingRulesPage");
|
|
30
29
|
const OCIdentityClusterVariablesPage_1 = require("../pages/SM-8.10/OCIdentityClusterVariablesPage");
|
|
31
|
-
const ConsoleHomePage_1 = require("../pages/SM-8.10/ConsoleHomePage");
|
|
32
30
|
const OptimizeDashboardPage_1 = require("../pages/SM-8.10/OptimizeDashboardPage");
|
|
33
31
|
const TaskProcessesPage_1 = require("../pages/SM-8.10/TaskProcessesPage");
|
|
34
32
|
const IdentityUsersPage_1 = require("../pages/SM-8.10/IdentityUsersPage");
|
|
@@ -108,9 +106,6 @@ const test = test_1.test.extend({
|
|
|
108
106
|
optimizeReportPage: async ({ page }, use) => {
|
|
109
107
|
await use(new OptimizeReportPage_1.OptimizeReportPage(page));
|
|
110
108
|
},
|
|
111
|
-
consoleOrganizationsPage: async ({ page }, use) => {
|
|
112
|
-
await use(new ConsoleOrganizationPage_1.ConsoleOrganizationPage(page));
|
|
113
|
-
},
|
|
114
109
|
settingsPage: async ({ page }, use) => {
|
|
115
110
|
await use(new SettingsPage_1.SettingsPage(page));
|
|
116
111
|
},
|
|
@@ -138,9 +133,6 @@ const test = test_1.test.extend({
|
|
|
138
133
|
ocIdentityAuthorizationsPage: async ({ page }, use) => {
|
|
139
134
|
await use(new OCIdentityAuthorizationsPage_1.OCIdentityAuthorizationsPage(page));
|
|
140
135
|
},
|
|
141
|
-
consoleHomePage: async ({ page }, use) => {
|
|
142
|
-
await use(new ConsoleHomePage_1.ConsoleHomePage(page));
|
|
143
|
-
},
|
|
144
136
|
optimizeDashboardPage: async ({ page }, use) => {
|
|
145
137
|
await use(new OptimizeDashboardPage_1.OptimizeDashboardPage(page));
|
|
146
138
|
},
|
|
@@ -16,11 +16,10 @@ class ClusterDetailsPage {
|
|
|
16
16
|
timeout: 60000,
|
|
17
17
|
});
|
|
18
18
|
await this.page
|
|
19
|
-
.getByRole('row'
|
|
19
|
+
.getByRole('row')
|
|
20
|
+
.filter({ hasText: linkTitle })
|
|
20
21
|
.getByRole('link', { name: linkName })
|
|
21
|
-
.click({
|
|
22
|
-
timeout: 60000,
|
|
23
|
-
});
|
|
22
|
+
.click({ timeout: 60000 });
|
|
24
23
|
const camundaPage = await pageTabPromise;
|
|
25
24
|
await (0, test_1.expect)(camundaPage).toHaveURL(link);
|
|
26
25
|
}
|
|
@@ -5,13 +5,11 @@ const test_1 = require("@playwright/test");
|
|
|
5
5
|
class ClusterPage {
|
|
6
6
|
page;
|
|
7
7
|
clustersList;
|
|
8
|
-
defaultClusterName = process.env.CLUSTER_NAME || 'integration';
|
|
8
|
+
defaultClusterName = process.env.CLUSTER_NAME || 'integration-zeebe';
|
|
9
9
|
cluster;
|
|
10
10
|
constructor(page) {
|
|
11
11
|
this.page = page;
|
|
12
|
-
this.clustersList = page
|
|
13
|
-
.getByRole('row')
|
|
14
|
-
.filter({ hasNotText: 'Generation' }); //Filter out header row
|
|
12
|
+
this.clustersList = page.locator('tbody').getByRole('row');
|
|
15
13
|
this.cluster = this.clustersList.getByText(this.defaultClusterName).first();
|
|
16
14
|
}
|
|
17
15
|
async clickClusterLink() {
|
|
@@ -28,7 +26,7 @@ class ClusterPage {
|
|
|
28
26
|
// retry, costing ~24 min total. The toBeVisible auto-waits below
|
|
29
27
|
// already cover the readiness window we actually need.
|
|
30
28
|
for (const tag of tags) {
|
|
31
|
-
await (0, test_1.expect)(this.
|
|
29
|
+
await (0, test_1.expect)(this.page.getByText(tag, { exact: true }).first()).toBeVisible({
|
|
32
30
|
timeout: 60000,
|
|
33
31
|
});
|
|
34
32
|
}
|
|
@@ -59,7 +59,6 @@ const createIdentityUser = async (navigationPage, managementIdentity, username)
|
|
|
59
59
|
await managementIdentity.clickOptimizeCheckbox();
|
|
60
60
|
}
|
|
61
61
|
await managementIdentity.clickModelerCheckbox();
|
|
62
|
-
await managementIdentity.clickConsoleCheckbox();
|
|
63
62
|
await managementIdentity.clickIdentityCheckbox();
|
|
64
63
|
await managementIdentity.clickOrchestrationCheckbox();
|
|
65
64
|
await managementIdentity.clickAddButton();
|
|
@@ -10,7 +10,6 @@ declare class ManagementIdentityPage {
|
|
|
10
10
|
readonly addButton: Locator;
|
|
11
11
|
readonly optimizeCheckbox: Locator;
|
|
12
12
|
readonly modelerCheckbox: Locator;
|
|
13
|
-
readonly consoleCheckbox: Locator;
|
|
14
13
|
readonly deleteButton: Locator;
|
|
15
14
|
readonly deleteSubButton: Locator;
|
|
16
15
|
readonly tenantTab: Locator;
|
|
@@ -34,7 +33,6 @@ declare class ManagementIdentityPage {
|
|
|
34
33
|
clickAddButton(): Promise<void>;
|
|
35
34
|
clickOptimizeCheckbox(): Promise<void>;
|
|
36
35
|
clickModelerCheckbox(): Promise<void>;
|
|
37
|
-
clickConsoleCheckbox(): Promise<void>;
|
|
38
36
|
clickIdentityCheckbox(): Promise<void>;
|
|
39
37
|
clickModelerAdminCheckbox(): Promise<void>;
|
|
40
38
|
clickUserGroup(name: string): Promise<void>;
|
|
@@ -13,7 +13,6 @@ class ManagementIdentityPage {
|
|
|
13
13
|
addButton;
|
|
14
14
|
optimizeCheckbox;
|
|
15
15
|
modelerCheckbox;
|
|
16
|
-
consoleCheckbox;
|
|
17
16
|
deleteButton;
|
|
18
17
|
deleteSubButton;
|
|
19
18
|
tenantTab;
|
|
@@ -50,9 +49,6 @@ class ManagementIdentityPage {
|
|
|
50
49
|
this.modelerCheckbox = page
|
|
51
50
|
.locator('label')
|
|
52
51
|
.filter({ hasText: 'Web Modeler (Grants full access to Web Modeler)' });
|
|
53
|
-
this.consoleCheckbox = page
|
|
54
|
-
.locator('label')
|
|
55
|
-
.filter({ hasText: 'Console (Grants full access to Console)' });
|
|
56
52
|
this.identityCheckbox = page.locator('label').filter({
|
|
57
53
|
hasText: 'ManagementIdentity (Provides full access to Management Identity)',
|
|
58
54
|
});
|
|
@@ -129,9 +125,6 @@ class ManagementIdentityPage {
|
|
|
129
125
|
async clickModelerCheckbox() {
|
|
130
126
|
await this.modelerCheckbox.click();
|
|
131
127
|
}
|
|
132
|
-
async clickConsoleCheckbox() {
|
|
133
|
-
await this.consoleCheckbox.click();
|
|
134
|
-
}
|
|
135
128
|
async clickIdentityCheckbox() {
|
|
136
129
|
await this.identityCheckbox.click();
|
|
137
130
|
}
|
|
@@ -6,7 +6,6 @@ declare class NavigationPage {
|
|
|
6
6
|
readonly tasklistPageBanner: Locator;
|
|
7
7
|
readonly optimizePageBanner: Locator;
|
|
8
8
|
readonly identityPageBanner: Locator;
|
|
9
|
-
readonly consolePageBanner: Locator;
|
|
10
9
|
readonly keyboardPageBanner: Locator;
|
|
11
10
|
readonly managementIdentityPageBanner: Locator;
|
|
12
11
|
constructor(page: Page);
|
|
@@ -36,7 +35,7 @@ declare class NavigationPage {
|
|
|
36
35
|
username: string;
|
|
37
36
|
password: string;
|
|
38
37
|
}): Promise<void>;
|
|
39
|
-
|
|
38
|
+
goToClusters(sleepTimeout?: number, credentials?: {
|
|
40
39
|
username: string;
|
|
41
40
|
password: string;
|
|
42
41
|
}): Promise<void>;
|
|
@@ -12,7 +12,6 @@ const NORMALIZED_ORCHESTRATION_CONTEXT_PATH = ORCHESTRATION_CONTEXT_PATH.startsW
|
|
|
12
12
|
: `/${ORCHESTRATION_CONTEXT_PATH}`;
|
|
13
13
|
const MODELER_CONTEXT_PATH = process.env.MODELER_CONTEXT_PATH ?? '/modeler';
|
|
14
14
|
const OPTIMIZE_CONTEXT_PATH = process.env.OPTIMIZE_CONTEXT_PATH ?? '/optimize';
|
|
15
|
-
const CONSOLE_CONTEXT_PATH = process.env.CONSOLE_CONTEXT_PATH ?? '/console';
|
|
16
15
|
const MANAGEMENT_IDENTITY_CONTEXT_PATH = process.env.MANAGEMENT_IDENTITY_CONTEXT_PATH ?? '/identity';
|
|
17
16
|
const IDENTITY_FIRSTUSER_USERNAME = process.env.DISTRO_QA_E2E_TESTS_IDENTITY_FIRSTUSER_USERNAME || 'demo';
|
|
18
17
|
const IDENTITY_FIRSTUSER_PASSWORD = process.env.DISTRO_QA_E2E_TESTS_IDENTITY_FIRSTUSER_PASSWORD || 'demo';
|
|
@@ -23,7 +22,6 @@ class NavigationPage {
|
|
|
23
22
|
tasklistPageBanner;
|
|
24
23
|
optimizePageBanner;
|
|
25
24
|
identityPageBanner;
|
|
26
|
-
consolePageBanner;
|
|
27
25
|
keyboardPageBanner;
|
|
28
26
|
managementIdentityPageBanner;
|
|
29
27
|
constructor(page) {
|
|
@@ -45,9 +43,6 @@ class NavigationPage {
|
|
|
45
43
|
.locator('a')
|
|
46
44
|
.filter({ hasText: /^Camunda logo\s*(Identity|Admin)$/ })
|
|
47
45
|
.first();
|
|
48
|
-
this.consolePageBanner = page.getByRole('link', {
|
|
49
|
-
name: 'Camunda logo Console',
|
|
50
|
-
});
|
|
51
46
|
this.managementIdentityPageBanner = page
|
|
52
47
|
.locator('a')
|
|
53
48
|
.filter({ hasText: /^Camunda logo\s*Management Identity$/ })
|
|
@@ -183,8 +178,8 @@ class NavigationPage {
|
|
|
183
178
|
async goToOCAdmin(sleepTimeout, credentials) {
|
|
184
179
|
await this.goTo(`${NORMALIZED_ORCHESTRATION_CONTEXT_PATH}/admin`, this.identityPageBanner, sleepTimeout, credentials, env_1.isOpenSearch ? 10 : 5);
|
|
185
180
|
}
|
|
186
|
-
async
|
|
187
|
-
await this.goTo(
|
|
181
|
+
async goToClusters(sleepTimeout, credentials) {
|
|
182
|
+
await this.goTo(`${MODELER_CONTEXT_PATH}/clusters`, this.modelerPageBanner, sleepTimeout, credentials);
|
|
188
183
|
}
|
|
189
184
|
async goToManagementIdentity(sleepTimeout, credentials) {
|
|
190
185
|
await this.goTo(MANAGEMENT_IDENTITY_CONTEXT_PATH, this.managementIdentityPageBanner, sleepTimeout, credentials);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const SM_8_10_1 = require("../../fixtures/SM-8.10");
|
|
4
|
+
const _setup_1 = require("../../test-setup.js");
|
|
5
|
+
const test_1 = require("@playwright/test");
|
|
6
|
+
SM_8_10_1.test.describe.configure({ mode: 'parallel' });
|
|
7
|
+
SM_8_10_1.test.describe('Cluster Management User Flow Tests', () => {
|
|
8
|
+
const defaultTags = ['dev', 'custom', 'stage', 'prod', 'test'];
|
|
9
|
+
const customPropertyDescription = 'This is the main integration environment for the Camunda Platform.';
|
|
10
|
+
SM_8_10_1.test.beforeEach(async ({ navigationPage }, testInfo) => {
|
|
11
|
+
await navigationPage.goToClusters((testInfo.workerIndex + 1) * 1000);
|
|
12
|
+
});
|
|
13
|
+
SM_8_10_1.test.afterEach(async ({ page }, testInfo) => {
|
|
14
|
+
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
15
|
+
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
16
|
+
});
|
|
17
|
+
(0, SM_8_10_1.test)('Custom Tags', async ({ clusterPage }) => {
|
|
18
|
+
await SM_8_10_1.test.step('Ensure Custom Tags Appear in Cluster List', async () => {
|
|
19
|
+
await clusterPage.assertCustomTagsAreVisible(defaultTags);
|
|
20
|
+
});
|
|
21
|
+
await SM_8_10_1.test.step('Ensure Custom Tags Appear in Cluster Details', async () => {
|
|
22
|
+
await clusterPage.clickClusterLink();
|
|
23
|
+
await clusterPage.assertCustomTagsAreVisible(defaultTags);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
(0, SM_8_10_1.test)('Custom Properties', async ({ clusterPage, clusterDetailsPage, page }) => {
|
|
27
|
+
await SM_8_10_1.test.step('Navigate to Cluster Details', async () => {
|
|
28
|
+
await clusterPage.clickClusterLink();
|
|
29
|
+
});
|
|
30
|
+
await SM_8_10_1.test.step('Ensure Custom Properties Appear in Modeler and Navigates Links', async () => {
|
|
31
|
+
await (0, test_1.expect)(clusterDetailsPage.customPropertiesHeading).toBeVisible({
|
|
32
|
+
timeout: 60000,
|
|
33
|
+
});
|
|
34
|
+
await (0, test_1.expect)(page.getByText(customPropertyDescription)).toBeVisible({
|
|
35
|
+
timeout: 60000,
|
|
36
|
+
});
|
|
37
|
+
await clusterDetailsPage.assertCustomPropertyIsNavigated('Link 1', 'Camunda', /^https:\/\/(www\.)?camunda\.com\/?$/);
|
|
38
|
+
await clusterDetailsPage.assertCustomPropertyIsNavigated('Link 2', 'Camunda Docs', 'https://docs.camunda.io');
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
@@ -18,7 +18,7 @@ SM_8_10_1.test.describe('Identity User Flow Tests', () => {
|
|
|
18
18
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
19
19
|
});
|
|
20
20
|
//Skipped due to bug 35735: https://github.com/camunda/camunda/issues/35735
|
|
21
|
-
SM_8_10_1.test.skip('User Roles User Flow on Management Identity @tasklistV2', async ({ page, navigationPage, optimizeHomePage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, modelerHomePage,
|
|
21
|
+
SM_8_10_1.test.skip('User Roles User Flow on Management Identity @tasklistV2', async ({ page, navigationPage, optimizeHomePage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, modelerHomePage, settingsPage, browser, }) => {
|
|
22
22
|
if (node_process_1.default.env.IS_RBA === 'true' ||
|
|
23
23
|
node_process_1.default.env.IS_MT === 'true' ||
|
|
24
24
|
node_process_1.default.env.IS_LICENSE_KEY === 'true') {
|
|
@@ -57,23 +57,10 @@ SM_8_10_1.test.describe('Identity User Flow Tests', () => {
|
|
|
57
57
|
await managementIdentityPage.clickDeleteAccessButton('Grants full access to Web Modeler');
|
|
58
58
|
await managementIdentityPage.clickConfirmDeleteButton();
|
|
59
59
|
});
|
|
60
|
-
await SM_8_10_1.test.step('Remove Access from Console', async () => {
|
|
61
|
-
await managementIdentityPage.clickDeleteAccessButton('Grants full access to Console');
|
|
62
|
-
await managementIdentityPage.clickConfirmDeleteButton();
|
|
63
|
-
});
|
|
64
60
|
await SM_8_10_1.test.step('Reset Session', async () => {
|
|
65
61
|
await (0, resetSession_1.resetSession)(browser, page);
|
|
66
62
|
await (0, sleep_1.sleep)(40000);
|
|
67
63
|
});
|
|
68
|
-
await SM_8_10_1.test.step('Ensure Console is not Accessible', async () => {
|
|
69
|
-
await navigationPage.goToConsole(undefined, credentials);
|
|
70
|
-
await (0, test_1.expect)(page.getByText('Something went wrong')).toBeVisible({
|
|
71
|
-
timeout: 60000,
|
|
72
|
-
});
|
|
73
|
-
await (0, test_1.expect)(consoleHomePage.consoleBanner).not.toBeVisible({
|
|
74
|
-
timeout: 60000,
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
64
|
await SM_8_10_1.test.step('Ensure Modeler is not Accessible', async () => {
|
|
78
65
|
await navigationPage.goToModeler(undefined, credentials);
|
|
79
66
|
await (0, test_1.expect)(modelerHomePage.modelerPageBanner).not.toBeVisible({
|
|
@@ -91,7 +78,7 @@ SM_8_10_1.test.describe('Identity User Flow Tests', () => {
|
|
|
91
78
|
});
|
|
92
79
|
});
|
|
93
80
|
}
|
|
94
|
-
await SM_8_10_1.test.step('Grant Optimize
|
|
81
|
+
await SM_8_10_1.test.step('Grant Optimize and Web Modeler App Permission to Test User', async () => {
|
|
95
82
|
await navigationPage.goToManagementIdentity();
|
|
96
83
|
await managementIdentityPage.clickUsersLink();
|
|
97
84
|
await managementIdentityPage.clickUser(testUser);
|
|
@@ -101,7 +88,6 @@ SM_8_10_1.test.describe('Identity User Flow Tests', () => {
|
|
|
101
88
|
await managementIdentityPage.clickOptimizeCheckbox();
|
|
102
89
|
}
|
|
103
90
|
await managementIdentityPage.clickModelerCheckbox();
|
|
104
|
-
await managementIdentityPage.clickConsoleCheckbox();
|
|
105
91
|
await managementIdentityPage.clickAddButton();
|
|
106
92
|
await (0, sleep_1.sleep)(60000);
|
|
107
93
|
});
|
|
@@ -119,12 +105,6 @@ SM_8_10_1.test.describe('Identity User Flow Tests', () => {
|
|
|
119
105
|
timeout: 180000,
|
|
120
106
|
});
|
|
121
107
|
});
|
|
122
|
-
await SM_8_10_1.test.step('Ensure Console is Accessible', async () => {
|
|
123
|
-
await navigationPage.goToConsole(undefined, credentials);
|
|
124
|
-
await (0, test_1.expect)(consoleHomePage.consoleBanner).toBeVisible({
|
|
125
|
-
timeout: 180000,
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
108
|
});
|
|
129
109
|
(0, SM_8_10_1.test)('User Roles User Flow on Orchestration Cluster', async ({ page, navigationPage, ocIdentityMappingRulesPage, ocIdentityHomePage, ocIdentityRolesPage, taskPanelPage, operateHomePage, settingsPage, browser, keycloakLoginPage, keycloakAdminPage, managementIdentityPage, }) => {
|
|
130
110
|
if (node_process_1.default.env.IS_RBA === 'true' ||
|
|
@@ -13,7 +13,7 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
13
13
|
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
14
14
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
15
15
|
});
|
|
16
|
-
(0, SM_8_10_1.test)('License Invalid Commercial Expired User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
16
|
+
(0, SM_8_10_1.test)('License Invalid Commercial Expired User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
17
17
|
if (process.env.LICENSE_KEY !== 'lic-inv-com-expired') {
|
|
18
18
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
19
19
|
}
|
|
@@ -52,14 +52,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
52
52
|
timeout: 60000,
|
|
53
53
|
});
|
|
54
54
|
});
|
|
55
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
56
|
-
await navigationPage.goToConsole();
|
|
57
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagNonProduction).toBeVisible({
|
|
58
|
-
timeout: 60000,
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
55
|
});
|
|
62
|
-
(0, SM_8_10_1.test)('License Invalid Commercial Special Characters User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
56
|
+
(0, SM_8_10_1.test)('License Invalid Commercial Special Characters User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
63
57
|
if (process.env.LICENSE_KEY !== 'lic-inv-com-special-characters') {
|
|
64
58
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
65
59
|
}
|
|
@@ -98,14 +92,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
98
92
|
timeout: 60000,
|
|
99
93
|
});
|
|
100
94
|
});
|
|
101
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
102
|
-
await navigationPage.goToConsole();
|
|
103
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagNonProduction).toBeVisible({
|
|
104
|
-
timeout: 60000,
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
95
|
});
|
|
108
|
-
(0, SM_8_10_1.test)('License Invalid Commercial Wrong Signature User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
96
|
+
(0, SM_8_10_1.test)('License Invalid Commercial Wrong Signature User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
109
97
|
if (process.env.LICENSE_KEY !== 'lic-inv-com-wrong-signature') {
|
|
110
98
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
111
99
|
}
|
|
@@ -144,14 +132,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
144
132
|
timeout: 60000,
|
|
145
133
|
});
|
|
146
134
|
});
|
|
147
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
148
|
-
await navigationPage.goToConsole();
|
|
149
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagNonProduction).toBeVisible({
|
|
150
|
-
timeout: 60000,
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
135
|
});
|
|
154
|
-
(0, SM_8_10_1.test)('License Invalid Non-Commercial Expired User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
136
|
+
(0, SM_8_10_1.test)('License Invalid Non-Commercial Expired User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
155
137
|
if (process.env.LICENSE_KEY !== 'lic-inv-ncom-expired') {
|
|
156
138
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
157
139
|
}
|
|
@@ -190,14 +172,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
190
172
|
timeout: 60000,
|
|
191
173
|
});
|
|
192
174
|
});
|
|
193
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
194
|
-
await navigationPage.goToConsole();
|
|
195
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagNonProduction).toBeVisible({
|
|
196
|
-
timeout: 60000,
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
175
|
});
|
|
200
|
-
(0, SM_8_10_1.test)('License Valid Commercial Changed Whitespaces User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
176
|
+
(0, SM_8_10_1.test)('License Valid Commercial Changed Whitespaces User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
201
177
|
if (process.env.LICENSE_KEY !== 'lic-val-com-whitespace-changed') {
|
|
202
178
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
203
179
|
}
|
|
@@ -236,14 +212,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
236
212
|
timeout: 60000,
|
|
237
213
|
});
|
|
238
214
|
});
|
|
239
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
240
|
-
await navigationPage.goToConsole();
|
|
241
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagProduction).toBeVisible({
|
|
242
|
-
timeout: 60000,
|
|
243
|
-
});
|
|
244
|
-
});
|
|
245
215
|
});
|
|
246
|
-
(0, SM_8_10_1.test)('License Valid Commercial Mixed Headers User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
216
|
+
(0, SM_8_10_1.test)('License Valid Commercial Mixed Headers User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
247
217
|
if (process.env.LICENSE_KEY !== 'lic-val-com-mixed-headers') {
|
|
248
218
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
249
219
|
}
|
|
@@ -282,14 +252,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
282
252
|
timeout: 60000,
|
|
283
253
|
});
|
|
284
254
|
});
|
|
285
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
286
|
-
await navigationPage.goToConsole();
|
|
287
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagProduction).toBeVisible({
|
|
288
|
-
timeout: 60000,
|
|
289
|
-
});
|
|
290
|
-
});
|
|
291
255
|
});
|
|
292
|
-
(0, SM_8_10_1.test)('License Valid Commercial No Headers User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
256
|
+
(0, SM_8_10_1.test)('License Valid Commercial No Headers User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
293
257
|
if (process.env.LICENSE_KEY !== 'lic-val-com-no-headers') {
|
|
294
258
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
295
259
|
}
|
|
@@ -328,14 +292,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
328
292
|
timeout: 60000,
|
|
329
293
|
});
|
|
330
294
|
});
|
|
331
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
332
|
-
await navigationPage.goToConsole();
|
|
333
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagProduction).toBeVisible({
|
|
334
|
-
timeout: 60000,
|
|
335
|
-
});
|
|
336
|
-
});
|
|
337
295
|
});
|
|
338
|
-
(0, SM_8_10_1.test)('License Valid Commercial No New Lines User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
296
|
+
(0, SM_8_10_1.test)('License Valid Commercial No New Lines User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
339
297
|
if (process.env.LICENSE_KEY !== 'lic-val-com-no-newlines') {
|
|
340
298
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
341
299
|
}
|
|
@@ -374,14 +332,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
374
332
|
timeout: 60000,
|
|
375
333
|
});
|
|
376
334
|
});
|
|
377
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
378
|
-
await navigationPage.goToConsole();
|
|
379
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagProduction).toBeVisible({
|
|
380
|
-
timeout: 60000,
|
|
381
|
-
});
|
|
382
|
-
});
|
|
383
335
|
});
|
|
384
|
-
(0, SM_8_10_1.test)('License Valid Commercial Unlimited User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
336
|
+
(0, SM_8_10_1.test)('License Valid Commercial Unlimited User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
385
337
|
if (process.env.LICENSE_KEY !== 'lic-val-com-unlimited') {
|
|
386
338
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
387
339
|
}
|
|
@@ -420,14 +372,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
420
372
|
timeout: 60000,
|
|
421
373
|
});
|
|
422
374
|
});
|
|
423
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
424
|
-
await navigationPage.goToConsole();
|
|
425
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagProduction).toBeVisible({
|
|
426
|
-
timeout: 60000,
|
|
427
|
-
});
|
|
428
|
-
});
|
|
429
375
|
});
|
|
430
|
-
(0, SM_8_10_1.test)('License Valid Non-Commercial One Hundred Years User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
376
|
+
(0, SM_8_10_1.test)('License Valid Non-Commercial One Hundred Years User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
431
377
|
if (process.env.LICENSE_KEY !== 'lic-val-ncom-oneh-years') {
|
|
432
378
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
433
379
|
}
|
|
@@ -466,14 +412,8 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
466
412
|
timeout: 60000,
|
|
467
413
|
});
|
|
468
414
|
});
|
|
469
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
470
|
-
await navigationPage.goToConsole();
|
|
471
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagProduction).toBeVisible({
|
|
472
|
-
timeout: 60000,
|
|
473
|
-
});
|
|
474
|
-
});
|
|
475
415
|
});
|
|
476
|
-
(0, SM_8_10_1.test)('License Valid Non-Commercial Unlimited User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage,
|
|
416
|
+
(0, SM_8_10_1.test)('License Valid Non-Commercial Unlimited User Flow', async ({ navigationPage, ocIdentityHomePage, managementIdentityPage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, }) => {
|
|
477
417
|
if (process.env.LICENSE_KEY !== 'lic-val-ncom-unlimited') {
|
|
478
418
|
SM_8_10_1.test.skip(true, 'Skipping test because test environment does not correct license key');
|
|
479
419
|
}
|
|
@@ -512,12 +452,6 @@ if (process.env.IS_LICENSE_KEY === 'true') {
|
|
|
512
452
|
timeout: 60000,
|
|
513
453
|
});
|
|
514
454
|
});
|
|
515
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
516
|
-
await navigationPage.goToConsole();
|
|
517
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagProduction).toBeVisible({
|
|
518
|
-
timeout: 60000,
|
|
519
|
-
});
|
|
520
|
-
});
|
|
521
455
|
});
|
|
522
456
|
});
|
|
523
457
|
}
|
|
@@ -28,9 +28,6 @@ if (process.env.IS_MIGRATION === 'true') {
|
|
|
28
28
|
await SM_8_10_1.test.step('Assert Optimize Navigation', async () => {
|
|
29
29
|
await navigationPage.goToOptimize();
|
|
30
30
|
});
|
|
31
|
-
await SM_8_10_1.test.step('Assert Console Navigation', async () => {
|
|
32
|
-
await navigationPage.goToConsole();
|
|
33
|
-
});
|
|
34
31
|
await SM_8_10_1.test.step('Assert OC Identity Navigation', async () => {
|
|
35
32
|
await navigationPage.goToOCAdmin();
|
|
36
33
|
});
|
|
@@ -61,10 +61,6 @@ SM_8_10_1.test.describe.parallel('Smoke Tests', () => {
|
|
|
61
61
|
await navigationPage.goToOptimize();
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
await SM_8_10_1.test.step('Assert Console Navigation', async () => {
|
|
65
|
-
await context.clearCookies();
|
|
66
|
-
await navigationPage.goToConsole();
|
|
67
|
-
});
|
|
68
64
|
console.log(`[${testInfo.title}] Test end: timeout = ${testInfo.timeout}`);
|
|
69
65
|
});
|
|
70
66
|
(0, SM_8_10_1.test)('Most Common Flow User Flow With All Apps', async ({ page, modelerHomePage, navigationPage, modelerCreatePage, operateHomePage, operateProcessesPage, operateProcessInstancePage, optimizeHomePage, optimizeCollectionsPage, optimizeReportPage, taskDetailsPage, taskPanelPage, }, testInfo) => {
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class ConsoleHomePage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly consoleBanner: Locator;
|
|
5
|
-
readonly licenseKeyTagNonProduction: Locator;
|
|
6
|
-
readonly licenseKeyTagProduction: Locator;
|
|
7
|
-
readonly clusterTab: Locator;
|
|
8
|
-
constructor(page: Page);
|
|
9
|
-
clickClusters(): Promise<void>;
|
|
10
|
-
}
|
|
11
|
-
export { ConsoleHomePage };
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConsoleHomePage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
class ConsoleHomePage {
|
|
6
|
-
page;
|
|
7
|
-
consoleBanner;
|
|
8
|
-
licenseKeyTagNonProduction;
|
|
9
|
-
licenseKeyTagProduction;
|
|
10
|
-
clusterTab;
|
|
11
|
-
constructor(page) {
|
|
12
|
-
this.page = page;
|
|
13
|
-
this.consoleBanner = page.getByRole('link', {
|
|
14
|
-
name: 'Camunda logo Console',
|
|
15
|
-
});
|
|
16
|
-
this.licenseKeyTagNonProduction = page.getByText('Non-production license', {
|
|
17
|
-
exact: true,
|
|
18
|
-
});
|
|
19
|
-
this.licenseKeyTagProduction = page.getByText('Production license', {
|
|
20
|
-
exact: true,
|
|
21
|
-
});
|
|
22
|
-
this.clusterTab = page
|
|
23
|
-
.getByRole('banner')
|
|
24
|
-
.getByRole('link', { name: 'Clusters' });
|
|
25
|
-
}
|
|
26
|
-
async clickClusters() {
|
|
27
|
-
await (0, test_1.expect)(this.clusterTab).toBeVisible({ timeout: 30000 });
|
|
28
|
-
await this.clusterTab.click({ timeout: 90000 });
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.ConsoleHomePage = ConsoleHomePage;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class ConsoleOrganizationPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly usersTab: Locator;
|
|
5
|
-
readonly optionsButton: Locator;
|
|
6
|
-
readonly editUserMenuItem: Locator;
|
|
7
|
-
readonly operationsEngineerCheckbox: Locator;
|
|
8
|
-
readonly developerCheckbox: Locator;
|
|
9
|
-
readonly analystCheckbox: Locator;
|
|
10
|
-
readonly confirmButton: Locator;
|
|
11
|
-
constructor(page: Page);
|
|
12
|
-
clickUsersTab(): Promise<void>;
|
|
13
|
-
clickOptionsButton(): Promise<void>;
|
|
14
|
-
clickEditUserMenuItem(): Promise<void>;
|
|
15
|
-
clickOperationsEngineerCheckbox(): Promise<void>;
|
|
16
|
-
checkDeveloperCheckbox(): Promise<void>;
|
|
17
|
-
uncheckDeveloperCheckbox(): Promise<void>;
|
|
18
|
-
checkAnalystCheckbox(): Promise<void>;
|
|
19
|
-
uncheckAnalystCheckbox(): Promise<void>;
|
|
20
|
-
clickConfirmButton(): Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
export { ConsoleOrganizationPage };
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConsoleOrganizationPage = void 0;
|
|
4
|
-
class ConsoleOrganizationPage {
|
|
5
|
-
page;
|
|
6
|
-
usersTab;
|
|
7
|
-
optionsButton;
|
|
8
|
-
editUserMenuItem;
|
|
9
|
-
operationsEngineerCheckbox;
|
|
10
|
-
developerCheckbox;
|
|
11
|
-
analystCheckbox;
|
|
12
|
-
confirmButton;
|
|
13
|
-
constructor(page) {
|
|
14
|
-
this.page = page;
|
|
15
|
-
this.usersTab = page.getByRole('tab', { name: 'Users' });
|
|
16
|
-
this.optionsButton = page.getByRole('button', { name: 'Options' });
|
|
17
|
-
this.editUserMenuItem = page.getByRole('menuitem', { name: 'Edit User' });
|
|
18
|
-
this.operationsEngineerCheckbox = page
|
|
19
|
-
.getByRole('group')
|
|
20
|
-
.locator('label')
|
|
21
|
-
.filter({ hasText: 'Operations Engineer' });
|
|
22
|
-
this.developerCheckbox = page
|
|
23
|
-
.getByRole('group')
|
|
24
|
-
.locator('label')
|
|
25
|
-
.filter({ hasText: 'Developer' });
|
|
26
|
-
this.analystCheckbox = page
|
|
27
|
-
.getByRole('group')
|
|
28
|
-
.locator('label')
|
|
29
|
-
.filter({ hasText: 'Analyst' });
|
|
30
|
-
this.confirmButton = page.getByRole('button', { name: 'Confirm' });
|
|
31
|
-
}
|
|
32
|
-
async clickUsersTab() {
|
|
33
|
-
await this.usersTab.click();
|
|
34
|
-
}
|
|
35
|
-
async clickOptionsButton() {
|
|
36
|
-
await this.optionsButton.click();
|
|
37
|
-
}
|
|
38
|
-
async clickEditUserMenuItem() {
|
|
39
|
-
await this.editUserMenuItem.click();
|
|
40
|
-
}
|
|
41
|
-
async clickOperationsEngineerCheckbox() {
|
|
42
|
-
await this.operationsEngineerCheckbox.click();
|
|
43
|
-
}
|
|
44
|
-
async checkDeveloperCheckbox() {
|
|
45
|
-
if (!(await this.developerCheckbox.isChecked())) {
|
|
46
|
-
await this.developerCheckbox.click();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
async uncheckDeveloperCheckbox() {
|
|
50
|
-
if (await this.developerCheckbox.isChecked()) {
|
|
51
|
-
await this.developerCheckbox.click();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
async checkAnalystCheckbox() {
|
|
55
|
-
if (!(await this.analystCheckbox.isChecked())) {
|
|
56
|
-
await this.analystCheckbox.click();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
async uncheckAnalystCheckbox() {
|
|
60
|
-
if (await this.analystCheckbox.isChecked()) {
|
|
61
|
-
await this.analystCheckbox.click();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async clickConfirmButton() {
|
|
65
|
-
await this.confirmButton.click();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
exports.ConsoleOrganizationPage = ConsoleOrganizationPage;
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const SM_8_10_1 = require("../../fixtures/SM-8.10");
|
|
4
|
-
const _setup_1 = require("../../test-setup.js");
|
|
5
|
-
const test_1 = require("@playwright/test");
|
|
6
|
-
SM_8_10_1.test.describe.configure({ mode: 'parallel' });
|
|
7
|
-
SM_8_10_1.test.describe('Console User Flow Tests', () => {
|
|
8
|
-
const defaultTags = ['dev', 'custom', 'stage', 'prod', 'test'];
|
|
9
|
-
const customPropertyDescription = 'This is the main integration environment for the Camunda Platform.';
|
|
10
|
-
SM_8_10_1.test.beforeEach(async ({ navigationPage }, testInfo) => {
|
|
11
|
-
await navigationPage.goToConsole((testInfo.workerIndex + 1) * 1000);
|
|
12
|
-
});
|
|
13
|
-
SM_8_10_1.test.afterEach(async ({ page }, testInfo) => {
|
|
14
|
-
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
15
|
-
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
16
|
-
});
|
|
17
|
-
(0, SM_8_10_1.test)('Custom Tags', async ({ consoleHomePage, clusterPage }) => {
|
|
18
|
-
await SM_8_10_1.test.step('Navigate to Clusters', async () => {
|
|
19
|
-
await consoleHomePage.clickClusters();
|
|
20
|
-
});
|
|
21
|
-
await SM_8_10_1.test.step('Ensure Custom Tags Appear in Clusters', async () => {
|
|
22
|
-
await clusterPage.assertCustomTagsAreVisible(defaultTags);
|
|
23
|
-
});
|
|
24
|
-
await SM_8_10_1.test.step('Ensure Custom Tags Appear in Cluster Details', async () => {
|
|
25
|
-
await clusterPage.clickClusterLink();
|
|
26
|
-
await clusterPage.assertCustomTagsAreVisible(defaultTags);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
(0, SM_8_10_1.test)('Custom Properties', async ({ consoleHomePage, clusterPage, clusterDetailsPage, page, }) => {
|
|
30
|
-
await SM_8_10_1.test.step('Navigate to Cluster Details', async () => {
|
|
31
|
-
await consoleHomePage.clickClusters();
|
|
32
|
-
await clusterPage.clickClusterLink();
|
|
33
|
-
});
|
|
34
|
-
await SM_8_10_1.test.step('Ensure Custom Properties Appear in Console and Navigates Links', async () => {
|
|
35
|
-
await (0, test_1.expect)(clusterDetailsPage.customPropertiesHeading).toBeVisible({
|
|
36
|
-
timeout: 60000,
|
|
37
|
-
});
|
|
38
|
-
await (0, test_1.expect)(page.getByText(customPropertyDescription)).toBeVisible({
|
|
39
|
-
timeout: 60000,
|
|
40
|
-
});
|
|
41
|
-
await clusterDetailsPage.assertCustomPropertyIsNavigated('Link 1', 'Camunda', /^https:\/\/(www\.)?camunda\.com\/?$/);
|
|
42
|
-
await clusterDetailsPage.assertCustomPropertyIsNavigated('Link 2', 'Camunda Docs', 'https://docs.camunda.io');
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
(0, SM_8_10_1.test)('Default License Key User Flow', async ({ navigationPage, managementIdentityPage, ocIdentityHomePage, modelerHomePage, taskPanelPage, operateHomePage, optimizeHomePage, consoleHomePage, }) => {
|
|
46
|
-
await SM_8_10_1.test.step('Assert Console License Key Tag', async () => {
|
|
47
|
-
await (0, test_1.expect)(consoleHomePage.licenseKeyTagNonProduction).toBeVisible({
|
|
48
|
-
timeout: 60000,
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
await SM_8_10_1.test.step('Assert Management Identity License Key Tag', async () => {
|
|
52
|
-
await navigationPage.goToManagementIdentity();
|
|
53
|
-
await (0, test_1.expect)(managementIdentityPage.licenseKeyTagNonProduction).toBeVisible({
|
|
54
|
-
timeout: 60000,
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
await SM_8_10_1.test.step('Assert OC Identity License Key Tag', async () => {
|
|
58
|
-
await navigationPage.goToOCAdmin();
|
|
59
|
-
await (0, test_1.expect)(ocIdentityHomePage.licenseKeyTagNonProduction).toBeVisible({
|
|
60
|
-
timeout: 60000,
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
await SM_8_10_1.test.step('Assert Web Modeler License Key Tag', async () => {
|
|
64
|
-
await navigationPage.goToModeler();
|
|
65
|
-
await (0, test_1.expect)(modelerHomePage.licenseKeyTagNonProduction).toBeVisible({
|
|
66
|
-
timeout: 60000,
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
await SM_8_10_1.test.step('Assert Tasklist License Key Tag', async () => {
|
|
70
|
-
await navigationPage.goToTasklist();
|
|
71
|
-
await (0, test_1.expect)(taskPanelPage.licenseKeyTagNonProduction).toBeVisible({
|
|
72
|
-
timeout: 60000,
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
await SM_8_10_1.test.step('Assert Operate License Key Tag', async () => {
|
|
76
|
-
await navigationPage.goToOperate();
|
|
77
|
-
await (0, test_1.expect)(operateHomePage.licenseKeyTagNonProduction).toBeVisible({
|
|
78
|
-
timeout: 60000,
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
await SM_8_10_1.test.step('Assert Optimize License Key Tag', async () => {
|
|
82
|
-
await navigationPage.goToOptimize();
|
|
83
|
-
await (0, test_1.expect)(optimizeHomePage.licenseKeyTagNonProduction).toBeVisible({
|
|
84
|
-
timeout: 60000,
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
});
|
/package/dist/tests/SM-8.10/{console-user-flows.spec.d.ts → cluster-management-user-flows.spec.d.ts}
RENAMED
|
File without changes
|