@camunda/e2e-test-suite 0.0.279 → 0.0.280

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.
@@ -5,6 +5,7 @@ const test_1 = require("@playwright/test");
5
5
  const sleep_1 = require("../../utils/sleep");
6
6
  const ClientCredentialsDetailsPage_1 = require("../8.6/ClientCredentialsDetailsPage");
7
7
  const clickLocatorWithRetry_1 = require("../../utils/assertionHelpers/clickLocatorWithRetry");
8
+ const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
8
9
  class ClusterDetailsPage {
9
10
  page;
10
11
  apiTab;
@@ -395,8 +396,13 @@ class ClusterDetailsPage {
395
396
  }
396
397
  async assertComponentsHealth(components = ['Zeebe', 'Tasklist', 'Operate', 'Optimize']) {
397
398
  for (const component of components) {
398
- await (0, test_1.expect)(this.page.getByText(`${component}Healthy`, { exact: true })).toBeVisible({
399
- timeout: 60000,
399
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.page.getByText(`${component}Healthy`, { exact: true }), {
400
+ visibilityTimeout: 60000,
401
+ totalTimeout: 400000,
402
+ maxRetries: 7,
403
+ preAction: async () => {
404
+ await this.page.reload();
405
+ },
400
406
  });
401
407
  }
402
408
  }
@@ -165,11 +165,17 @@ class ConsoleOrganizationPage {
165
165
  });
166
166
  }
167
167
  async clickUsersTab() {
168
+ await (0, test_1.expect)(this.usersTab).toBeVisible({ timeout: 60000 });
168
169
  await this.usersTab.click({ timeout: 60000 });
170
+ await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.filterTableSearchbox, {
171
+ postAction: async () => {
172
+ await this.usersTab.click({ timeout: 60000 });
173
+ },
174
+ });
169
175
  }
170
176
  async clickMainUser(email) {
171
177
  await this.filterTable([email]);
172
- const user = this.rows.filter({ hasText: email }).first();
178
+ const user = this.rows.filter({ hasText: email }).getByRole('link').first();
173
179
  await (0, test_1.expect)(user).toBeVisible({ timeout: 60000 });
174
180
  await user.click();
175
181
  }
@@ -22,7 +22,9 @@ class FormJsPage {
22
22
  this.generateFormButton = page.getByRole('button', { name: 'Generate form' });
23
23
  this.formEditor = page.getByLabel('Form Definition');
24
24
  this.filePicker = page.locator('button[data-field-type="filepicker"]');
25
- this.generalPanel = page.getByTitle('General').first();
25
+ this.generalPanel = this.generalPanel = page
26
+ .locator('[data-group-id="group-general"]')
27
+ .first();
26
28
  this.keyInput = page.getByRole('textbox', { name: 'key' });
27
29
  this.uploadMultipleFilesToggle = page.locator('div[data-entry-id="multiple"] .bio-properties-panel-toggle-switch__switcher');
28
30
  this.documentReferenceInput = page.getByRole('textbox', {
@@ -93,7 +93,10 @@ class ModelerCreatePage {
93
93
  constructor(page) {
94
94
  this.page = page;
95
95
  this.generalPanel = page.locator('[data-group-id="group-general"]');
96
- this.taskDefinitionPanel = page.getByTitle('Task definition').first();
96
+ this.taskDefinitionPanel = page
97
+ .locator('div')
98
+ .filter({ hasText: /^Task definition$/ })
99
+ .first();
97
100
  this.processIdInput = page.getByLabel('ID', { exact: true });
98
101
  this.elemendIdInput = page.getByLabel('ID', { exact: true });
99
102
  this.startEventElement = page.locator('.djs-hit').first();
@@ -787,6 +790,7 @@ class ModelerCreatePage {
787
790
  }
788
791
  async fillPriorityInput(priority) {
789
792
  await this.priorityInput.fill(priority, { timeout: 60000 });
793
+ await (0, sleep_1.sleep)(1000);
790
794
  }
791
795
  async clickCanvas() {
792
796
  await this.canvas.click({ timeout: 60000 });
@@ -843,6 +847,7 @@ class ModelerCreatePage {
843
847
  await priorityUserTask.click();
844
848
  await this.clickPriorityInput();
845
849
  await this.fillPriorityInput(priority.toString());
850
+ await (0, sleep_1.sleep)(3000);
846
851
  await this.clickCanvas();
847
852
  priority += 25;
848
853
  }
@@ -875,18 +880,21 @@ class ModelerCreatePage {
875
880
  }
876
881
  async fillCandidateUsersInput(candidateUser) {
877
882
  await this.candidateUsersInput.fill(candidateUser, { timeout: 60000 });
883
+ await this.page.waitForTimeout(1000);
878
884
  }
879
885
  async clickCandidateGroupsInput() {
880
886
  await this.candidateGroupsInput.click({ timeout: 60000 });
881
887
  }
882
888
  async fillCandidateGroupsInput(candidateGroup) {
883
889
  await this.candidateGroupsInput.fill(candidateGroup, { timeout: 60000 });
890
+ await (0, sleep_1.sleep)(1000);
884
891
  }
885
892
  async clickAssigneeInput() {
886
893
  await this.assigneeInput.click({ timeout: 60000 });
887
894
  }
888
895
  async fillAssigneeInput(name) {
889
896
  await this.assigneeInput.fill(name, { timeout: 60000 });
897
+ await (0, sleep_1.sleep)(1000);
890
898
  }
891
899
  async clickTenantIdInput() {
892
900
  await (0, test_1.expect)(this.tenantIdInput).toBeVisible({ timeout: 60000 });
@@ -88,6 +88,7 @@ class ModelerHomePage {
88
88
  await this.createNewProjectButton.click();
89
89
  }
90
90
  async enterNewProjectName(name) {
91
+ await (0, sleep_1.sleep)(1000);
91
92
  await this.projectNameInput.click({ timeout: 60000 });
92
93
  await this.projectNameInput.fill(name);
93
94
  await this.projectNameInput.press('Enter');
@@ -157,6 +158,7 @@ class ModelerHomePage {
157
158
  await this.formTemplateOption.click();
158
159
  }
159
160
  async enterFormName(name) {
161
+ await (0, sleep_1.sleep)(1000);
160
162
  await this.formNameInput.click({ timeout: 60000 });
161
163
  await this.formNameInput.fill(name);
162
164
  await this.formNameInput.press('Enter');
@@ -38,7 +38,6 @@ if (process.env.IS_DS === 'true') {
38
38
  idpDocumentExtractionTemplateName = await (0, randomName_1.randomNameAgregator)(`${params.provider} unstructured` +
39
39
  ' - IDP_Extraction_Template_Name');
40
40
  await SM_8_8_1.test.step('Navigate to Cross Component Test Project', async () => {
41
- await modelerHomePage.clickMessageBanner();
42
41
  await modelerHomePage.clickCrossComponentProjectFolder();
43
42
  });
44
43
  await SM_8_8_1.test.step('Add an IDP application to the project', async () => {
@@ -93,7 +92,6 @@ if (process.env.IS_DS === 'true') {
93
92
  idpApplicationName = await (0, randomName_1.randomNameAgregator)(`${params.provider} structured` + ' - IDP_Application_Name');
94
93
  idpDocumentExtractionTemplateName = await (0, randomName_1.randomNameAgregator)(`${params.provider} structured` + ' - IDP_Extraction_Template_Name');
95
94
  await SM_8_8_1.test.step('Navigate to Cross Component Test Project', async () => {
96
- await modelerHomePage.clickMessageBanner();
97
95
  await modelerHomePage.clickCrossComponentProjectFolder();
98
96
  });
99
97
  await SM_8_8_1.test.step('Add an IDP application to the project', async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.279",
3
+ "version": "0.0.280",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",