@camunda/e2e-test-suite 0.0.257 → 0.0.258

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/fixtures/SM-8.10.d.ts +81 -0
  2. package/dist/fixtures/SM-8.10.js +184 -0
  3. package/dist/pages/SM-8.10/Authorization.d.ts +31 -0
  4. package/dist/pages/SM-8.10/Authorization.js +146 -0
  5. package/dist/pages/SM-8.10/ClusterDetailsPage.d.ts +8 -0
  6. package/dist/pages/SM-8.10/ClusterDetailsPage.js +28 -0
  7. package/dist/pages/SM-8.10/ClusterPage.d.ts +11 -0
  8. package/dist/pages/SM-8.10/ClusterPage.js +32 -0
  9. package/dist/pages/SM-8.10/ConnectorMarketplacePage.d.ts +16 -0
  10. package/dist/pages/SM-8.10/ConnectorMarketplacePage.js +52 -0
  11. package/dist/pages/SM-8.10/ConnectorSettingsPage.d.ts +40 -0
  12. package/dist/pages/SM-8.10/ConnectorSettingsPage.js +133 -0
  13. package/dist/pages/SM-8.10/ConnectorTemplatePage.d.ts +11 -0
  14. package/dist/pages/SM-8.10/ConnectorTemplatePage.js +34 -0
  15. package/dist/pages/SM-8.10/ConsoleHomePage.d.ts +11 -0
  16. package/dist/pages/SM-8.10/ConsoleHomePage.js +31 -0
  17. package/dist/pages/SM-8.10/ConsoleOrganizationPage.d.ts +22 -0
  18. package/dist/pages/SM-8.10/ConsoleOrganizationPage.js +68 -0
  19. package/dist/pages/SM-8.10/FormJsPage.d.ts +31 -0
  20. package/dist/pages/SM-8.10/FormJsPage.js +87 -0
  21. package/dist/pages/SM-8.10/HomePage.d.ts +20 -0
  22. package/dist/pages/SM-8.10/HomePage.js +49 -0
  23. package/dist/pages/SM-8.10/IdentityTenantPage.d.ts +52 -0
  24. package/dist/pages/SM-8.10/IdentityTenantPage.js +218 -0
  25. package/dist/pages/SM-8.10/IdentityUsersPage.d.ts +92 -0
  26. package/dist/pages/SM-8.10/IdentityUsersPage.js +473 -0
  27. package/dist/pages/SM-8.10/KeycloakAdminPage.d.ts +15 -0
  28. package/dist/pages/SM-8.10/KeycloakAdminPage.js +68 -0
  29. package/dist/pages/SM-8.10/KeycloakLoginPage.d.ts +11 -0
  30. package/dist/pages/SM-8.10/KeycloakLoginPage.js +25 -0
  31. package/dist/pages/SM-8.10/KeycloakUtils.d.ts +16 -0
  32. package/dist/pages/SM-8.10/KeycloakUtils.js +63 -0
  33. package/dist/pages/SM-8.10/LoginPage.d.ts +21 -0
  34. package/dist/pages/SM-8.10/LoginPage.js +100 -0
  35. package/dist/pages/SM-8.10/ManagementIdentityPage.d.ts +46 -0
  36. package/dist/pages/SM-8.10/ManagementIdentityPage.js +153 -0
  37. package/dist/pages/SM-8.10/ModelerCreatePage.d.ts +199 -0
  38. package/dist/pages/SM-8.10/ModelerCreatePage.js +1052 -0
  39. package/dist/pages/SM-8.10/ModelerHomePage.d.ts +44 -0
  40. package/dist/pages/SM-8.10/ModelerHomePage.js +179 -0
  41. package/dist/pages/SM-8.10/NavigationPage.d.ts +47 -0
  42. package/dist/pages/SM-8.10/NavigationPage.js +134 -0
  43. package/dist/pages/SM-8.10/OCIdentityAuthorizationsPage.d.ts +10 -0
  44. package/dist/pages/SM-8.10/OCIdentityAuthorizationsPage.js +35 -0
  45. package/dist/pages/SM-8.10/OCIdentityClusterVariablesPage.d.ts +20 -0
  46. package/dist/pages/SM-8.10/OCIdentityClusterVariablesPage.js +69 -0
  47. package/dist/pages/SM-8.10/OCIdentityGroupsPage.d.ts +39 -0
  48. package/dist/pages/SM-8.10/OCIdentityGroupsPage.js +154 -0
  49. package/dist/pages/SM-8.10/OCIdentityHomePage.d.ts +23 -0
  50. package/dist/pages/SM-8.10/OCIdentityHomePage.js +81 -0
  51. package/dist/pages/SM-8.10/OCIdentityMappingRulesPage.d.ts +23 -0
  52. package/dist/pages/SM-8.10/OCIdentityMappingRulesPage.js +110 -0
  53. package/dist/pages/SM-8.10/OCIdentityRolesPage.d.ts +55 -0
  54. package/dist/pages/SM-8.10/OCIdentityRolesPage.js +197 -0
  55. package/dist/pages/SM-8.10/OCTenantPage.d.ts +67 -0
  56. package/dist/pages/SM-8.10/OCTenantPage.js +280 -0
  57. package/dist/pages/SM-8.10/OperateHomePage.d.ts +24 -0
  58. package/dist/pages/SM-8.10/OperateHomePage.js +81 -0
  59. package/dist/pages/SM-8.10/OperateProcessInstancePage.d.ts +24 -0
  60. package/dist/pages/SM-8.10/OperateProcessInstancePage.js +170 -0
  61. package/dist/pages/SM-8.10/OperateProcessesPage.d.ts +32 -0
  62. package/dist/pages/SM-8.10/OperateProcessesPage.js +205 -0
  63. package/dist/pages/SM-8.10/OptimizeCollectionsPage.d.ts +17 -0
  64. package/dist/pages/SM-8.10/OptimizeCollectionsPage.js +66 -0
  65. package/dist/pages/SM-8.10/OptimizeDashboardPage.d.ts +14 -0
  66. package/dist/pages/SM-8.10/OptimizeDashboardPage.js +56 -0
  67. package/dist/pages/SM-8.10/OptimizeHomePage.d.ts +19 -0
  68. package/dist/pages/SM-8.10/OptimizeHomePage.js +64 -0
  69. package/dist/pages/SM-8.10/OptimizeReportPage.d.ts +50 -0
  70. package/dist/pages/SM-8.10/OptimizeReportPage.js +179 -0
  71. package/dist/pages/SM-8.10/PlayPage.d.ts +44 -0
  72. package/dist/pages/SM-8.10/PlayPage.js +235 -0
  73. package/dist/pages/SM-8.10/SettingsPage.d.ts +12 -0
  74. package/dist/pages/SM-8.10/SettingsPage.js +25 -0
  75. package/dist/pages/SM-8.10/TaskDetailsPage.d.ts +70 -0
  76. package/dist/pages/SM-8.10/TaskDetailsPage.js +266 -0
  77. package/dist/pages/SM-8.10/TaskPanelPage.d.ts +24 -0
  78. package/dist/pages/SM-8.10/TaskPanelPage.js +93 -0
  79. package/dist/pages/SM-8.10/TaskProcessesPage.d.ts +14 -0
  80. package/dist/pages/SM-8.10/TaskProcessesPage.js +53 -0
  81. package/dist/pages/SM-8.10/UtilitiesPage.d.ts +34 -0
  82. package/dist/pages/SM-8.10/UtilitiesPage.js +435 -0
  83. package/dist/pages/SM-8.10/optimizeReportUtils.d.ts +6 -0
  84. package/dist/pages/SM-8.10/optimizeReportUtils.js +42 -0
  85. package/dist/pages/SM-8.7/ModelerCreatePage.js +3 -0
  86. package/dist/pages/SM-8.7/PlayPage.d.ts +1 -0
  87. package/dist/pages/SM-8.7/PlayPage.js +4 -2
  88. package/dist/tests/SM-8.10/cluster-variables.spec.d.ts +1 -0
  89. package/dist/tests/SM-8.10/cluster-variables.spec.js +190 -0
  90. package/dist/tests/SM-8.10/connectors-user-flows.spec.d.ts +1 -0
  91. package/dist/tests/SM-8.10/connectors-user-flows.spec.js +260 -0
  92. package/dist/tests/SM-8.10/console-user-flows.spec.d.ts +1 -0
  93. package/dist/tests/SM-8.10/console-user-flows.spec.js +88 -0
  94. package/dist/tests/SM-8.10/document-handling-user-flows.spec.d.ts +1 -0
  95. package/dist/tests/SM-8.10/document-handling-user-flows.spec.js +157 -0
  96. package/dist/tests/SM-8.10/hto-user-flows.spec.d.ts +1 -0
  97. package/dist/tests/SM-8.10/hto-user-flows.spec.js +408 -0
  98. package/dist/tests/SM-8.10/identity-user-flows.spec.d.ts +1 -0
  99. package/dist/tests/SM-8.10/identity-user-flows.spec.js +233 -0
  100. package/dist/tests/SM-8.10/license-key-user-flows.spec.d.ts +1 -0
  101. package/dist/tests/SM-8.10/license-key-user-flows.spec.js +523 -0
  102. package/dist/tests/SM-8.10/login.spec.d.ts +1 -0
  103. package/dist/tests/SM-8.10/login.spec.js +24 -0
  104. package/dist/tests/SM-8.10/migration-path-user-flows.spec.d.ts +1 -0
  105. package/dist/tests/SM-8.10/migration-path-user-flows.spec.js +224 -0
  106. package/dist/tests/SM-8.10/mt-enabled-user-flows.spec.d.ts +1 -0
  107. package/dist/tests/SM-8.10/mt-enabled-user-flows.spec.js +584 -0
  108. package/dist/tests/SM-8.10/optimize-user-flows.spec.d.ts +1 -0
  109. package/dist/tests/SM-8.10/optimize-user-flows.spec.js +184 -0
  110. package/dist/tests/SM-8.10/play.spec.d.ts +1 -0
  111. package/dist/tests/SM-8.10/play.spec.js +152 -0
  112. package/dist/tests/SM-8.10/rba-enabled-user-flows.spec.d.ts +1 -0
  113. package/dist/tests/SM-8.10/rba-enabled-user-flows.spec.js +715 -0
  114. package/dist/tests/SM-8.10/smoke-tests.spec.d.ts +1 -0
  115. package/dist/tests/SM-8.10/smoke-tests.spec.js +163 -0
  116. package/dist/tests/SM-8.10/test-setup.spec.d.ts +1 -0
  117. package/dist/tests/SM-8.10/test-setup.spec.js +24 -0
  118. package/dist/tests/SM-8.10/web-modeler-user-flows.spec.d.ts +1 -0
  119. package/dist/tests/SM-8.10/web-modeler-user-flows.spec.js +178 -0
  120. package/package.json +1 -1
@@ -0,0 +1,715 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const test_1 = require("@playwright/test");
7
+ const SM_8_10_1 = require("../../fixtures/SM-8.10");
8
+ const _setup_1 = require("../../test-setup.js");
9
+ const UtilitiesPage_1 = require("../../pages/SM-8.10/UtilitiesPage");
10
+ const node_process_1 = __importDefault(require("node:process"));
11
+ const resetSession_1 = require("../../utils/resetSession");
12
+ const sleep_1 = require("../../utils/sleep");
13
+ if (node_process_1.default.env.IS_RBA === 'true') {
14
+ SM_8_10_1.test.describe.configure({ mode: 'parallel' });
15
+ SM_8_10_1.test.describe('RBA Enabled User Flows Test', () => {
16
+ const idsToBeDeleted = {};
17
+ // eslint-disable-next-line no-empty-pattern
18
+ SM_8_10_1.test.beforeEach(async ({}, testInfo) => {
19
+ idsToBeDeleted[testInfo.title] = { roleIds: [], mappingIds: [] };
20
+ });
21
+ SM_8_10_1.test.afterEach(async ({ page, navigationPage, ocIdentityHomePage, ocIdentityRolesPage, ocIdentityMappingRulesPage, browser, }, testInfo) => {
22
+ await (0, _setup_1.captureScreenshot)(page, testInfo);
23
+ await (0, _setup_1.captureFailureVideo)(page, testInfo);
24
+ await (0, resetSession_1.resetSession)(browser, page);
25
+ await navigationPage.goToOCIdentity();
26
+ const ids = idsToBeDeleted[testInfo.title];
27
+ if (ids['mappingIds'].length > 0) {
28
+ for (const id of ids['mappingIds']) {
29
+ await ocIdentityMappingRulesPage.deleteMappingRule(id);
30
+ }
31
+ }
32
+ if (ids['roleIds'].length > 0) {
33
+ await ocIdentityHomePage.clickRolesTab();
34
+ for (const id of ids['roleIds']) {
35
+ await ocIdentityRolesPage.deleteRole(id, { throwError: false });
36
+ }
37
+ }
38
+ });
39
+ (0, SM_8_10_1.test)('RBA On User Flow - No User Permission @tasklistV1', async ({ page, modelerHomePage, modelerCreatePage, taskPanelPage, taskProcessesPage, operateHomePage, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, ocIdentityAuthorizationsPage, browser, }, testInfo) => {
40
+ SM_8_10_1.test.slow();
41
+ const processName = 'RBA_NO_PERM' + (await (0, _setup_1.generateRandomStringAsync)(3));
42
+ const testUser = (await (0, _setup_1.generateRandomStringAsync)(6)).toLowerCase();
43
+ const password = node_process_1.default.env.DISTRO_QA_E2E_TESTS_IDENTITY_FIRSTUSER_PASSWORD;
44
+ const credentials = {
45
+ username: testUser,
46
+ password: password,
47
+ };
48
+ const role = `roleNoPerm${testUser}`;
49
+ await SM_8_10_1.test.step('Create new Test User And Assign to Role', async () => {
50
+ await (0, UtilitiesPage_1.createUserAndAssignToRole)(page, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, testUser, password, role, idsToBeDeleted[testInfo.title]);
51
+ });
52
+ await SM_8_10_1.test.step('Create Resource Authorization', async () => {
53
+ await navigationPage.goToOCIdentity();
54
+ await ocIdentityHomePage.clickAuthorizationsTab();
55
+ await ocIdentityAuthorizationsPage.clickResourceTab();
56
+ await ocIdentityAuthorizationsPage.createAuthorization({
57
+ ownerType: 'ROLE',
58
+ ownerId: role,
59
+ resourceType: 'RESOURCE',
60
+ resourceId: '*',
61
+ accessPermissions: ['CREATE'],
62
+ });
63
+ });
64
+ await SM_8_10_1.test.step('Create Process Definition Authorizations For Both Processes', async () => {
65
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
66
+ await ocIdentityAuthorizationsPage.createAuthorization({
67
+ ownerType: 'ROLE',
68
+ ownerId: role,
69
+ resourceType: 'PROCESS_DEFINITION',
70
+ resourceId: `${processName}1`,
71
+ accessPermissions: ['CREATE_PROCESS_INSTANCE'],
72
+ });
73
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
74
+ await ocIdentityAuthorizationsPage.createAuthorization({
75
+ ownerType: 'ROLE',
76
+ ownerId: role,
77
+ resourceType: 'PROCESS_DEFINITION',
78
+ resourceId: `${processName}2`,
79
+ accessPermissions: ['CREATE_PROCESS_INSTANCE'],
80
+ });
81
+ });
82
+ await SM_8_10_1.test.step('Create COMPONENT Authorization', async () => {
83
+ await ocIdentityAuthorizationsPage.clickComponentTab();
84
+ await ocIdentityAuthorizationsPage.createAuthorization({
85
+ ownerType: 'ROLE',
86
+ ownerId: role,
87
+ resourceType: 'COMPONENT',
88
+ resourceId: '*',
89
+ accessPermissions: ['ACCESS'],
90
+ });
91
+ });
92
+ await SM_8_10_1.test.step('Create Authorization Authorization', async () => {
93
+ await ocIdentityAuthorizationsPage.clickAuthorizationTab();
94
+ await ocIdentityAuthorizationsPage.createAuthorization({
95
+ ownerType: 'ROLE',
96
+ ownerId: role,
97
+ resourceType: 'AUTHORIZATION',
98
+ resourceId: '*',
99
+ accessPermissions: ['CREATE', 'READ', 'UPDATE', 'DELETE'],
100
+ });
101
+ });
102
+ await SM_8_10_1.test.step('Clear cookies and reset session', async () => {
103
+ await (0, resetSession_1.resetSession)(browser, page); //a workaround for https://github.com/camunda/camunda/issues/34513
104
+ await (0, sleep_1.sleep)(10000);
105
+ });
106
+ await SM_8_10_1.test.step('Navigate to Web Modeler', async () => {
107
+ await navigationPage.goToModeler(undefined, credentials);
108
+ });
109
+ await SM_8_10_1.test.step('Open Cross Component Test Project', async () => {
110
+ await modelerHomePage.createCrossComponentProjectFolder();
111
+ });
112
+ await SM_8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
113
+ await (0, UtilitiesPage_1.runMultipleProcesses)(page, modelerHomePage, modelerCreatePage, 2, processName, processName);
114
+ });
115
+ await SM_8_10_1.test.step('Navigate back to Identity and Ensure User Has Only Create Authorization Permission', async () => {
116
+ await navigationPage.goToOCIdentity(undefined, credentials);
117
+ await ocIdentityHomePage.clickAuthorizationsTab();
118
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
119
+ await (0, test_1.expect)(page.getByRole('row').filter({
120
+ hasText: `${role}${processName}1CREATE_PROCESS_INSTANCE`,
121
+ })).toBeVisible({
122
+ timeout: 30000,
123
+ });
124
+ await (0, test_1.expect)(page.getByRole('row').filter({
125
+ hasText: `${role}${processName}2CREATE_PROCESS_INSTANCE`,
126
+ })).toBeVisible({
127
+ timeout: 30000,
128
+ });
129
+ });
130
+ await SM_8_10_1.test.step('Navigate to Operate and Make Sure that the Two Deployed Processes Are Not Accessible', async () => {
131
+ await navigationPage.goToOperate(undefined, credentials);
132
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
133
+ timeout: 120000,
134
+ });
135
+ await operateHomePage.clickProcessesTab();
136
+ await (0, test_1.expect)(page.getByText(`${processName}1`).last()).not.toBeVisible({
137
+ timeout: 120000,
138
+ });
139
+ await (0, test_1.expect)(page.getByText(`${processName}2`).last()).not.toBeVisible({
140
+ timeout: 120000,
141
+ });
142
+ });
143
+ await SM_8_10_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Accessible', async () => {
144
+ await navigationPage.goToTasklist(undefined, credentials);
145
+ await taskPanelPage.clickProcessesTab();
146
+ await taskProcessesPage.clickpopupContinueButton();
147
+ await (0, test_1.expect)(page.getByText(`${processName}1`).last()).toBeVisible({
148
+ timeout: 120000,
149
+ });
150
+ await (0, test_1.expect)(page.getByText(`${processName}2`).last()).toBeVisible({
151
+ timeout: 120000,
152
+ });
153
+ });
154
+ await SM_8_10_1.test.step('Navigate back to Identity and Remove Create Authorization Permission From Both Process', async () => {
155
+ await navigationPage.goToOCIdentity(undefined, credentials);
156
+ await ocIdentityHomePage.clickAuthorizationsTab();
157
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
158
+ await ocIdentityAuthorizationsPage.deleteAuthorization(`${processName}1`, 'PROCESS_DEFINITION');
159
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
160
+ await ocIdentityAuthorizationsPage.deleteAuthorization(`${processName}2`, 'PROCESS_DEFINITION');
161
+ await (0, sleep_1.sleep)(10000);
162
+ });
163
+ await SM_8_10_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Not Accessible', async () => {
164
+ await navigationPage.goToTasklist(undefined, credentials);
165
+ await taskPanelPage.clickProcessesTab();
166
+ await taskProcessesPage.clickpopupContinueButton();
167
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, page.getByText(`${processName}1`), `${processName}1`, 20000, true);
168
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, page.getByText(`${processName}2`), `${processName}2`, 20000, true);
169
+ });
170
+ });
171
+ (0, SM_8_10_1.test)('RBA On User Flow - No User Permission @tasklistV2', async ({ page, modelerHomePage, modelerCreatePage, taskPanelPage, taskProcessesPage, operateHomePage, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, ocIdentityAuthorizationsPage, browser, }, testInfo) => {
172
+ SM_8_10_1.test.slow();
173
+ const processName = 'RBA_NO_PERM' + (await (0, _setup_1.generateRandomStringAsync)(3));
174
+ const testUser = (await (0, _setup_1.generateRandomStringAsync)(6)).toLowerCase();
175
+ const password = node_process_1.default.env.DISTRO_QA_E2E_TESTS_IDENTITY_FIRSTUSER_PASSWORD;
176
+ const credentials = {
177
+ username: testUser,
178
+ password: password,
179
+ };
180
+ const role = `roleNoPerm${testUser}`;
181
+ await SM_8_10_1.test.step('Create new Test User And Assign to Role', async () => {
182
+ await (0, UtilitiesPage_1.createUserAndAssignToRole)(page, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, testUser, password, role, idsToBeDeleted[testInfo.title]);
183
+ });
184
+ await SM_8_10_1.test.step('Create Resource Authorization', async () => {
185
+ await navigationPage.goToOCIdentity();
186
+ await ocIdentityHomePage.clickAuthorizationsTab();
187
+ await ocIdentityAuthorizationsPage.clickResourceTab();
188
+ await ocIdentityAuthorizationsPage.createAuthorization({
189
+ ownerType: 'ROLE',
190
+ ownerId: role,
191
+ resourceType: 'RESOURCE',
192
+ resourceId: '*',
193
+ accessPermissions: ['CREATE'],
194
+ });
195
+ });
196
+ await SM_8_10_1.test.step('Create Process Definition Authorizations For Both Processes', async () => {
197
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
198
+ await ocIdentityAuthorizationsPage.createAuthorization({
199
+ ownerType: 'ROLE',
200
+ ownerId: role,
201
+ resourceType: 'PROCESS_DEFINITION',
202
+ resourceId: `${processName}1`,
203
+ accessPermissions: [
204
+ 'CREATE_PROCESS_INSTANCE',
205
+ 'READ_PROCESS_DEFINITION',
206
+ ],
207
+ });
208
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
209
+ await ocIdentityAuthorizationsPage.createAuthorization({
210
+ ownerType: 'ROLE',
211
+ ownerId: role,
212
+ resourceType: 'PROCESS_DEFINITION',
213
+ resourceId: `${processName}2`,
214
+ accessPermissions: [
215
+ 'CREATE_PROCESS_INSTANCE',
216
+ 'READ_PROCESS_DEFINITION',
217
+ ],
218
+ });
219
+ });
220
+ await SM_8_10_1.test.step('Create COMPONENT Authorization', async () => {
221
+ await ocIdentityAuthorizationsPage.clickComponentTab();
222
+ await ocIdentityAuthorizationsPage.createAuthorization({
223
+ ownerType: 'ROLE',
224
+ ownerId: role,
225
+ resourceType: 'COMPONENT',
226
+ resourceId: '*',
227
+ accessPermissions: ['ACCESS'],
228
+ });
229
+ });
230
+ await SM_8_10_1.test.step('Create Authorization Authorization', async () => {
231
+ await ocIdentityAuthorizationsPage.clickAuthorizationTab();
232
+ await ocIdentityAuthorizationsPage.createAuthorization({
233
+ ownerType: 'ROLE',
234
+ ownerId: role,
235
+ resourceType: 'AUTHORIZATION',
236
+ resourceId: '*',
237
+ accessPermissions: ['CREATE', 'READ', 'UPDATE', 'DELETE'],
238
+ });
239
+ });
240
+ await SM_8_10_1.test.step('Clear cookies and reset session', async () => {
241
+ await (0, resetSession_1.resetSession)(browser, page); //a workaround for https://github.com/camunda/camunda/issues/34513
242
+ await (0, sleep_1.sleep)(10000);
243
+ });
244
+ await SM_8_10_1.test.step('Navigate to Web Modeler', async () => {
245
+ await navigationPage.goToModeler(undefined, credentials);
246
+ });
247
+ await SM_8_10_1.test.step('Open Cross Component Test Project', async () => {
248
+ await modelerHomePage.createCrossComponentProjectFolder();
249
+ });
250
+ await SM_8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
251
+ await (0, UtilitiesPage_1.runMultipleProcesses)(page, modelerHomePage, modelerCreatePage, 2, processName, processName);
252
+ });
253
+ await SM_8_10_1.test.step('Navigate back to Identity and Ensure User Has Only Create Authorization Permission', async () => {
254
+ await navigationPage.goToOCIdentity(undefined, credentials);
255
+ await ocIdentityHomePage.clickAuthorizationsTab();
256
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
257
+ await (0, test_1.expect)(page.getByRole('row').filter({
258
+ hasText: `${role}${processName}1CREATE_PROCESS_INSTANCE`,
259
+ })).toBeVisible({
260
+ timeout: 30000,
261
+ });
262
+ await (0, test_1.expect)(page.getByRole('row').filter({
263
+ hasText: `${role}${processName}2CREATE_PROCESS_INSTANCE`,
264
+ })).toBeVisible({
265
+ timeout: 30000,
266
+ });
267
+ });
268
+ await SM_8_10_1.test.step('Navigate to Operate and Make Sure that the Two Deployed Processes Are Not Accessible', async () => {
269
+ await navigationPage.goToOperate(undefined, credentials);
270
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
271
+ timeout: 120000,
272
+ });
273
+ await operateHomePage.clickProcessesTab();
274
+ await (0, test_1.expect)(page.getByText(`${processName}1`).last()).not.toBeVisible({
275
+ timeout: 120000,
276
+ });
277
+ await (0, test_1.expect)(page.getByText(`${processName}2`).last()).not.toBeVisible({
278
+ timeout: 120000,
279
+ });
280
+ });
281
+ await SM_8_10_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Accessible', async () => {
282
+ await navigationPage.goToTasklist(undefined, credentials);
283
+ await taskPanelPage.clickProcessesTab();
284
+ await taskProcessesPage.clickpopupContinueButton();
285
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '1', true, 120000);
286
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '2', true, 120000);
287
+ });
288
+ await SM_8_10_1.test.step('Navigate back to Identity and Remove Create Authorization Permission From Both Process', async () => {
289
+ await navigationPage.goToOCIdentity(undefined, credentials);
290
+ await ocIdentityHomePage.clickAuthorizationsTab();
291
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
292
+ await ocIdentityAuthorizationsPage.deleteAuthorization(`${processName}1`, 'PROCESS_DEFINITION');
293
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
294
+ await ocIdentityAuthorizationsPage.deleteAuthorization(`${processName}2`, 'PROCESS_DEFINITION');
295
+ await (0, sleep_1.sleep)(10000);
296
+ });
297
+ await SM_8_10_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Not Accessible', async () => {
298
+ await navigationPage.goToTasklist(undefined, credentials);
299
+ await taskPanelPage.clickProcessesTab();
300
+ await taskProcessesPage.clickpopupContinueButton();
301
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '1', false, 60000);
302
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '2', false, 60000);
303
+ });
304
+ });
305
+ (0, SM_8_10_1.test)('RBA On User Flow - Permission for One Process @tasklistV1', async ({ page, modelerHomePage, modelerCreatePage, taskPanelPage, taskProcessesPage, operateHomePage, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, ocIdentityAuthorizationsPage, browser, }, testInfo) => {
306
+ SM_8_10_1.test.slow();
307
+ const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
308
+ const processName = 'RBA_ONE_PERM' + randomString;
309
+ const testUser = (await (0, _setup_1.generateRandomStringAsync)(6)).toLowerCase();
310
+ const password = node_process_1.default.env.DISTRO_QA_E2E_TESTS_IDENTITY_FIRSTUSER_PASSWORD;
311
+ const credentials = {
312
+ username: testUser,
313
+ password: password,
314
+ };
315
+ const role1 = `rbaOnePerm${testUser}1`;
316
+ const role2 = `rbaOnePerm${testUser}2`;
317
+ await SM_8_10_1.test.step('Create new Test User And Assign the User to Two Roles', async () => {
318
+ await (0, UtilitiesPage_1.createUserAndAssignToRole)(page, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, testUser, password, role1, idsToBeDeleted[testInfo.title]);
319
+ await (0, UtilitiesPage_1.assignMappingToRole)(page, ocIdentityHomePage, ocIdentityRolesPage, role2, `${testUser}-user-mapping`, idsToBeDeleted[testInfo.title]);
320
+ });
321
+ await SM_8_10_1.test.step('Navigate to Authorizations', async () => {
322
+ await navigationPage.goToOCIdentity();
323
+ await ocIdentityHomePage.clickAuthorizationsTab();
324
+ });
325
+ await SM_8_10_1.test.step('Grant CRUD Process Definition Authorization For First Process', async () => {
326
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
327
+ await ocIdentityAuthorizationsPage.createAuthorization({
328
+ ownerType: 'ROLE',
329
+ ownerId: role1,
330
+ resourceType: 'PROCESS_DEFINITION',
331
+ resourceId: `${processName}1`,
332
+ accessPermissions: [
333
+ 'CREATE_PROCESS_INSTANCE',
334
+ 'READ_PROCESS_INSTANCE',
335
+ 'READ_USER_TASK',
336
+ ],
337
+ });
338
+ });
339
+ await SM_8_10_1.test.step('Grant Only Create Process Definition Authorization For Second Process', async () => {
340
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
341
+ await ocIdentityAuthorizationsPage.createAuthorization({
342
+ ownerType: 'ROLE',
343
+ ownerId: role1,
344
+ resourceType: 'PROCESS_DEFINITION',
345
+ resourceId: `${processName}2`,
346
+ accessPermissions: ['CREATE_PROCESS_INSTANCE'],
347
+ });
348
+ });
349
+ await SM_8_10_1.test.step('Grant Resource Authorization', async () => {
350
+ await ocIdentityAuthorizationsPage.clickResourceTab();
351
+ await ocIdentityAuthorizationsPage.createAuthorization({
352
+ ownerType: 'ROLE',
353
+ ownerId: role1,
354
+ resourceType: 'RESOURCE',
355
+ resourceId: '*',
356
+ accessPermissions: ['CREATE'],
357
+ });
358
+ });
359
+ await SM_8_10_1.test.step('Grant COMPONENT Authorization', async () => {
360
+ await ocIdentityAuthorizationsPage.clickComponentTab();
361
+ await ocIdentityAuthorizationsPage.createAuthorization({
362
+ ownerType: 'ROLE',
363
+ ownerId: role1,
364
+ resourceType: 'COMPONENT',
365
+ resourceId: '*',
366
+ accessPermissions: ['ACCESS'],
367
+ });
368
+ await ocIdentityAuthorizationsPage.createAuthorization({
369
+ ownerType: 'ROLE',
370
+ ownerId: role2,
371
+ resourceType: 'COMPONENT',
372
+ resourceId: '*',
373
+ accessPermissions: ['ACCESS'],
374
+ });
375
+ });
376
+ await SM_8_10_1.test.step('Grant Authorization Authorization', async () => {
377
+ await ocIdentityAuthorizationsPage.clickAuthorizationTab();
378
+ await ocIdentityAuthorizationsPage.createAuthorization({
379
+ ownerType: 'ROLE',
380
+ ownerId: role1,
381
+ resourceType: 'AUTHORIZATION',
382
+ resourceId: '*',
383
+ accessPermissions: ['CREATE', 'READ', 'UPDATE', 'DELETE'],
384
+ });
385
+ });
386
+ await SM_8_10_1.test.step('Clear cookies and reset session', async () => {
387
+ await (0, resetSession_1.resetSession)(browser, page); //a workaround for https://github.com/camunda/camunda/issues/34513
388
+ await (0, sleep_1.sleep)(10000);
389
+ });
390
+ await SM_8_10_1.test.step('Navigate to Web Modeler', async () => {
391
+ await navigationPage.goToModeler(undefined, credentials);
392
+ });
393
+ await SM_8_10_1.test.step('Open Cross Component Test Project', async () => {
394
+ await modelerHomePage.createCrossComponentProjectFolder();
395
+ });
396
+ await SM_8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
397
+ await (0, UtilitiesPage_1.runMultipleProcesses)(page, modelerHomePage, modelerCreatePage, 2, processName, processName);
398
+ });
399
+ await SM_8_10_1.test.step('Navigate to Operate and Only First Process Is Accessible', async () => {
400
+ await navigationPage.goToOperate(undefined, credentials);
401
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
402
+ timeout: 120000,
403
+ });
404
+ await operateHomePage.clickProcessesTab();
405
+ await (0, test_1.expect)(page.getByText(`${processName}1`).last()).toBeVisible({
406
+ timeout: 120000,
407
+ });
408
+ await (0, test_1.expect)(page.getByText(`${processName}2`).last()).not.toBeVisible({
409
+ timeout: 120000,
410
+ });
411
+ });
412
+ await SM_8_10_1.test.step('Navigate to Tasklist and Both Processes Are Accessible', async () => {
413
+ await navigationPage.goToTasklist(undefined, credentials);
414
+ await taskPanelPage.clickProcessesTab();
415
+ await taskProcessesPage.clickpopupContinueButton();
416
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '1', true, 120000);
417
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '2', true, 120000);
418
+ });
419
+ await SM_8_10_1.test.step('Navigate to Roles and Delete First Role', async () => {
420
+ await (0, resetSession_1.resetSession)(browser, page);
421
+ await navigationPage.goToOCIdentity();
422
+ await ocIdentityHomePage.clickRolesTab();
423
+ await ocIdentityRolesPage.deleteRole(role1);
424
+ });
425
+ await SM_8_10_1.test.step('Clear cookies and reset session', async () => {
426
+ await (0, resetSession_1.resetSession)(browser, page); //a workaround for https://github.com/camunda/camunda/issues/34513
427
+ await (0, sleep_1.sleep)(10000);
428
+ });
429
+ await SM_8_10_1.test.step('Navigate to Operate and Check Processes Are Not Accessible', async () => {
430
+ await navigationPage.goToOperate(undefined, credentials);
431
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
432
+ timeout: 120000,
433
+ });
434
+ await (0, test_1.expect)(page.getByText(`${processName}1`).last()).not.toBeVisible({
435
+ timeout: 120000,
436
+ });
437
+ await (0, test_1.expect)(page.getByText(`${processName}2`).last()).not.toBeVisible({
438
+ timeout: 120000,
439
+ });
440
+ });
441
+ await SM_8_10_1.test.step('Navigate to Tasklist and Check Processes Are Not Accessible', async () => {
442
+ await navigationPage.goToTasklist(undefined, credentials);
443
+ await taskPanelPage.clickProcessesTab();
444
+ await taskProcessesPage.clickpopupContinueButton();
445
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, page.getByText(`${processName}1`), `${processName}1`, 20000, true);
446
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, page.getByText(`${processName}2`), `${processName}2`, 20000, true);
447
+ });
448
+ });
449
+ (0, SM_8_10_1.test)('RBA On User Flow - Permission for One Process @tasklistV2', async ({ page, modelerHomePage, modelerCreatePage, taskPanelPage, taskProcessesPage, operateHomePage, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, ocIdentityAuthorizationsPage, browser, }, testInfo) => {
450
+ SM_8_10_1.test.slow();
451
+ const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
452
+ const processName = 'RBA_ONE_PERM' + randomString;
453
+ const testUser = (await (0, _setup_1.generateRandomStringAsync)(6)).toLowerCase();
454
+ const password = node_process_1.default.env.DISTRO_QA_E2E_TESTS_IDENTITY_FIRSTUSER_PASSWORD;
455
+ const credentials = {
456
+ username: testUser,
457
+ password: password,
458
+ };
459
+ const role1 = `rbaOnePerm${testUser}1`;
460
+ const role2 = `rbaOnePerm${testUser}2`;
461
+ await SM_8_10_1.test.step('Create new Test User And Assign the User to Two Roles', async () => {
462
+ await (0, UtilitiesPage_1.createUserAndAssignToRole)(page, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, testUser, password, role1, idsToBeDeleted[testInfo.title]);
463
+ await (0, UtilitiesPage_1.assignMappingToRole)(page, ocIdentityHomePage, ocIdentityRolesPage, role2, `${testUser}-user-mapping`, idsToBeDeleted[testInfo.title]);
464
+ });
465
+ await SM_8_10_1.test.step('Navigate to Authorizations', async () => {
466
+ await navigationPage.goToOCIdentity();
467
+ await ocIdentityHomePage.clickAuthorizationsTab();
468
+ });
469
+ await SM_8_10_1.test.step('Grant CRUD Process Definition Authorization For First Process', async () => {
470
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
471
+ await ocIdentityAuthorizationsPage.createAuthorization({
472
+ ownerType: 'ROLE',
473
+ ownerId: role1,
474
+ resourceType: 'PROCESS_DEFINITION',
475
+ resourceId: `${processName}1`,
476
+ accessPermissions: [
477
+ 'CREATE_PROCESS_INSTANCE',
478
+ 'READ_PROCESS_DEFINITION',
479
+ 'READ_PROCESS_INSTANCE',
480
+ 'READ_USER_TASK',
481
+ ],
482
+ });
483
+ });
484
+ await SM_8_10_1.test.step('Grant Only Create Process Definition Authorization For Second Process', async () => {
485
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
486
+ await ocIdentityAuthorizationsPage.createAuthorization({
487
+ ownerType: 'ROLE',
488
+ ownerId: role1,
489
+ resourceType: 'PROCESS_DEFINITION',
490
+ resourceId: `${processName}2`,
491
+ accessPermissions: [
492
+ 'CREATE_PROCESS_INSTANCE',
493
+ 'READ_PROCESS_DEFINITION',
494
+ ],
495
+ });
496
+ });
497
+ await SM_8_10_1.test.step('Grant Resource Authorization', async () => {
498
+ await ocIdentityAuthorizationsPage.clickResourceTab();
499
+ await ocIdentityAuthorizationsPage.createAuthorization({
500
+ ownerType: 'ROLE',
501
+ ownerId: role1,
502
+ resourceType: 'RESOURCE',
503
+ resourceId: '*',
504
+ accessPermissions: ['CREATE'],
505
+ });
506
+ });
507
+ await SM_8_10_1.test.step('Grant COMPONENT Authorization', async () => {
508
+ await ocIdentityAuthorizationsPage.clickComponentTab();
509
+ await ocIdentityAuthorizationsPage.createAuthorization({
510
+ ownerType: 'ROLE',
511
+ ownerId: role1,
512
+ resourceType: 'COMPONENT',
513
+ resourceId: '*',
514
+ accessPermissions: ['ACCESS'],
515
+ });
516
+ await ocIdentityAuthorizationsPage.createAuthorization({
517
+ ownerType: 'ROLE',
518
+ ownerId: role2,
519
+ resourceType: 'COMPONENT',
520
+ resourceId: '*',
521
+ accessPermissions: ['ACCESS'],
522
+ });
523
+ });
524
+ await SM_8_10_1.test.step('Grant Authorization Authorization', async () => {
525
+ await ocIdentityAuthorizationsPage.clickAuthorizationTab();
526
+ await ocIdentityAuthorizationsPage.createAuthorization({
527
+ ownerType: 'ROLE',
528
+ ownerId: role1,
529
+ resourceType: 'AUTHORIZATION',
530
+ resourceId: '*',
531
+ accessPermissions: ['CREATE', 'READ', 'UPDATE', 'DELETE'],
532
+ });
533
+ });
534
+ await SM_8_10_1.test.step('Clear cookies and reset session', async () => {
535
+ await (0, resetSession_1.resetSession)(browser, page); //a workaround for https://github.com/camunda/camunda/issues/34513
536
+ await (0, sleep_1.sleep)(10000);
537
+ });
538
+ await SM_8_10_1.test.step('Navigate to Web Modeler', async () => {
539
+ await navigationPage.goToModeler(undefined, credentials);
540
+ });
541
+ await SM_8_10_1.test.step('Open Cross Component Test Project', async () => {
542
+ await modelerHomePage.createCrossComponentProjectFolder();
543
+ });
544
+ await SM_8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
545
+ await (0, UtilitiesPage_1.runMultipleProcesses)(page, modelerHomePage, modelerCreatePage, 2, processName, processName);
546
+ });
547
+ await SM_8_10_1.test.step('Navigate to Operate and Only First Process Is Accessible', async () => {
548
+ await navigationPage.goToOperate(undefined, credentials);
549
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
550
+ timeout: 120000,
551
+ });
552
+ await operateHomePage.clickProcessesTab();
553
+ await (0, test_1.expect)(page.getByText(`${processName}1`).last()).toBeVisible({
554
+ timeout: 120000,
555
+ });
556
+ await (0, test_1.expect)(page.getByText(`${processName}2`).last()).not.toBeVisible({
557
+ timeout: 120000,
558
+ });
559
+ });
560
+ await SM_8_10_1.test.step('Navigate to Tasklist and Both Processes Are Accessible', async () => {
561
+ await navigationPage.goToTasklist(undefined, credentials);
562
+ await taskPanelPage.clickProcessesTab();
563
+ await taskProcessesPage.clickpopupContinueButton();
564
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '1', true, 120000);
565
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '2', true, 120000);
566
+ });
567
+ await SM_8_10_1.test.step('Navigate to Roles and Delete First Role', async () => {
568
+ await (0, resetSession_1.resetSession)(browser, page);
569
+ await navigationPage.goToOCIdentity();
570
+ await ocIdentityHomePage.clickRolesTab();
571
+ await ocIdentityRolesPage.deleteRole(role1);
572
+ });
573
+ await SM_8_10_1.test.step('Clear cookies and reset session', async () => {
574
+ await (0, resetSession_1.resetSession)(browser, page); //a workaround for https://github.com/camunda/camunda/issues/34513
575
+ await (0, sleep_1.sleep)(10000);
576
+ });
577
+ await SM_8_10_1.test.step('Navigate to Operate and Check Processes Are Not Accessible', async () => {
578
+ await navigationPage.goToOperate(undefined, credentials);
579
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
580
+ timeout: 120000,
581
+ });
582
+ await (0, test_1.expect)(page.getByText(`${processName}1`).last()).not.toBeVisible({
583
+ timeout: 120000,
584
+ });
585
+ await (0, test_1.expect)(page.getByText(`${processName}2`).last()).not.toBeVisible({
586
+ timeout: 120000,
587
+ });
588
+ });
589
+ await SM_8_10_1.test.step('Navigate to Tasklist and Check Processes Are Not Accessible', async () => {
590
+ await navigationPage.goToTasklist(undefined, credentials);
591
+ await taskPanelPage.clickProcessesTab();
592
+ await taskProcessesPage.clickpopupContinueButton();
593
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '1', false, 60000);
594
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '2', false, 60000);
595
+ });
596
+ });
597
+ (0, SM_8_10_1.test)('RBA On User Flow - Permission for All Processes', async ({ page, modelerHomePage, modelerCreatePage, taskPanelPage, taskProcessesPage, operateHomePage, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, ocIdentityAuthorizationsPage, browser, }, testInfo) => {
598
+ SM_8_10_1.test.slow();
599
+ const processName = 'RBA_ALL_PERM' + (await (0, _setup_1.generateRandomStringAsync)(3));
600
+ const testUser = (await (0, _setup_1.generateRandomStringAsync)(6)).toLowerCase();
601
+ const password = node_process_1.default.env.DISTRO_QA_E2E_TESTS_IDENTITY_FIRSTUSER_PASSWORD;
602
+ const credentials = {
603
+ username: testUser,
604
+ password: password,
605
+ };
606
+ const role = `role${testUser}`;
607
+ await SM_8_10_1.test.step('Create new Test User And Assign to Role', async () => {
608
+ await (0, UtilitiesPage_1.createUserAndAssignToRole)(page, navigationPage, managementIdentityPage, keycloakLoginPage, keycloakAdminPage, ocIdentityHomePage, ocIdentityMappingRulesPage, ocIdentityRolesPage, testUser, password, role, idsToBeDeleted[testInfo.title]);
609
+ });
610
+ await SM_8_10_1.test.step('Navigate to Authorizations', async () => {
611
+ await navigationPage.goToOCIdentity();
612
+ await ocIdentityHomePage.clickAuthorizationsTab();
613
+ });
614
+ await SM_8_10_1.test.step('Create Process Definition Authorizations For Both Processes', async () => {
615
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
616
+ await ocIdentityAuthorizationsPage.createAuthorization({
617
+ ownerType: 'ROLE',
618
+ ownerId: role,
619
+ resourceType: 'PROCESS_DEFINITION',
620
+ resourceId: '*',
621
+ accessPermissions: [
622
+ 'CREATE_PROCESS_INSTANCE',
623
+ 'READ_PROCESS_DEFINITION',
624
+ 'READ_USER_TASK',
625
+ 'UPDATE_USER_TASK',
626
+ 'READ_PROCESS_INSTANCE',
627
+ ],
628
+ });
629
+ });
630
+ await SM_8_10_1.test.step('Create Resource Authorization', async () => {
631
+ await ocIdentityAuthorizationsPage.clickResourceTab();
632
+ await ocIdentityAuthorizationsPage.createAuthorization({
633
+ ownerType: 'ROLE',
634
+ ownerId: role,
635
+ resourceType: 'RESOURCE',
636
+ resourceId: '*',
637
+ accessPermissions: ['CREATE'],
638
+ });
639
+ });
640
+ await SM_8_10_1.test.step('Create COMPONENT Authorization', async () => {
641
+ await ocIdentityAuthorizationsPage.clickComponentTab();
642
+ await ocIdentityAuthorizationsPage.createAuthorization({
643
+ ownerType: 'ROLE',
644
+ ownerId: role,
645
+ resourceType: 'COMPONENT',
646
+ resourceId: '*',
647
+ accessPermissions: ['ACCESS'],
648
+ });
649
+ });
650
+ await SM_8_10_1.test.step('Create Authorization Authorization', async () => {
651
+ await ocIdentityAuthorizationsPage.clickAuthorizationTab();
652
+ await ocIdentityAuthorizationsPage.createAuthorization({
653
+ ownerType: 'ROLE',
654
+ ownerId: role,
655
+ resourceType: 'AUTHORIZATION',
656
+ resourceId: '*',
657
+ accessPermissions: ['CREATE', 'READ', 'UPDATE', 'DELETE'],
658
+ });
659
+ });
660
+ await SM_8_10_1.test.step('Clear cookies and reset session', async () => {
661
+ await (0, resetSession_1.resetSession)(browser, page); //a workaround for https://github.com/camunda/camunda/issues/34513
662
+ await (0, sleep_1.sleep)(10000);
663
+ });
664
+ await SM_8_10_1.test.step('Navigate to Web Modeler', async () => {
665
+ await navigationPage.goToModeler(undefined, credentials);
666
+ });
667
+ await SM_8_10_1.test.step('Open Cross Component Test Project', async () => {
668
+ await modelerHomePage.createCrossComponentProjectFolder();
669
+ });
670
+ await SM_8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
671
+ await (0, UtilitiesPage_1.runMultipleProcesses)(page, modelerHomePage, modelerCreatePage, 2, processName, processName);
672
+ await (0, sleep_1.sleep)(60000);
673
+ });
674
+ await SM_8_10_1.test.step('Navigate to Operate and All Processes Are Accessible', async () => {
675
+ await navigationPage.goToOperate(undefined, credentials);
676
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
677
+ timeout: 120000,
678
+ });
679
+ await operateHomePage.clickProcessesTab();
680
+ await (0, test_1.expect)(page.getByText(`${processName}1`).last()).toBeVisible({
681
+ timeout: 120000,
682
+ });
683
+ await (0, test_1.expect)(page.getByText(`${processName}2`).last()).toBeVisible({
684
+ timeout: 120000,
685
+ });
686
+ });
687
+ await SM_8_10_1.test.step('Navigate to Tasklist and All Processes Are Accessible', async () => {
688
+ await navigationPage.goToTasklist(undefined, credentials);
689
+ await taskPanelPage.clickProcessesTab();
690
+ await taskProcessesPage.clickpopupContinueButton();
691
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '1', true, 180000);
692
+ await (0, UtilitiesPage_1.expectTextWithPagination)(page, processName + '2', true, 180000);
693
+ });
694
+ await SM_8_10_1.test.step('Assert Processes Can Be Started From Tasklist', async () => {
695
+ await taskPanelPage.clickTasksTab();
696
+ const firstProcessTaskCount = await taskPanelPage.taskCount(`${processName}1`);
697
+ const secondProcessTaskCount = await taskPanelPage.taskCount(`${processName}2`);
698
+ await taskPanelPage.clickProcessesTab();
699
+ await taskProcessesPage.startProcess(`${processName}1`);
700
+ await (0, test_1.expect)(taskPanelPage.filterOptions).toBeVisible({
701
+ timeout: 120000,
702
+ });
703
+ const updatedFirstProcessTaskCount = await taskPanelPage.taskCount(`${processName}1`);
704
+ (0, test_1.expect)(updatedFirstProcessTaskCount).toBe(firstProcessTaskCount + 1);
705
+ await taskPanelPage.clickProcessesTab();
706
+ await taskProcessesPage.startProcess(`${processName}2`);
707
+ await (0, test_1.expect)(taskPanelPage.filterOptions).toBeVisible({
708
+ timeout: 120000,
709
+ });
710
+ const updatedSecondProcessTaskCount = await taskPanelPage.taskCount(`${processName}2`);
711
+ (0, test_1.expect)(updatedSecondProcessTaskCount).toBe(secondProcessTaskCount + 1);
712
+ });
713
+ });
714
+ });
715
+ }