@camunda/e2e-test-suite 0.0.217 → 0.0.218

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.
@@ -13,6 +13,10 @@ declare class FormJsPage {
13
13
  readonly documentReferenceInput: Locator;
14
14
  readonly generalPanel: Locator;
15
15
  readonly textFieldInForm: Locator;
16
+ readonly deployButton: Locator;
17
+ readonly deploySubButton: Locator;
18
+ readonly dialog: Locator;
19
+ readonly deploySuccessNotification: Locator;
16
20
  constructor(page: Page);
17
21
  generateAIForm(request?: string): Promise<void>;
18
22
  clickAIFormGeneratorButton(): Promise<void>;
@@ -24,5 +28,9 @@ declare class FormJsPage {
24
28
  enableUploadMultipleFiles(): Promise<void>;
25
29
  filldocumentReferenceInput(key: string): Promise<void>;
26
30
  clickGeneralPropertiesPanel(): Promise<void>;
31
+ selectCluster(clusterName: string): Promise<void>;
32
+ clickDeployButton(): Promise<void>;
33
+ clickDeploySubButton(): Promise<void>;
34
+ deployForm(clusterName: string): Promise<void>;
27
35
  }
28
36
  export { FormJsPage };
@@ -17,6 +17,10 @@ class FormJsPage {
17
17
  documentReferenceInput;
18
18
  generalPanel;
19
19
  textFieldInForm;
20
+ deployButton;
21
+ deploySubButton;
22
+ dialog;
23
+ deploySuccessNotification;
20
24
  constructor(page) {
21
25
  this.page = page;
22
26
  this.aiFormGeneratorButton = page.getByRole('button', {
@@ -37,6 +41,19 @@ class FormJsPage {
37
41
  this.textFieldInForm = page
38
42
  .getByLabel('Form Definition')
39
43
  .getByText('Text field');
44
+ this.deployButton = page
45
+ .locator('[data-test="action-bar"]')
46
+ .getByRole('button', { name: 'Deploy', exact: true });
47
+ this.dialog = page
48
+ .locator('.cds--modal-container[role="dialog"]')
49
+ .filter({ hasText: 'Deploy form' });
50
+ this.deploySubButton = this.dialog.getByRole('button', {
51
+ name: 'Deploy',
52
+ exact: true,
53
+ });
54
+ this.deploySuccessNotification = page
55
+ .locator('.cds--toast-notification--success')
56
+ .filter({ hasText: 'Form deployed!' });
40
57
  }
41
58
  async generateAIForm(request = 'Create a form with the following fields: 1. A text field with the label "Full Name" 2. A number with the label "Count" 3. A date input with the label "Date of birth"4. A Checkbox with the label "Agree"') {
42
59
  await (0, test_1.expect)(this.aiFormGeneratorButton).toBeVisible({
@@ -81,5 +98,35 @@ class FormJsPage {
81
98
  async clickGeneralPropertiesPanel() {
82
99
  await this.generalPanel.click({ timeout: 60000 });
83
100
  }
101
+ async selectCluster(clusterName) {
102
+ await (0, test_1.expect)(this.dialog).toBeVisible({ timeout: 30000 });
103
+ const healthCheckTimeout = 30000;
104
+ const healthyRegex = new RegExp(`${clusterName}[\\s\\S]*?HealthydevManage`);
105
+ const cluster = this.dialog.locator(`[title="${clusterName}"]`);
106
+ await (0, test_1.expect)(cluster).toBeVisible({ timeout: 30000 });
107
+ await cluster.click();
108
+ await (0, test_1.expect)(this.dialog
109
+ .locator('label')
110
+ .filter({ hasText: clusterName })
111
+ .getByRole('switch')).toBeChecked({ timeout: 30000 });
112
+ await (0, test_1.expect)(this.dialog).toHaveText(healthyRegex, {
113
+ timeout: healthCheckTimeout,
114
+ });
115
+ }
116
+ async clickDeployButton() {
117
+ await this.deployButton.click({ timeout: 60000 });
118
+ }
119
+ async clickDeploySubButton() {
120
+ await this.deploySubButton.click({ timeout: 60000 });
121
+ }
122
+ async deployForm(clusterName) {
123
+ await this.clickDeployButton();
124
+ await (0, test_1.expect)(this.dialog).toBeVisible({
125
+ timeout: 30000,
126
+ });
127
+ await this.selectCluster(clusterName);
128
+ await this.clickDeploySubButton();
129
+ await (0, test_1.expect)(this.deploySuccessNotification).toBeVisible({ timeout: 30000 });
130
+ }
84
131
  }
85
132
  exports.FormJsPage = FormJsPage;
@@ -51,7 +51,7 @@ class IdpCreatePage {
51
51
  name: 'Create extraction template',
52
52
  exact: true,
53
53
  });
54
- this.idpExtractionTemplateName = page.getByLabel('Name');
54
+ this.idpExtractionTemplateName = page.locator('#idp-project-name');
55
55
  this.idpDescriptionField = page.getByLabel('Description');
56
56
  this.createIdpExtractationTemplateButton = page.getByRole('button', {
57
57
  name: 'Create template',
@@ -13,6 +13,10 @@ declare class FormJsPage {
13
13
  readonly documentReferenceInput: Locator;
14
14
  readonly generalPanel: Locator;
15
15
  readonly textFieldInForm: Locator;
16
+ readonly deployButton: Locator;
17
+ readonly deploySubButton: Locator;
18
+ readonly dialog: Locator;
19
+ readonly deploySuccessNotification: Locator;
16
20
  constructor(page: Page);
17
21
  generateAIForm(request?: string): Promise<void>;
18
22
  clickAIFormGeneratorButton(): Promise<void>;
@@ -24,5 +28,9 @@ declare class FormJsPage {
24
28
  enableUploadMultipleFiles(): Promise<void>;
25
29
  filldocumentReferenceInput(key: string): Promise<void>;
26
30
  clickGeneralPropertiesPanel(): Promise<void>;
31
+ selectCluster(clusterName: string): Promise<void>;
32
+ clickDeployButton(): Promise<void>;
33
+ clickDeploySubButton(): Promise<void>;
34
+ deployForm(clusterName: string): Promise<void>;
27
35
  }
28
36
  export { FormJsPage };
@@ -17,6 +17,10 @@ class FormJsPage {
17
17
  documentReferenceInput;
18
18
  generalPanel;
19
19
  textFieldInForm;
20
+ deployButton;
21
+ deploySubButton;
22
+ dialog;
23
+ deploySuccessNotification;
20
24
  constructor(page) {
21
25
  this.page = page;
22
26
  this.aiFormGeneratorButton = page.getByRole('button', {
@@ -37,6 +41,19 @@ class FormJsPage {
37
41
  this.textFieldInForm = page
38
42
  .getByLabel('Form Definition')
39
43
  .getByText('Text field');
44
+ this.deployButton = page
45
+ .locator('[data-test="action-bar"]')
46
+ .getByRole('button', { name: 'Deploy', exact: true });
47
+ this.dialog = page
48
+ .locator('.cds--modal-container[role="dialog"]')
49
+ .filter({ hasText: 'Deploy form' });
50
+ this.deploySubButton = this.dialog.getByRole('button', {
51
+ name: 'Deploy',
52
+ exact: true,
53
+ });
54
+ this.deploySuccessNotification = page
55
+ .locator('.cds--toast-notification--success')
56
+ .filter({ hasText: 'Form deployed!' });
40
57
  }
41
58
  async generateAIForm(request = 'Create a form with the following fields: 1. A text field with the label "Full Name" 2. A number with the label "Count" 3. A date input with the label "Date of birth"4. A Checkbox with the label "Agree"') {
42
59
  await (0, test_1.expect)(this.aiFormGeneratorButton).toBeVisible({
@@ -81,5 +98,35 @@ class FormJsPage {
81
98
  async clickGeneralPropertiesPanel() {
82
99
  await this.generalPanel.click({ timeout: 60000 });
83
100
  }
101
+ async selectCluster(clusterName) {
102
+ await (0, test_1.expect)(this.dialog).toBeVisible({ timeout: 30000 });
103
+ const healthCheckTimeout = 30000;
104
+ const healthyRegex = new RegExp(`${clusterName}[\\s\\S]*?HealthydevManage`);
105
+ const cluster = this.dialog.locator(`[title="${clusterName}"]`);
106
+ await (0, test_1.expect)(cluster).toBeVisible({ timeout: 30000 });
107
+ await cluster.click();
108
+ await (0, test_1.expect)(this.dialog
109
+ .locator('label')
110
+ .filter({ hasText: clusterName })
111
+ .getByRole('switch')).toBeChecked({ timeout: 30000 });
112
+ await (0, test_1.expect)(this.dialog).toHaveText(healthyRegex, {
113
+ timeout: healthCheckTimeout,
114
+ });
115
+ }
116
+ async clickDeployButton() {
117
+ await this.deployButton.click({ timeout: 60000 });
118
+ }
119
+ async clickDeploySubButton() {
120
+ await this.deploySubButton.click({ timeout: 60000 });
121
+ }
122
+ async deployForm(clusterName) {
123
+ await this.clickDeployButton();
124
+ await (0, test_1.expect)(this.dialog).toBeVisible({
125
+ timeout: 30000,
126
+ });
127
+ await this.selectCluster(clusterName);
128
+ await this.clickDeploySubButton();
129
+ await (0, test_1.expect)(this.deploySuccessNotification).toBeVisible({ timeout: 30000 });
130
+ }
84
131
  }
85
132
  exports.FormJsPage = FormJsPage;
@@ -1,7 +1,8 @@
1
1
  import { Page, Locator } from '@playwright/test';
2
2
  declare class IdpCreatePage {
3
3
  private page;
4
- readonly createIdpTemplateButton: Locator;
4
+ readonly createNewDropdownButton: Locator;
5
+ readonly createExtractionTemplateOption: Locator;
5
6
  readonly idpExtractionTemplateName: Locator;
6
7
  readonly idpDescriptionField: Locator;
7
8
  readonly providerDropdown: Locator;
@@ -27,6 +28,7 @@ declare class IdpCreatePage {
27
28
  readonly unstructured_toastNotificationCloseButton: Locator;
28
29
  readonly selectUnstructuredDataExtraction: Locator;
29
30
  readonly selectStructuredDataExtraction: Locator;
31
+ readonly selectStructuredDataExtractionLabel: Locator;
30
32
  readonly extractionInProgressNotification: Locator;
31
33
  readonly structured_FieldsTab: Locator;
32
34
  readonly structured_TablesTab: Locator;
@@ -5,7 +5,8 @@ const test_1 = require("@playwright/test");
5
5
  const sleep_1 = require("../../utils/sleep");
6
6
  class IdpCreatePage {
7
7
  page;
8
- createIdpTemplateButton;
8
+ createNewDropdownButton;
9
+ createExtractionTemplateOption;
9
10
  idpExtractionTemplateName;
10
11
  idpDescriptionField;
11
12
  providerDropdown;
@@ -31,6 +32,7 @@ class IdpCreatePage {
31
32
  unstructured_toastNotificationCloseButton;
32
33
  selectUnstructuredDataExtraction;
33
34
  selectStructuredDataExtraction;
35
+ selectStructuredDataExtractionLabel;
34
36
  extractionInProgressNotification;
35
37
  structured_FieldsTab;
36
38
  structured_TablesTab;
@@ -47,11 +49,9 @@ class IdpCreatePage {
47
49
  structured_SuccessfullPublishNotification;
48
50
  constructor(page) {
49
51
  this.page = page;
50
- this.createIdpTemplateButton = page.getByRole('button', {
51
- name: 'Create extraction template',
52
- exact: true,
53
- });
54
- this.idpExtractionTemplateName = page.getByLabel('Name');
52
+ this.createNewDropdownButton = page.locator('[data-test="idp-create-template-dropdown"]');
53
+ this.createExtractionTemplateOption = page.locator('[data-test="create-extraction-template"]');
54
+ this.idpExtractionTemplateName = page.locator('#idp-project-name');
55
55
  this.idpDescriptionField = page.getByLabel('Description');
56
56
  this.createIdpExtractationTemplateButton = page.getByRole('button', {
57
57
  name: 'Create template',
@@ -100,8 +100,9 @@ class IdpCreatePage {
100
100
  this.unstructured_idpSuccessfullPublishNotification = page.getByText('NotificationSuccessIDP');
101
101
  this.unstructured_toastNotificationCloseButton =
102
102
  page.getByLabel('Close notification');
103
- this.selectUnstructuredDataExtraction = page.getByText('Unstructured data extraction');
104
- this.selectStructuredDataExtraction = page.getByText('Structured form extraction');
103
+ this.selectUnstructuredDataExtraction = page.locator('#idp-project-extraction-method-unstructured');
104
+ this.selectStructuredDataExtraction = page.locator('#idp-project-extraction-method-structured');
105
+ this.selectStructuredDataExtractionLabel = page.locator('label[for="idp-project-extraction-method-structured"]');
105
106
  this.extractionInProgressNotification = page.getByText('Extracting document...');
106
107
  this.structured_uploadFilesButton = page
107
108
  .getByRole('button', {
@@ -144,7 +145,11 @@ class IdpCreatePage {
144
145
  this.providerDropdown = page.getByRole('combobox', { name: 'Provider' });
145
146
  }
146
147
  async clickCreateIdpTemplateButton() {
147
- await this.createIdpTemplateButton.click({ timeout: 60000 });
148
+ await this.createNewDropdownButton.click({ timeout: 60000 });
149
+ await (0, test_1.expect)(this.createExtractionTemplateOption).toBeVisible({
150
+ timeout: 10000,
151
+ });
152
+ await this.createExtractionTemplateOption.click({ timeout: 60000 });
148
153
  }
149
154
  async fillIdpExtractionTemplateName(name) {
150
155
  await this.idpExtractionTemplateName.fill(name);
@@ -260,7 +265,21 @@ class IdpCreatePage {
260
265
  });
261
266
  }
262
267
  async selectStructuredDataExtractionMethod() {
263
- await this.selectStructuredDataExtraction.click();
268
+ await (0, test_1.expect)(this.selectStructuredDataExtractionLabel).toBeVisible({
269
+ timeout: 30000,
270
+ });
271
+ const maxRetries = 3;
272
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
273
+ await this.selectStructuredDataExtractionLabel.click({ timeout: 60000 });
274
+ const isChecked = await this.selectStructuredDataExtraction.isChecked();
275
+ if (isChecked)
276
+ return;
277
+ console.warn(`Structured extraction not selected on attempt ${attempt}, retrying...`);
278
+ await this.page.waitForTimeout(1000);
279
+ }
280
+ await (0, test_1.expect)(this.selectStructuredDataExtraction).toBeChecked({
281
+ timeout: 5000,
282
+ });
264
283
  }
265
284
  async clickStructuredUploadFilesButton() {
266
285
  await (0, test_1.expect)(this.structured_uploadFilesButton).toBeVisible({
@@ -344,10 +363,13 @@ class IdpCreatePage {
344
363
  await this.idpDescriptionField.fill(description);
345
364
  }
346
365
  async selectProvider(provider) {
347
- await this.providerDropdown.click({ timeout: 60000 });
366
+ await (0, test_1.expect)(async () => {
367
+ await this.providerDropdown.click({ timeout: 10000 });
368
+ await (0, test_1.expect)(this.providerDropdown).toHaveAttribute('aria-expanded', 'true', { timeout: 5000 });
369
+ }).toPass({ timeout: 60000 });
348
370
  const providerOption = this.page
349
- .getByRole('option', { name: provider })
350
- .getByText(provider);
371
+ .locator('[role="listbox"] [role="option"]')
372
+ .filter({ hasText: new RegExp(`^${provider}$`) });
351
373
  await (0, test_1.expect)(providerOption).toBeVisible({ timeout: 120000 });
352
374
  await providerOption.click({ timeout: 120000 });
353
375
  }
@@ -49,6 +49,7 @@ _8_8_1.test.describe('AWS Cluster User Flows Test', () => {
49
49
  await formJsPage.fillKeyInput('Upload_Files');
50
50
  await formJsPage.enableUploadMultipleFiles();
51
51
  await (0, sleep_1.sleep)(10000);
52
+ await formJsPage.deployForm(clusterName);
52
53
  });
53
54
  await _8_8_1.test.step('Create a Form with a Document Preview Field', async () => {
54
55
  await modelerHomePage.clickProjectBreadcrumb();
@@ -60,6 +61,7 @@ _8_8_1.test.describe('AWS Cluster User Flows Test', () => {
60
61
  await formJsPage.clickGeneralPropertiesPanel();
61
62
  await formJsPage.filldocumentReferenceInput('Upload_Files');
62
63
  await (0, sleep_1.sleep)(10000);
64
+ await formJsPage.deployForm(clusterName);
63
65
  });
64
66
  await _8_8_1.test.step('Add A BPMN Template To The Project', async () => {
65
67
  await modelerHomePage.clickProjectBreadcrumb();
@@ -386,6 +386,7 @@ _8_8_1.test.describe('HTO User Flow Tests', () => {
386
386
  await formJsPage.fillKeyInput('Upload_Files');
387
387
  await formJsPage.enableUploadMultipleFiles();
388
388
  await (0, sleep_1.sleep)(10000);
389
+ await formJsPage.deployForm(clusterName);
389
390
  });
390
391
  await _8_8_1.test.step('Create a Form with a Document Preview Field', async () => {
391
392
  await modelerHomePage.clickProjectBreadcrumb();
@@ -397,6 +398,7 @@ _8_8_1.test.describe('HTO User Flow Tests', () => {
397
398
  await formJsPage.clickGeneralPropertiesPanel();
398
399
  await formJsPage.filldocumentReferenceInput('Upload_Files');
399
400
  await (0, sleep_1.sleep)(10000);
401
+ await formJsPage.deployForm(clusterName);
400
402
  });
401
403
  await _8_8_1.test.step('Add A BPMN Template To The Project', async () => {
402
404
  await modelerHomePage.clickProjectBreadcrumb();
@@ -26,7 +26,7 @@ _8_8_1.test.describe('Smoke Tests', () => {
26
26
  await (0, _setup_1.captureScreenshot)(page, testInfo);
27
27
  await (0, _setup_1.captureFailureVideo)(page, testInfo);
28
28
  });
29
- (0, _8_8_1.test)('Most Common Flow User Flow With All Apps', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, }) => {
29
+ (0, _8_8_1.test)('Most Common Flow User Flow With All Apps', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, formJsPage, }) => {
30
30
  _8_8_1.test.slow();
31
31
  const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
32
32
  const formName = 'New form' + randomString;
@@ -45,10 +45,8 @@ _8_8_1.test.describe('Smoke Tests', () => {
45
45
  });
46
46
  await _8_8_1.test.step('Create Form To Be Linked For Zeebe User Task', async () => {
47
47
  await modelerHomePage.clickCrossComponentProjectFolder();
48
- await modelerHomePage.clickDiagramTypeDropdown();
49
- await modelerHomePage.clickFormOption();
50
- await modelerHomePage.enterFormName(formName);
51
- await modelerHomePage.assertFormBreadcrumbVisible(formName);
48
+ await modelerHomePage.createForm(formName);
49
+ await formJsPage.deployForm(clusterName);
52
50
  });
53
51
  await _8_8_1.test.step('Add A BPMN Template To The Project', async () => {
54
52
  await modelerHomePage.clickProjectBreadcrumb();
@@ -54,6 +54,7 @@ _8_8_1.test.describe('Web Modeler User Flow Tests', () => {
54
54
  await _8_8_1.test.step('Create an AI Generated Form', async () => {
55
55
  await modelerHomePage.createForm(formName);
56
56
  await formJsPage.generateAIForm();
57
+ await formJsPage.deployForm(clusterName);
57
58
  });
58
59
  await _8_8_1.test.step('Add A BPMN Template To The Project', async () => {
59
60
  await modelerHomePage.clickProjectBreadcrumb();
@@ -110,6 +111,7 @@ _8_8_1.test.describe('Web Modeler User Flow Tests', () => {
110
111
  await _8_8_1.test.step('Create an AI Generated Form', async () => {
111
112
  await modelerHomePage.createForm(formName);
112
113
  await formJsPage.generateAIForm();
114
+ await formJsPage.deployForm(clusterName);
113
115
  });
114
116
  await _8_8_1.test.step('Add A BPMN Template To The Project', async () => {
115
117
  await modelerHomePage.clickProjectBreadcrumb();
@@ -336,9 +338,7 @@ _8_8_1.test.describe('Web Modeler User Flow Tests', () => {
336
338
  });
337
339
  await _8_8_1.test.step('Create BPMN Diagram with a embedded form and Start Process Instance', async () => {
338
340
  await modelerCreatePage.modelJobWorkerDiagram(processName, true);
339
- await modelerCreatePage.runProcessInstance(clusterName, '', {}, 'The diagram contains 1 embedded form.');
340
- });
341
- await _8_8_1.test.step('View Process Instance in Operate and check if process is complete', async () => {
341
+ await modelerCreatePage.runProcessInstance(clusterName);
342
342
  await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
343
343
  timeout: 180000,
344
344
  });
@@ -432,6 +432,7 @@ _8_8_1.test.describe('Web Modeler User Flow Tests', () => {
432
432
  await (0, test_1.expect)(formJsPage.textFieldInForm).toBeVisible();
433
433
  await formJsPage.clickGeneralPropertiesPanel();
434
434
  await formJsPage.fillKeyInput('Public_Form_Text_Field');
435
+ await formJsPage.deployForm(clusterName);
435
436
  });
436
437
  await _8_8_1.test.step('Add A BPMN Template To The Project', async () => {
437
438
  await modelerHomePage.clickProjectBreadcrumb();
@@ -48,6 +48,7 @@ _8_9_1.test.describe('AWS Cluster User Flows Test', () => {
48
48
  await formJsPage.fillKeyInput('Upload_Files');
49
49
  await formJsPage.enableUploadMultipleFiles();
50
50
  await (0, sleep_1.sleep)(10000);
51
+ await formJsPage.deployForm(clusterName);
51
52
  });
52
53
  await _8_9_1.test.step('Create a Form with a Document Preview Field', async () => {
53
54
  await modelerHomePage.clickProjectBreadcrumb();
@@ -59,6 +60,7 @@ _8_9_1.test.describe('AWS Cluster User Flows Test', () => {
59
60
  await formJsPage.clickGeneralPropertiesPanel();
60
61
  await formJsPage.filldocumentReferenceInput('Upload_Files');
61
62
  await (0, sleep_1.sleep)(10000);
63
+ await formJsPage.deployForm(clusterName);
62
64
  });
63
65
  await _8_9_1.test.step('Add A BPMN Template To The Project', async () => {
64
66
  await modelerHomePage.clickProjectBreadcrumb();
@@ -388,6 +388,7 @@ _8_9_1.test.describe('HTO User Flow Tests', () => {
388
388
  await formJsPage.fillKeyInput('Upload_Files');
389
389
  await formJsPage.enableUploadMultipleFiles();
390
390
  await (0, sleep_1.sleep)(10000);
391
+ await formJsPage.deployForm(clusterName);
391
392
  });
392
393
  await _8_9_1.test.step('Create a Form with a Document Preview Field', async () => {
393
394
  await modelerHomePage.clickProjectBreadcrumb();
@@ -399,6 +400,7 @@ _8_9_1.test.describe('HTO User Flow Tests', () => {
399
400
  await formJsPage.clickGeneralPropertiesPanel();
400
401
  await formJsPage.filldocumentReferenceInput('Upload_Files');
401
402
  await (0, sleep_1.sleep)(10000);
403
+ await formJsPage.deployForm(clusterName);
402
404
  });
403
405
  await _8_9_1.test.step('Add A BPMN Template To The Project', async () => {
404
406
  await modelerHomePage.clickProjectBreadcrumb();
@@ -57,6 +57,7 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
57
57
  await _8_9_1.test.step('Create an AI Generated Form', async () => {
58
58
  await modelerHomePage.createForm(formName);
59
59
  await formJsPage.generateAIForm();
60
+ await formJsPage.deployForm(clusterName);
60
61
  });
61
62
  await _8_9_1.test.step('Add A BPMN Template To The Project', async () => {
62
63
  await modelerHomePage.clickProjectBreadcrumb();
@@ -113,6 +114,7 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
113
114
  await _8_9_1.test.step('Create an AI Generated Form', async () => {
114
115
  await modelerHomePage.createForm(formName);
115
116
  await formJsPage.generateAIForm();
117
+ await formJsPage.deployForm(clusterName);
116
118
  });
117
119
  await _8_9_1.test.step('Add A BPMN Template To The Project', async () => {
118
120
  await modelerHomePage.clickProjectBreadcrumb();
@@ -339,7 +341,7 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
339
341
  });
340
342
  await _8_9_1.test.step('Create BPMN Diagram with a embedded form and Start Process Instance', async () => {
341
343
  await modelerCreatePage.modelJobWorkerDiagram(processName, true);
342
- await modelerCreatePage.runProcessInstance(clusterName, '', {}, 'The diagram contains 1 embedded form.');
344
+ await modelerCreatePage.runProcessInstance(clusterName);
343
345
  });
344
346
  await _8_9_1.test.step('View Process Instance in Operate and check if process is complete', async () => {
345
347
  await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
@@ -436,6 +438,7 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
436
438
  await formJsPage.dragAndDrop(formJsPage.textField, formJsPage.formEditor);
437
439
  await (0, test_1.expect)(formJsPage.textFieldInForm).toBeVisible();
438
440
  await (0, sleep_1.sleep)(10000);
441
+ await formJsPage.deployForm(clusterName);
439
442
  });
440
443
  await _8_9_1.test.step('Add A BPMN Template To The Project', async () => {
441
444
  await modelerHomePage.clickProjectBreadcrumb();
@@ -490,6 +493,7 @@ _8_9_1.test.describe('Web Modeler User Flow Tests', () => {
490
493
  await formJsPage.dragAndDrop(formJsPage.textField, formJsPage.formEditor);
491
494
  await formJsPage.clickGeneralPropertiesPanel();
492
495
  await formJsPage.fillKeyInput('Public_Form_Text_Field');
496
+ await formJsPage.deployForm(clusterName);
493
497
  });
494
498
  await _8_9_1.test.step('Add A BPMN Template To The Project', async () => {
495
499
  await modelerHomePage.clickProjectBreadcrumb();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.217",
3
+ "version": "0.0.218",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",