@camunda/e2e-test-suite 0.0.202 → 0.0.203

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/README.md +1 -0
  2. package/dist/fixtures/8.10.d.ts +75 -0
  3. package/dist/fixtures/8.10.js +187 -0
  4. package/dist/pages/8.10/AppsPage.d.ts +38 -0
  5. package/dist/pages/8.10/AppsPage.js +398 -0
  6. package/dist/pages/8.10/Authorization.d.ts +31 -0
  7. package/dist/pages/8.10/Authorization.js +143 -0
  8. package/dist/pages/8.10/ClientCredentialsDetailsPage.d.ts +12 -0
  9. package/dist/pages/8.10/ClientCredentialsDetailsPage.js +36 -0
  10. package/dist/pages/8.10/ClusterDetailsPage.d.ts +81 -0
  11. package/dist/pages/8.10/ClusterDetailsPage.js +475 -0
  12. package/dist/pages/8.10/ClusterPage.d.ts +63 -0
  13. package/dist/pages/8.10/ClusterPage.js +349 -0
  14. package/dist/pages/8.10/ClusterSecretsPage.d.ts +46 -0
  15. package/dist/pages/8.10/ClusterSecretsPage.js +219 -0
  16. package/dist/pages/8.10/ConnectorMarketplacePage.d.ts +19 -0
  17. package/dist/pages/8.10/ConnectorMarketplacePage.js +56 -0
  18. package/dist/pages/8.10/ConnectorSettingsPage.d.ts +38 -0
  19. package/dist/pages/8.10/ConnectorSettingsPage.js +142 -0
  20. package/dist/pages/8.10/ConnectorTemplatePage.d.ts +11 -0
  21. package/dist/pages/8.10/ConnectorTemplatePage.js +34 -0
  22. package/dist/pages/8.10/ConsoleOrganizationPage.d.ts +76 -0
  23. package/dist/pages/8.10/ConsoleOrganizationPage.js +402 -0
  24. package/dist/pages/8.10/FormJsPage.d.ts +28 -0
  25. package/dist/pages/8.10/FormJsPage.js +85 -0
  26. package/dist/pages/8.10/HomePage.d.ts +27 -0
  27. package/dist/pages/8.10/HomePage.js +88 -0
  28. package/dist/pages/8.10/IdpCreatePage.d.ts +81 -0
  29. package/dist/pages/8.10/IdpCreatePage.js +355 -0
  30. package/dist/pages/8.10/LoginPage.d.ts +42 -0
  31. package/dist/pages/8.10/LoginPage.js +93 -0
  32. package/dist/pages/8.10/ModelerCreatePage.d.ts +224 -0
  33. package/dist/pages/8.10/ModelerCreatePage.js +1166 -0
  34. package/dist/pages/8.10/ModelerHomePage.d.ts +54 -0
  35. package/dist/pages/8.10/ModelerHomePage.js +235 -0
  36. package/dist/pages/8.10/ModelerUserInvitePage.d.ts +29 -0
  37. package/dist/pages/8.10/ModelerUserInvitePage.js +136 -0
  38. package/dist/pages/8.10/OCIdentityAuthorizationsPage.d.ts +11 -0
  39. package/dist/pages/8.10/OCIdentityAuthorizationsPage.js +32 -0
  40. package/dist/pages/8.10/OCIdentityGroupsPage.d.ts +38 -0
  41. package/dist/pages/8.10/OCIdentityGroupsPage.js +166 -0
  42. package/dist/pages/8.10/OCIdentityHomePage.d.ts +18 -0
  43. package/dist/pages/8.10/OCIdentityHomePage.js +57 -0
  44. package/dist/pages/8.10/OCIdentityMappingRulesPage.d.ts +23 -0
  45. package/dist/pages/8.10/OCIdentityMappingRulesPage.js +124 -0
  46. package/dist/pages/8.10/OCIdentityRolesPage.d.ts +40 -0
  47. package/dist/pages/8.10/OCIdentityRolesPage.js +182 -0
  48. package/dist/pages/8.10/OperateHomePage.d.ts +23 -0
  49. package/dist/pages/8.10/OperateHomePage.js +73 -0
  50. package/dist/pages/8.10/OperateProcessInstancePage.d.ts +23 -0
  51. package/dist/pages/8.10/OperateProcessInstancePage.js +94 -0
  52. package/dist/pages/8.10/OperateProcessesPage.d.ts +25 -0
  53. package/dist/pages/8.10/OperateProcessesPage.js +103 -0
  54. package/dist/pages/8.10/OptimizeCollectionsPage.d.ts +17 -0
  55. package/dist/pages/8.10/OptimizeCollectionsPage.js +68 -0
  56. package/dist/pages/8.10/OptimizeDashboardPage.d.ts +11 -0
  57. package/dist/pages/8.10/OptimizeDashboardPage.js +65 -0
  58. package/dist/pages/8.10/OptimizeHomePage.d.ts +13 -0
  59. package/dist/pages/8.10/OptimizeHomePage.js +55 -0
  60. package/dist/pages/8.10/OptimizeReportPage.d.ts +48 -0
  61. package/dist/pages/8.10/OptimizeReportPage.js +159 -0
  62. package/dist/pages/8.10/PlayPage.d.ts +14 -0
  63. package/dist/pages/8.10/PlayPage.js +68 -0
  64. package/dist/pages/8.10/SettingsPage.d.ts +10 -0
  65. package/dist/pages/8.10/SettingsPage.js +43 -0
  66. package/dist/pages/8.10/SignUpPage.d.ts +42 -0
  67. package/dist/pages/8.10/SignUpPage.js +134 -0
  68. package/dist/pages/8.10/TaskDetailsPage.d.ts +75 -0
  69. package/dist/pages/8.10/TaskDetailsPage.js +269 -0
  70. package/dist/pages/8.10/TaskPanelPage.d.ts +21 -0
  71. package/dist/pages/8.10/TaskPanelPage.js +93 -0
  72. package/dist/pages/8.10/TaskProcessesPage.d.ts +13 -0
  73. package/dist/pages/8.10/TaskProcessesPage.js +68 -0
  74. package/dist/pages/8.10/UtilitiesPage.d.ts +47 -0
  75. package/dist/pages/8.10/UtilitiesPage.js +489 -0
  76. package/dist/tests/8.10/access-user-role-management.spec.d.ts +1 -0
  77. package/dist/tests/8.10/access-user-role-management.spec.js +323 -0
  78. package/dist/tests/8.10/agentic-ai-user-flows.spec.d.ts +1 -0
  79. package/dist/tests/8.10/agentic-ai-user-flows.spec.js +185 -0
  80. package/dist/tests/8.10/api-tests-v2.spec.d.ts +1 -0
  81. package/dist/tests/8.10/api-tests-v2.spec.js +20 -0
  82. package/dist/tests/8.10/aws-cluster-user-flows.spec.d.ts +1 -0
  83. package/dist/tests/8.10/aws-cluster-user-flows.spec.js +178 -0
  84. package/dist/tests/8.10/cluster-variables.spec.d.ts +1 -0
  85. package/dist/tests/8.10/cluster-variables.spec.js +70 -0
  86. package/dist/tests/8.10/connectors-user-flows.spec.d.ts +1 -0
  87. package/dist/tests/8.10/connectors-user-flows.spec.js +479 -0
  88. package/dist/tests/8.10/console-user-flows.spec.d.ts +1 -0
  89. package/dist/tests/8.10/console-user-flows.spec.js +187 -0
  90. package/dist/tests/8.10/hto-user-flows.spec.d.ts +1 -0
  91. package/dist/tests/8.10/hto-user-flows.spec.js +471 -0
  92. package/dist/tests/8.10/idp-user-flows.spec.d.ts +1 -0
  93. package/dist/tests/8.10/idp-user-flows.spec.js +214 -0
  94. package/dist/tests/8.10/login-negative-tests.spec.d.ts +1 -0
  95. package/dist/tests/8.10/login-negative-tests.spec.js +29 -0
  96. package/dist/tests/8.10/login.spec.d.ts +1 -0
  97. package/dist/tests/8.10/login.spec.js +26 -0
  98. package/dist/tests/8.10/navigation.spec.d.ts +1 -0
  99. package/dist/tests/8.10/navigation.spec.js +65 -0
  100. package/dist/tests/8.10/operate-access-flow.spec.d.ts +1 -0
  101. package/dist/tests/8.10/operate-access-flow.spec.js +51 -0
  102. package/dist/tests/8.10/optimize-api-tests.spec.d.ts +1 -0
  103. package/dist/tests/8.10/optimize-api-tests.spec.js +268 -0
  104. package/dist/tests/8.10/optimize-user-flows.spec.d.ts +1 -0
  105. package/dist/tests/8.10/optimize-user-flows.spec.js +255 -0
  106. package/dist/tests/8.10/play.spec.d.ts +1 -0
  107. package/dist/tests/8.10/play.spec.js +85 -0
  108. package/dist/tests/8.10/rba-enabled-v1-user-flows.spec.d.ts +1 -0
  109. package/dist/tests/8.10/rba-enabled-v1-user-flows.spec.js +443 -0
  110. package/dist/tests/8.10/rba-enabled-v2-user-flows.spec.d.ts +1 -0
  111. package/dist/tests/8.10/rba-enabled-v2-user-flows.spec.js +446 -0
  112. package/dist/tests/8.10/smoke-tests.spec.d.ts +1 -0
  113. package/dist/tests/8.10/smoke-tests.spec.js +181 -0
  114. package/dist/tests/8.10/test-setup.spec.d.ts +1 -0
  115. package/dist/tests/8.10/test-setup.spec.js +94 -0
  116. package/dist/tests/8.10/utr-enabled-user-flows.spec.d.ts +1 -0
  117. package/dist/tests/8.10/utr-enabled-user-flows.spec.js +182 -0
  118. package/dist/tests/8.10/web-modeler-user-flows.spec.d.ts +1 -0
  119. package/dist/tests/8.10/web-modeler-user-flows.spec.js +544 -0
  120. package/package.json +1 -1
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const test_1 = require("@playwright/test");
4
+ const _8_10_1 = require("../../fixtures/8.10");
5
+ const _setup_1 = require("../../test-setup.js");
6
+ const OperateProcessInstancePage_1 = require("../../pages/8.10/OperateProcessInstancePage");
7
+ const formatDate_1 = require("../../utils/formatDate");
8
+ const UtilitiesPage_1 = require("../../pages/8.10/UtilitiesPage");
9
+ const sleep_1 = require("../../utils/sleep");
10
+ const users_1 = require("../../utils/users");
11
+ const mailSlurpClient_1 = require("../../utils/mailSlurpClient");
12
+ const testUser = (0, users_1.getTestUser)('eighteenthUser');
13
+ _8_10_1.test.describe.configure({ mode: 'parallel' });
14
+ _8_10_1.test.describe('Console User Flow Tests @tasklistV2', () => {
15
+ const clusterName = 'Test Cluster';
16
+ _8_10_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
17
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
18
+ });
19
+ _8_10_1.test.afterEach(async ({ page }, testInfo) => {
20
+ await (0, _setup_1.captureScreenshot)(page, testInfo);
21
+ await (0, _setup_1.captureFailureVideo)(page, testInfo);
22
+ });
23
+ (0, _8_10_1.test)('Console Most Common Flow', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, }) => {
24
+ const clientName = await (0, _setup_1.generateRandomStringAsync)(6);
25
+ const processName = 'Console_Test_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
26
+ await _8_10_1.test.step('Add API Client to Cluster', async () => {
27
+ await homePage.clickClusters();
28
+ await clusterPage.clickClusterLink(clusterName);
29
+ await clusterDetailsPage.clickAPITab();
30
+ await clusterDetailsPage.createAPIClient(clientName);
31
+ await clusterDetailsPage.clickCloseModalButton();
32
+ });
33
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
34
+ await appsPage.clickCamundaApps();
35
+ await appsPage.clickModeler();
36
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
37
+ timeout: 120000,
38
+ });
39
+ });
40
+ await _8_10_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
41
+ await modelerHomePage.clickCrossComponentProjectFolder();
42
+ await modelerHomePage.clickDiagramTypeDropdown();
43
+ await modelerHomePage.clickBpmnTemplateOption();
44
+ });
45
+ await _8_10_1.test.step('Create BPMN Diagram with User Task and Start Process Instance', async () => {
46
+ await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
47
+ timeout: 120000,
48
+ });
49
+ await modelerCreatePage.enterDiagramName(processName);
50
+ await (0, sleep_1.sleep)(10000);
51
+ await modelerCreatePage.clickAppendElementButton();
52
+ await modelerCreatePage.clickAppendTaskButton();
53
+ await modelerCreatePage.clickAppendElementButton();
54
+ await modelerCreatePage.clickAppendEndEventButton();
55
+ await modelerCreatePage.runProcessInstance(clusterName);
56
+ });
57
+ await _8_10_1.test.step('View Process Instance in Operate, and assert it completes', async () => {
58
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
59
+ timeout: 120000,
60
+ });
61
+ await modelerCreatePage.clickViewProcessInstanceLink();
62
+ const operateTabPromise = page.waitForEvent('popup', { timeout: 60000 });
63
+ const operateTab = await operateTabPromise;
64
+ const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
65
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'completed icon in Operate', 60000);
66
+ });
67
+ });
68
+ //Waiting infra team to provide DNS configuration for email testing, skipping for now
69
+ _8_10_1.test.skip('Alert Trigger Flow - Email Notification', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
70
+ _8_10_1.test.slow();
71
+ const processName = 'Email_Alert_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
72
+ const invalidURl = 'https://invalid';
73
+ let lastTriggerTime = 0;
74
+ const alertFlowClusterName = 'Alert Flow Cluster';
75
+ const { id } = await (0, mailSlurpClient_1.createInbox)(testUser.username);
76
+ await _8_10_1.test.step('Create Cluster', async () => {
77
+ await homePage.clickClusters();
78
+ await clusterPage.createClusterIfNotExists(alertFlowClusterName);
79
+ });
80
+ await _8_10_1.test.step('Delete Alert Settings If Exist', async () => {
81
+ await homePage.clickClusters();
82
+ await clusterPage.clickClusterLink(alertFlowClusterName);
83
+ await clusterDetailsPage.clickAlertsTab();
84
+ await clusterDetailsPage.deleteAlerts();
85
+ (0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBe(0);
86
+ });
87
+ await _8_10_1.test.step('Create First Email Alert', async () => {
88
+ await clusterDetailsPage.createAlert(true);
89
+ (0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
90
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(0)).toContainText(`Email`);
91
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText(testUser.username);
92
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText((0, formatDate_1.formatDate)());
93
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(1)).toContainText('Amount triggered0');
94
+ });
95
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
96
+ await appsPage.clickCamundaApps();
97
+ await appsPage.clickModeler();
98
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
99
+ timeout: 120000,
100
+ });
101
+ });
102
+ await _8_10_1.test.step('Open Cross Component Test Project', async () => {
103
+ await modelerHomePage.clickCrossComponentProjectFolder();
104
+ await modelerHomePage.clickDiagramTypeDropdown();
105
+ await modelerHomePage.clickBpmnTemplateOption();
106
+ });
107
+ await _8_10_1.test.step('Create BPMN Diagram with REST Connector and Start Process Instance', async () => {
108
+ await (0, UtilitiesPage_1.modelRestConnector)(modelerCreatePage, connectorSettingsPage, processName, invalidURl, 'noAuth', 'body');
109
+ await (0, sleep_1.sleep)(20000);
110
+ await modelerCreatePage.runProcessInstance(alertFlowClusterName);
111
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
112
+ timeout: 120000,
113
+ });
114
+ });
115
+ await _8_10_1.test.step('View Process Instance in Operate, and Assert It Fails', async () => {
116
+ await appsPage.clickCamundaApps();
117
+ await appsPage.clickOperate(alertFlowClusterName);
118
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
119
+ timeout: 60000,
120
+ });
121
+ await operateHomePage.clickProcessesTab();
122
+ await operateProcessesPage.clickProcessInstanceLink(processName);
123
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateProcessInstancePage, operateProcessInstancePage.incidentIcon, 'incident icon in Operate');
124
+ });
125
+ await _8_10_1.test.step('Navigate to Clusters', async () => {
126
+ await appsPage.clickCamundaApps();
127
+ await appsPage.clickConsoleLink();
128
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, homePage.clusterTab, 'Cluster tab');
129
+ await homePage.clickClusters();
130
+ await clusterPage.clickClusterLink(alertFlowClusterName);
131
+ });
132
+ await _8_10_1.test.step('Verify Alert Count Increases to 1 After Trigger', async () => {
133
+ await clusterDetailsPage.clickAlertsTab();
134
+ await (0, test_1.expect)(async () => {
135
+ await page.reload();
136
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.first()).toBeVisible({
137
+ timeout: 20000,
138
+ });
139
+ (0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
140
+ }).toPass({ timeout: 60000 });
141
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.nth(0)).toContainText(`Email`);
142
+ await clusterDetailsPage.assertAlertText('Amount triggered1');
143
+ });
144
+ await _8_10_1.test.step('Verify Alerts Received via Email for Incident', async () => {
145
+ await (0, sleep_1.sleep)(60000);
146
+ await (0, UtilitiesPage_1.assertLatestAlertEmail)(id, mailSlurpClient_1.mailSlurp, processName, 'New Incidents: 1');
147
+ lastTriggerTime = Math.floor(Date.now() / 1000); // Current time in seconds (Unix timestamp)
148
+ console.log('Captured Target Time:', lastTriggerTime);
149
+ });
150
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
151
+ await appsPage.clickCamundaApps();
152
+ await appsPage.clickModeler();
153
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
154
+ timeout: 120000,
155
+ });
156
+ });
157
+ await _8_10_1.test.step('Open Cross Component Test Project and Run The Process Instance Two Times', async () => {
158
+ await modelerHomePage.clickCrossComponentProjectFolder();
159
+ await modelerHomePage.clickProcessDiagram(processName);
160
+ await modelerCreatePage.runProcessInstance(alertFlowClusterName);
161
+ await (0, sleep_1.sleep)(10000);
162
+ await modelerCreatePage.runProcessInstance(alertFlowClusterName);
163
+ });
164
+ await _8_10_1.test.step('Navigate to Cluster Details', async () => {
165
+ await appsPage.clickCamundaApps();
166
+ await appsPage.clickConsoleLink();
167
+ await (0, test_1.expect)(homePage.clusterTab).toBeVisible({ timeout: 60000 });
168
+ await homePage.clickClusters();
169
+ await clusterPage.clickClusterLink(alertFlowClusterName);
170
+ });
171
+ await _8_10_1.test.step('Verify Alert Count Increases to 3 After Trigger', async () => {
172
+ await clusterDetailsPage.clickAlertsTab();
173
+ await (0, test_1.expect)(async () => {
174
+ await page.reload();
175
+ await (0, test_1.expect)(clusterDetailsPage.alertsList.first()).toBeVisible({
176
+ timeout: 20000,
177
+ });
178
+ (0, test_1.expect)(await clusterDetailsPage.alertsList.count()).toBeGreaterThan(1);
179
+ }).toPass({ timeout: 60000 });
180
+ await clusterDetailsPage.assertAlertText('Amount triggered3');
181
+ });
182
+ await _8_10_1.test.step('Verify Alerts Received via Email for Incident', async () => {
183
+ await (0, sleep_1.sleep)(60000);
184
+ await (0, UtilitiesPage_1.assertLatestAlertEmail)(id, mailSlurpClient_1.mailSlurp, processName, 'New Incidents: 2');
185
+ });
186
+ });
187
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,471 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const test_1 = require("@playwright/test");
4
+ const _8_10_1 = require("../../fixtures/8.10");
5
+ const _setup_1 = require("../../test-setup.js");
6
+ const TaskPanelPage_1 = require("../../pages/8.10/TaskPanelPage");
7
+ const TaskDetailsPage_1 = require("../../pages/8.10/TaskDetailsPage");
8
+ const OperateHomePage_1 = require("../../pages/8.10/OperateHomePage");
9
+ const AppsPage_1 = require("../../pages/8.10/AppsPage");
10
+ const OperateProcessesPage_1 = require("../../pages/8.10/OperateProcessesPage");
11
+ const OperateProcessInstancePage_1 = require("../../pages/8.10/OperateProcessInstancePage");
12
+ const UtilitiesPage_1 = require("../../pages/8.10/UtilitiesPage");
13
+ const sleep_1 = require("../../utils/sleep");
14
+ const fileUpload_1 = require("../../utils/fileUpload");
15
+ const expectTextWithPagination_1 = require("../../utils/assertionHelpers/expectTextWithPagination");
16
+ const expectTextWithRetry_1 = require("../../utils/assertionHelpers/expectTextWithRetry");
17
+ const users_1 = require("../../utils/users");
18
+ const testUser = (0, users_1.getTestUser)('nineteenthUser');
19
+ _8_10_1.test.describe.configure({ mode: 'parallel' });
20
+ _8_10_1.test.describe('HTO User Flow Tests', () => {
21
+ const clusterName = 'Test Cluster';
22
+ _8_10_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
23
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
24
+ });
25
+ _8_10_1.test.afterEach(async ({ page }, testInfo) => {
26
+ await (0, _setup_1.captureScreenshot)(page, testInfo);
27
+ await (0, _setup_1.captureFailureVideo)(page, testInfo);
28
+ });
29
+ (0, _8_10_1.test)('Job Worker User Task Most Common Flow @tasklistV1', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, }) => {
30
+ _8_10_1.test.slow();
31
+ const processName = 'User_Task_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
32
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
33
+ await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
34
+ timeout: 120000,
35
+ });
36
+ await appsPage.clickCamundaApps();
37
+ await appsPage.clickModeler();
38
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
39
+ timeout: 180000,
40
+ });
41
+ });
42
+ await _8_10_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
43
+ await modelerHomePage.clickCrossComponentProjectFolder();
44
+ await modelerHomePage.clickDiagramTypeDropdown();
45
+ await modelerHomePage.clickBpmnTemplateOption();
46
+ });
47
+ await _8_10_1.test.step('Create BPMN Diagram with User Task and Start Process Instance', async () => {
48
+ await modelerCreatePage.modelJobWorkerDiagram(processName);
49
+ await modelerCreatePage.runProcessInstance(clusterName);
50
+ });
51
+ await _8_10_1.test.step('View Process Instance in Operate, complete User Task in Tasklist & assert process complete in Operate', async () => {
52
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
53
+ timeout: 120000,
54
+ });
55
+ await modelerCreatePage.clickViewProcessInstanceLink();
56
+ const operateTabPromise = page.waitForEvent('popup', { timeout: 60000 });
57
+ const operateTab = await operateTabPromise;
58
+ const operateTabHomePage = new OperateHomePage_1.OperateHomePage(operateTab);
59
+ const operateTabProcessesPage = new OperateProcessesPage_1.OperateProcessesPage(operateTab);
60
+ const operateTabAppsPage = new AppsPage_1.AppsPage(operateTab);
61
+ const operateTabTaskPanelPage = new TaskPanelPage_1.TaskPanelPage(operateTab);
62
+ const operateTabTaskDetailsPage = new TaskDetailsPage_1.TaskDetailsPage(operateTab);
63
+ const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
64
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.activeIcon, 'active icon');
65
+ await operateTabAppsPage.clickCamundaApps();
66
+ await operateTabAppsPage.clickTasklist(clusterName);
67
+ await operateTabTaskPanelPage.openTask(processName);
68
+ await operateTabTaskDetailsPage.clickAssignToMeButton();
69
+ await operateTabTaskDetailsPage.clickCompleteTaskButton();
70
+ await operateTabAppsPage.clickCamundaApps();
71
+ await operateTabAppsPage.clickOperate(clusterName);
72
+ await operateTabHomePage.clickProcessesTab();
73
+ await (0, sleep_1.sleep)(10000);
74
+ await operateTab.reload();
75
+ await operateTabProcessesPage.clickProcessCompletedCheckbox();
76
+ await operateTabProcessesPage.clickProcessInstanceLink(processName);
77
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'completed icon');
78
+ });
79
+ });
80
+ (0, _8_10_1.test)('Camunda User Task Most Common Flow @tasklistV2', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, operateHomePage, operateProcessesPage, operateProcessInstancePage, taskPanelPage, taskDetailsPage, }) => {
81
+ _8_10_1.test.slow();
82
+ const processName = 'Camunda_User_Task_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
83
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
84
+ await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
85
+ timeout: 120000,
86
+ });
87
+ await appsPage.clickCamundaApps();
88
+ await appsPage.clickModeler();
89
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
90
+ timeout: 180000,
91
+ });
92
+ });
93
+ await _8_10_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
94
+ await modelerHomePage.clickCrossComponentProjectFolder();
95
+ await modelerHomePage.clickDiagramTypeDropdown();
96
+ await modelerHomePage.clickBpmnTemplateOption();
97
+ });
98
+ await _8_10_1.test.step('Create BPMN Diagram with User Task and Start Process Instance', async () => {
99
+ await modelerCreatePage.modelCamundaUserTaskDiagram(processName);
100
+ await modelerCreatePage.runProcessInstance(clusterName);
101
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
102
+ timeout: 120000,
103
+ });
104
+ });
105
+ await _8_10_1.test.step('View Process Instance in Operate, complete User Task in Tasklist & assert process complete in Operate', async () => {
106
+ await appsPage.clickCamundaApps();
107
+ await appsPage.clickOperate(clusterName);
108
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
109
+ timeout: 30000,
110
+ });
111
+ await operateHomePage.clickProcessesTab();
112
+ await operateProcessesPage.clickProcessInstanceLink(processName);
113
+ await (0, test_1.expect)(operateProcessInstancePage.activeIcon).toBeVisible({
114
+ timeout: 1200000,
115
+ });
116
+ await appsPage.clickCamundaApps();
117
+ await appsPage.clickTasklist(clusterName);
118
+ await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
119
+ timeout: 30000,
120
+ });
121
+ await (0, UtilitiesPage_1.assertPageTextWithRetry)(page, processName, false, 60000);
122
+ await taskPanelPage.openTask(processName);
123
+ await taskDetailsPage.clickAssignToMeButton();
124
+ await taskDetailsPage.clickCompleteTaskButton();
125
+ await appsPage.clickCamundaApps();
126
+ await appsPage.clickOperate(clusterName);
127
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
128
+ timeout: 30000,
129
+ });
130
+ await operateHomePage.clickProcessesTab();
131
+ await (0, sleep_1.sleep)(10000);
132
+ await operateProcessesPage.clickProcessCompletedCheckbox();
133
+ await operateProcessesPage.clickProcessInstanceLink(processName);
134
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateProcessInstancePage, operateProcessInstancePage.completedIcon, 'completed icon');
135
+ });
136
+ });
137
+ (0, _8_10_1.test)('User Task Editing Variables Flow @tasklistV1', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, }) => {
138
+ _8_10_1.test.slow();
139
+ const processName = 'User_Task_Editing_Variables' + (await (0, _setup_1.generateRandomStringAsync)(3));
140
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
141
+ await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
142
+ timeout: 120000,
143
+ });
144
+ await appsPage.clickCamundaApps();
145
+ await appsPage.clickModeler();
146
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
147
+ timeout: 120000,
148
+ });
149
+ });
150
+ await _8_10_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
151
+ await modelerHomePage.clickCrossComponentProjectFolder();
152
+ await modelerHomePage.clickDiagramTypeDropdown();
153
+ await modelerHomePage.clickBpmnTemplateOption();
154
+ });
155
+ await _8_10_1.test.step('Create BPMN Diagram with User Task and Start Process Instance', async () => {
156
+ await modelerCreatePage.modelJobWorkerDiagram(processName);
157
+ await modelerCreatePage.runProcessInstance(clusterName, '{"testVariable":"testValue"}');
158
+ });
159
+ await _8_10_1.test.step('View Process Instance in Operate, Edit the Variable & Assert the Variable is Updated in Tasklist', async () => {
160
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
161
+ timeout: 120000,
162
+ });
163
+ await modelerCreatePage.clickViewProcessInstanceLink();
164
+ const operateTab = await page.waitForEvent('popup');
165
+ const operateTabHomePage = new OperateHomePage_1.OperateHomePage(operateTab);
166
+ const operateTabAppsPage = new AppsPage_1.AppsPage(operateTab);
167
+ const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
168
+ const operateTabTaskPanelPage = new TaskPanelPage_1.TaskPanelPage(operateTab);
169
+ await (0, test_1.expect)(operateTabProcessInstancePage.activeIcon).toBeVisible({
170
+ timeout: 1200000,
171
+ });
172
+ await (0, test_1.expect)(operateTab.getByText('"testValue"')).toBeVisible({
173
+ timeout: 90000,
174
+ });
175
+ await (0, test_1.expect)(operateTab.getByText('testVariable', { exact: true })).toBeVisible();
176
+ await operateTabHomePage.clickEditVariableButton('testVariable');
177
+ await operateTabHomePage.clickVariableValueInput();
178
+ await operateTabHomePage.clearVariableValueInput();
179
+ await operateTabHomePage.fillVariableValueInput('"updatedValue"');
180
+ await operateTabHomePage.clickSaveVariableButton();
181
+ await (0, test_1.expect)(operateTabHomePage.editVariableSpinner).not.toBeVisible({
182
+ timeout: 180000,
183
+ });
184
+ await (0, test_1.expect)(operateTab.getByText('"testValue"')).not.toBeVisible({
185
+ timeout: 60000,
186
+ });
187
+ await (0, test_1.expect)(operateTab.getByText('"updatedValue"')).toBeVisible({
188
+ timeout: 90000,
189
+ });
190
+ await operateTabAppsPage.clickCamundaApps();
191
+ await operateTabAppsPage.clickTasklist(clusterName);
192
+ await operateTabTaskPanelPage.openTask(processName);
193
+ await (0, test_1.expect)(operateTab.getByText('testVariable')).toBeVisible({
194
+ timeout: 60000,
195
+ });
196
+ await (0, test_1.expect)(operateTab.getByText('"updatedValue"')).toBeVisible();
197
+ await (0, test_1.expect)(operateTab.getByText('"testValue"')).not.toBeVisible();
198
+ });
199
+ });
200
+ (0, _8_10_1.test)('Camunda User Task Editing Variables Flow @tasklistV2', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, operateHomePage, operateProcessesPage, operateProcessInstancePage, taskPanelPage, }) => {
201
+ _8_10_1.test.slow();
202
+ const processName = 'Camunda_User_Task_Editing_Variables' +
203
+ (await (0, _setup_1.generateRandomStringAsync)(3));
204
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
205
+ await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
206
+ timeout: 120000,
207
+ });
208
+ await appsPage.clickCamundaApps();
209
+ await appsPage.clickModeler();
210
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
211
+ timeout: 120000,
212
+ });
213
+ });
214
+ await _8_10_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
215
+ await modelerHomePage.clickCrossComponentProjectFolder();
216
+ await modelerHomePage.clickDiagramTypeDropdown();
217
+ await modelerHomePage.clickBpmnTemplateOption();
218
+ });
219
+ await _8_10_1.test.step('Create BPMN Diagram with User Task and Start Process Instance', async () => {
220
+ await modelerCreatePage.modelCamundaUserTaskDiagram(processName);
221
+ await modelerCreatePage.runProcessInstance(clusterName, '{"testVariable":"testValue"}');
222
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
223
+ timeout: 120000,
224
+ });
225
+ });
226
+ await _8_10_1.test.step('View Process Instance in Operate, Edit the Variable & Assert the Variable is Updated in Tasklist', async () => {
227
+ await appsPage.clickCamundaApps();
228
+ await appsPage.clickOperate(clusterName);
229
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
230
+ timeout: 30000,
231
+ });
232
+ await operateHomePage.clickProcessesTab();
233
+ await operateProcessesPage.clickProcessInstanceLink(processName);
234
+ await (0, test_1.expect)(operateProcessInstancePage.activeIcon).toBeVisible({
235
+ timeout: 60000,
236
+ });
237
+ await (0, test_1.expect)(page.getByText('"testValue"')).toBeVisible({
238
+ timeout: 90000,
239
+ });
240
+ await (0, test_1.expect)(page.getByText('testVariable', { exact: true })).toBeVisible();
241
+ await operateHomePage.clickEditVariableButton('testVariable');
242
+ await operateHomePage.clickVariableValueInput();
243
+ await operateHomePage.clearVariableValueInput();
244
+ await operateHomePage.fillVariableValueInput('"updatedValue"');
245
+ await operateHomePage.clickSaveVariableButton();
246
+ await (0, test_1.expect)(operateHomePage.editVariableSpinner).not.toBeVisible({
247
+ timeout: 180000,
248
+ });
249
+ await (0, test_1.expect)(page.getByText('"testValue"')).not.toBeVisible({
250
+ timeout: 60000,
251
+ });
252
+ await (0, test_1.expect)(page.getByText('"updatedValue"')).toBeVisible({
253
+ timeout: 90000,
254
+ });
255
+ await appsPage.clickCamundaApps();
256
+ await appsPage.clickTasklist(clusterName);
257
+ await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
258
+ timeout: 20000,
259
+ });
260
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, processName);
261
+ await taskPanelPage.openTask(processName);
262
+ await (0, test_1.expect)(page.getByText('testVariable')).toBeVisible({
263
+ timeout: 60000,
264
+ });
265
+ await (0, UtilitiesPage_1.assertPageTextWithRetry)(page, '"updatedValue"');
266
+ await (0, test_1.expect)(page.getByText('"testValue"')).not.toBeVisible();
267
+ });
268
+ });
269
+ (0, _8_10_1.test)('RBA Off User Flow', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, }) => {
270
+ _8_10_1.test.slow();
271
+ const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
272
+ const processName = 'User_Task_Process_RBA_OFF_' + randomString + '_';
273
+ await _8_10_1.test.step('Navigate to Console', async () => {
274
+ await (0, UtilitiesPage_1.disableRBA)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
275
+ });
276
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
277
+ await appsPage.clickCamundaApps();
278
+ await appsPage.clickModeler();
279
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
280
+ timeout: 120000,
281
+ });
282
+ });
283
+ await _8_10_1.test.step('Navigate to Cross Component Test Project', async () => {
284
+ await modelerHomePage.clickCrossComponentProjectFolder();
285
+ });
286
+ await _8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
287
+ await (0, UtilitiesPage_1.runMultipleProcesses)(clusterName, page, modelerHomePage, modelerCreatePage, {
288
+ processName: processName,
289
+ uploadFromFile: 'Camunda_Simple_User_Task_5',
290
+ });
291
+ });
292
+ await _8_10_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Accessible', async () => {
293
+ await appsPage.clickCamundaApps();
294
+ await appsPage.clickTasklist(clusterName);
295
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, taskPanelPage.taskListPageBanner, 'Tasklist banner');
296
+ await taskPanelPage.clickProcessesTab();
297
+ await taskProcessesPage.clickpopupContinueButton();
298
+ await (0, expectTextWithPagination_1.expectTextWithPagination)(page, processName + '1');
299
+ await (0, expectTextWithPagination_1.expectTextWithPagination)(page, processName + '2');
300
+ });
301
+ });
302
+ (0, _8_10_1.test)('Zeebe User Task With Priority', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, taskPanelPage, taskDetailsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
303
+ const randomName = await (0, _setup_1.generateRandomStringAsync)(3);
304
+ const processName = 'Zeebe_User_Task_Process_With_Priority' + randomName;
305
+ const taskName = 'priorityTest' + randomName;
306
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
307
+ await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
308
+ timeout: 120000,
309
+ });
310
+ await appsPage.clickCamundaApps();
311
+ await appsPage.clickModeler();
312
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
313
+ timeout: 120000,
314
+ });
315
+ });
316
+ await _8_10_1.test.step('Create a BPMN Diagram Template', async () => {
317
+ await modelerHomePage.clickCrossComponentProjectFolder();
318
+ await modelerHomePage.clickDiagramTypeDropdown();
319
+ await modelerHomePage.clickBpmnTemplateOption();
320
+ });
321
+ await _8_10_1.test.step('Create BPMN Diagram with multiple Zeebe User Tasks with Priority and Start Process Instance', async () => {
322
+ await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
323
+ timeout: 120000,
324
+ });
325
+ await modelerCreatePage.enterDiagramName(processName);
326
+ await (0, sleep_1.sleep)(10000);
327
+ await modelerCreatePage.addParallelUserTasks(4, taskName);
328
+ await modelerCreatePage.clickAppendElementButton();
329
+ await modelerCreatePage.clickAppendEndEventButton('parallelGateway');
330
+ await modelerCreatePage.setPriority(taskName, 1, 4);
331
+ await (0, sleep_1.sleep)(10000);
332
+ await modelerCreatePage.runProcessInstance(clusterName);
333
+ });
334
+ await _8_10_1.test.step('Complete User Task in Tasklist & assert process complete in Operate', async () => {
335
+ await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
336
+ timeout: 120000,
337
+ });
338
+ await appsPage.clickCamundaApps();
339
+ await appsPage.clickTasklist(clusterName);
340
+ await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
341
+ timeout: 15000,
342
+ });
343
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, processName);
344
+ await (0, UtilitiesPage_1.completeTaskWithRetry)(taskPanelPage, taskDetailsPage, `${taskName}4`, 'critical');
345
+ await (0, UtilitiesPage_1.completeTaskWithRetry)(taskPanelPage, taskDetailsPage, `${taskName}3`, 'high');
346
+ await (0, UtilitiesPage_1.completeTaskWithRetry)(taskPanelPage, taskDetailsPage, `${taskName}2`, 'medium');
347
+ await (0, UtilitiesPage_1.completeTaskWithRetry)(taskPanelPage, taskDetailsPage, `${taskName}1`, 'low');
348
+ await taskPanelPage.filterBy('Completed');
349
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, processName);
350
+ await (0, UtilitiesPage_1.expectCountToBeOneOf)(page.getByText(processName), 4, 5);
351
+ await taskPanelPage.openTask(`${taskName}4`);
352
+ await (0, test_1.expect)(taskDetailsPage.detailsInfo.getByText(processName)).toBeVisible({ timeout: 60000 });
353
+ await (0, test_1.expect)(taskDetailsPage.detailsPanel.getByText('critical')).toBeVisible();
354
+ });
355
+ await appsPage.clickCamundaApps();
356
+ await appsPage.clickOperate(clusterName);
357
+ await operateHomePage.clickProcessesTab();
358
+ await operateProcessesPage.clickProcessCompletedCheckbox();
359
+ await operateProcessesPage.clickProcessInstanceLink(processName);
360
+ await operateProcessInstancePage.assertProcessCompleteStatusWithRetry(40000);
361
+ });
362
+ (0, _8_10_1.test)('Document Handling HTO User Flow - GCP', async ({ homePage, modelerHomePage, appsPage, formJsPage, modelerCreatePage, taskPanelPage, taskDetailsPage, operateHomePage, operateProcessInstancePage, operateProcessesPage, page, }) => {
363
+ _8_10_1.test.slow();
364
+ const randomName = await (0, _setup_1.generateRandomStringAsync)(3);
365
+ const processName = 'HTO_Document_Handling_Process' + randomName;
366
+ const formNameFilePicker = 'File Picker Form ' + randomName;
367
+ const formNameDocumentPreview = 'Document Preview Form ' + randomName;
368
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
369
+ await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
370
+ timeout: 120000,
371
+ });
372
+ await appsPage.clickCamundaApps();
373
+ await appsPage.clickModeler();
374
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
375
+ timeout: 120000,
376
+ });
377
+ });
378
+ await _8_10_1.test.step('Open Cross Component Test Project', async () => {
379
+ await modelerHomePage.clickCrossComponentProjectFolder();
380
+ });
381
+ await _8_10_1.test.step('Create a Form with a File Picker Field', async () => {
382
+ await modelerHomePage.clickDiagramTypeDropdown();
383
+ await modelerHomePage.clickFormOption();
384
+ await modelerHomePage.enterFormName(formNameFilePicker);
385
+ await (0, sleep_1.sleep)(10000);
386
+ await formJsPage.dragAndDrop(formJsPage.filePicker, formJsPage.formEditor);
387
+ await formJsPage.clickGeneralPropertiesPanel();
388
+ await formJsPage.fillKeyInput('Upload_Files');
389
+ await formJsPage.enableUploadMultipleFiles();
390
+ await (0, sleep_1.sleep)(10000);
391
+ });
392
+ await _8_10_1.test.step('Create a Form with a Document Preview Field', async () => {
393
+ await modelerHomePage.clickProjectBreadcrumb();
394
+ await modelerHomePage.clickDiagramTypeDropdown();
395
+ await modelerHomePage.clickFormOption();
396
+ await modelerHomePage.enterFormName(formNameDocumentPreview);
397
+ await (0, sleep_1.sleep)(10000);
398
+ await formJsPage.dragAndDrop(formJsPage.documentPreview, formJsPage.formEditor);
399
+ await formJsPage.clickGeneralPropertiesPanel();
400
+ await formJsPage.filldocumentReferenceInput('Upload_Files');
401
+ await (0, sleep_1.sleep)(10000);
402
+ });
403
+ await _8_10_1.test.step('Add A BPMN Template To The Project', async () => {
404
+ await modelerHomePage.clickProjectBreadcrumb();
405
+ await modelerHomePage.clickDiagramTypeDropdown();
406
+ await modelerHomePage.clickBpmnTemplateOption();
407
+ });
408
+ await _8_10_1.test.step('Create a BPMN Diagram with Two User Tasks and Linked Forms', async () => {
409
+ await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
410
+ timeout: 120000,
411
+ });
412
+ await modelerCreatePage.enterDiagramName(processName);
413
+ await (0, sleep_1.sleep)(20000);
414
+ await modelerCreatePage.clickAppendElementButton();
415
+ await modelerCreatePage.clickAppendTaskButton();
416
+ await modelerCreatePage.clickChangeTypeButton();
417
+ await modelerCreatePage.clickUserTaskOption();
418
+ await modelerCreatePage.assertImplementationOption('zeebeUserTask');
419
+ await modelerCreatePage.embedForm(formNameFilePicker);
420
+ await modelerCreatePage.clickAppendElementButton();
421
+ await modelerCreatePage.clickAppendTaskButton();
422
+ await modelerCreatePage.clickChangeTypeButton();
423
+ await modelerCreatePage.clickUserTaskOption();
424
+ await modelerCreatePage.assertImplementationOption('zeebeUserTask');
425
+ await modelerCreatePage.embedForm(formNameDocumentPreview);
426
+ await modelerCreatePage.clickAppendElementButton();
427
+ await modelerCreatePage.clickAppendEndEventButton();
428
+ await (0, sleep_1.sleep)(20000);
429
+ await modelerCreatePage.runProcessInstance(clusterName);
430
+ });
431
+ await _8_10_1.test.step('Navigate to Tasklist and Assert Document Upload And Preview', async () => {
432
+ await appsPage.clickCamundaApps();
433
+ await appsPage.clickTasklist(clusterName);
434
+ await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, taskPanelPage.taskListPageBanner, 'Tasklist banner');
435
+ await taskPanelPage.openTask(processName);
436
+ await taskDetailsPage.clickAssignToMeButton();
437
+ await (0, fileUpload_1.uploadFile)(page, [
438
+ 'simple_text.txt',
439
+ 'simple_pdf.pdf',
440
+ 'camunda.png',
441
+ ]);
442
+ await taskDetailsPage.clickCompleteTaskButton();
443
+ await (0, sleep_1.sleep)(10000);
444
+ await page.reload();
445
+ await taskPanelPage.openTask(processName);
446
+ await taskDetailsPage.clickAssignToMeButton();
447
+ await taskDetailsPage.assertLoadedImage('camunda.png');
448
+ await taskDetailsPage.assertDocumentDownloadButton('camunda.png');
449
+ await (0, test_1.expect)(taskDetailsPage.noPreviewContainer).toContainText('simple_text.txt');
450
+ await taskDetailsPage.assertDocumentDownloadButton('simple_text.txt');
451
+ await (0, test_1.expect)(taskDetailsPage.previewContainer).toHaveCount(2, {
452
+ timeout: 60000,
453
+ });
454
+ await taskDetailsPage.assertPdfPreviewViewerExists();
455
+ await taskDetailsPage.clickCompleteTaskButton();
456
+ });
457
+ await _8_10_1.test.step('Navigate to Operate and Assert Documents And StoreId', async () => {
458
+ await appsPage.clickCamundaApps();
459
+ await appsPage.clickOperate(clusterName);
460
+ await operateHomePage.clickProcessesTab();
461
+ await operateProcessesPage.clickProcessCompletedCheckbox();
462
+ await operateProcessesPage.clickProcessInstanceLink(processName);
463
+ await operateProcessInstancePage.assertProcessCompleteStatusWithRetry(40000);
464
+ await page.reload();
465
+ await operateProcessInstancePage.assertProcessVariableContainsText('Upload_Files', 'camunda.png');
466
+ await operateProcessInstancePage.assertProcessVariableContainsText('Upload_Files', 'simple_pdf.pdf');
467
+ await operateProcessInstancePage.assertProcessVariableContainsText('Upload_Files', 'simple_text.txt');
468
+ await operateProcessInstancePage.assertProcessVariableContainsText('Upload_Files', 'gcp');
469
+ });
470
+ });
471
+ });