@alfresco/aca-playwright-shared 7.3.0-21514112140 → 7.3.0-21519063154

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.
@@ -656,7 +656,7 @@ class PlaywrightBase {
656
656
  class BaseComponent extends PlaywrightBase {
657
657
  rootElement;
658
658
  overlayElement = this.page.locator('.cdk-overlay-backdrop-showing');
659
- progressBar = this.page.locator('mat-progress-bar');
659
+ progressBar = this.page.locator('[role="progressbar"]');
660
660
  constructor(page, rootElement) {
661
661
  super(page);
662
662
  this.rootElement = rootElement;
@@ -680,8 +680,8 @@ class BaseComponent extends PlaywrightBase {
680
680
  }
681
681
  async spinnerWaitForReload() {
682
682
  try {
683
- await this.page.locator('mat-progress-spinner').waitFor({ state: 'attached', timeout: timeouts.medium });
684
- await this.page.locator('mat-progress-spinner').waitFor({ state: 'detached', timeout: timeouts.normal });
683
+ await this.page.locator('[role="progressbar"]').waitFor({ state: 'attached', timeout: timeouts.medium });
684
+ await this.page.locator('[role="progressbar"]').waitFor({ state: 'detached', timeout: timeouts.normal });
685
685
  }
686
686
  catch (e) {
687
687
  this.logger.info('Spinner was not present');
@@ -773,7 +773,7 @@ class SnackBarComponent extends BaseComponent {
773
773
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
774
774
  */
775
775
  class MatMenuComponent extends BaseComponent {
776
- static rootElement = '.mat-mdc-menu-content';
776
+ static rootElement = '[role="menu"]';
777
777
  constructor(page) {
778
778
  super(page, MatMenuComponent.rootElement);
779
779
  }
@@ -801,10 +801,10 @@ class MatMenuComponent extends BaseComponent {
801
801
  return menuElement.isVisible();
802
802
  }
803
803
  async verifyActualMoreActions(expectedToolbarMore) {
804
- await this.page.locator('.mat-mdc-menu-content').waitFor({ state: 'attached' });
805
- const menus = await this.page.$$('.mat-mdc-menu-content .mat-mdc-menu-item');
804
+ await this.getChild('').waitFor();
805
+ const menus = await this.getChild('[role="menuitem"]').all();
806
806
  const actualMoreActions = await Promise.all(menus.map(async (button) => {
807
- const title = await (await button.$('.mat-mdc-menu-item-text span')).innerText();
807
+ const title = await button.locator('span span').innerText();
808
808
  return title || '';
809
809
  }));
810
810
  for (const action of expectedToolbarMore) {
@@ -870,8 +870,8 @@ class PaginationComponent extends BaseComponent {
870
870
  }
871
871
  async spinnerWaitForReload() {
872
872
  try {
873
- await this.page.locator('mat-progress-spinner').waitFor({ state: 'attached', timeout: 2000 });
874
- await this.page.locator('mat-progress-spinner').waitFor({ state: 'detached', timeout: 2000 });
873
+ await this.page.locator('[role="progressbar"]').waitFor({ state: 'attached', timeout: 2000 });
874
+ await this.page.locator('[role="progressbar"]').waitFor({ state: 'detached', timeout: 2000 });
875
875
  }
876
876
  catch (e) {
877
877
  this.logger.info('Spinner was not present');
@@ -1032,8 +1032,6 @@ class DataTableComponent extends BaseComponent {
1032
1032
  sitesName = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="Name"]');
1033
1033
  sitesRole = this.page.locator('.adf-datatable-body [data-automation-id*="datatable-row"] [aria-label="My Role"]');
1034
1034
  lockOwner = this.page.locator('.aca-locked-by--name');
1035
- uncheckedCheckbox = this.page.locator('.mat-mdc-checkbox');
1036
- checkedCheckbox = this.page.locator('.mat-mdc-checkbox-checked');
1037
1035
  highlightedText = '.aca-highlight';
1038
1036
  searchFileName = '.search-file-name';
1039
1037
  searchFileDescription = '[data-automation-id="search-results-entry-description"]';
@@ -1074,12 +1072,6 @@ class DataTableComponent extends BaseComponent {
1074
1072
  * @returns reference to cell element.
1075
1073
  */
1076
1074
  getByAriaLabelTitle = (title) => this.getChild(`[aria-label="${title}"]`);
1077
- /**
1078
- * Method used in cases where we want to get the button (hamburger menu) for row element
1079
- *
1080
- * @returns reference to menu placed in row localized by the name
1081
- */
1082
- getActionsButtonByName = (name) => this.getRowByName(name).locator('mat-icon', { hasText: new RegExp(`^\\s*more_vert\\s*$`, 'g') });
1083
1075
  /**
1084
1076
  * Method used in cases where we want to get the edit button and there is no hamburger menu
1085
1077
  *
@@ -1103,7 +1095,7 @@ class DataTableComponent extends BaseComponent {
1103
1095
  *
1104
1096
  * @returns reference to checkbox placed in row localized by the name
1105
1097
  */
1106
- getCheckboxForElement = (item) => this.getRowByName(item).locator('.mat-mdc-checkbox');
1098
+ getCheckboxForElement = (item) => this.getRowByName(item).locator('[type="checkbox"]');
1107
1099
  getColumnHeaderByTitleLocator = (headerTitle) => this.getChild('[role="columnheader"]', { hasText: headerTitle });
1108
1100
  getSearchResultLinkByName = (name) => this.getChild('.aca-search-results-row span[role="link"]', { hasText: name });
1109
1101
  getColumnValuesByName = (name) => this.getChild(`div[title="${name}"] span`);
@@ -1132,20 +1124,6 @@ class DataTableComponent extends BaseComponent {
1132
1124
  await actionButtonLocator.click();
1133
1125
  await this.spinnerWaitForReload();
1134
1126
  }
1135
- /**
1136
- * Click action from the expandable kebab menu for the element in datatable
1137
- *
1138
- * @param name title of the record you would like to proceed
1139
- * @param action provide button title for the action
1140
- * @param subAction if the action is in sub menu, then provide it here
1141
- */
1142
- async performActionForElement(name, action, subAction) {
1143
- await this.getActionsButtonByName(name).click();
1144
- await this.contextMenuActions.getButtonByText(action).click();
1145
- if (subAction) {
1146
- await this.contextMenuActions.getButtonByText(subAction).click();
1147
- }
1148
- }
1149
1127
  /**
1150
1128
  * This method is used when we want to perform double click on the dataTable row to open a file or folder
1151
1129
  *
@@ -1196,14 +1174,16 @@ class DataTableComponent extends BaseComponent {
1196
1174
  if (!isSelected) {
1197
1175
  const row = this.getRowByName(name);
1198
1176
  await row.hover();
1199
- await row.locator(this.uncheckedCheckbox).click();
1200
- await row.locator(this.checkedCheckbox).waitFor({ state: 'visible', timeout: timeouts.large });
1177
+ if (!(await this.getCheckboxForElement(name).isChecked())) {
1178
+ await this.getCheckboxForElement(name).click();
1179
+ }
1201
1180
  }
1202
1181
  }
1203
1182
  }
1204
1183
  async isRowSelected(itemName) {
1205
1184
  const row = this.getRowByName(itemName);
1206
- return row.locator(this.checkedCheckbox).isVisible();
1185
+ await row.hover();
1186
+ return this.getCheckboxForElement(itemName).isChecked();
1207
1187
  }
1208
1188
  async getColumnHeaders() {
1209
1189
  const columnNameLocator = this.columnHeaders;
@@ -1409,7 +1389,7 @@ class ToolbarComponent extends BaseComponent {
1409
1389
  class AdfFolderDialogComponent extends BaseComponent {
1410
1390
  static rootElement = 'adf-folder-dialog';
1411
1391
  folderNameInputLocator = this.getChild('[id="adf-folder-name-input"]');
1412
- folderNameInputHint = this.getChild('mat-hint');
1392
+ folderNameInputHint = this.getChild('[aria-atomic="true"] span');
1413
1393
  folderTitleInput = this.getChild('[id="adf-folder-title-input"]');
1414
1394
  folderDescriptionInput = this.getChild('[id="adf-folder-description-input"]');
1415
1395
  createButton = this.getChild('[id="adf-folder-create-button"]');
@@ -1418,7 +1398,7 @@ class AdfFolderDialogComponent extends BaseComponent {
1418
1398
  super(page, AdfFolderDialogComponent.rootElement);
1419
1399
  }
1420
1400
  getLabelText = (text) => this.getChild('label', { hasText: text });
1421
- getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
1401
+ getRequiredMarker = (text) => this.getLabelText(text).locator('span');
1422
1402
  /**
1423
1403
  * This method is used when we want to fill in Create new Folder Dialog and choose Create button
1424
1404
  *
@@ -1469,9 +1449,9 @@ class AdfLibraryDialogComponent extends BaseComponent {
1469
1449
  super(page, AdfLibraryDialogComponent.rootElement);
1470
1450
  }
1471
1451
  getLabelText = (text) => this.getChild('label', { hasText: text });
1472
- getRequiredMarker = (text) => this.getLabelText(text).locator('.mat-mdc-form-field-required-marker');
1473
- getDialogTitle = (text) => this.getChild('.mat-mdc-dialog-title', { hasText: text });
1474
- getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
1452
+ getRequiredMarker = (text) => this.getLabelText(text).locator('span');
1453
+ getDialogTitle = (text) => this.getChild('h2', { hasText: text });
1454
+ getErrorByText = (text) => this.getChild('.adf-library-dialog-form-field').getByText(text);
1475
1455
  /**
1476
1456
  * This method is used when we want to fill in Create Library Dialog and choose Create button
1477
1457
  *
@@ -1645,19 +1625,19 @@ class ViewerOverlayDialogComponent extends BaseComponent {
1645
1625
  */
1646
1626
  class ContentNodeSelectorDialog extends BaseComponent {
1647
1627
  static rootElement = 'adf-content-node-selector';
1648
- constructor(page) {
1649
- super(page, ContentNodeSelectorDialog.rootElement);
1650
- }
1651
- cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
1652
- actionButton = this.getChild('[data-automation-id="content-node-selector-actions-choose"]');
1653
- locationDropDown = this.getChild('[id="site-dropdown-container"] mat-form-field');
1654
1628
  selectedRow = this.getChild('.adf-is-selected');
1655
- getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
1656
1629
  getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
1630
+ cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
1631
+ actionButton = this.getChild('[data-automation-id="content-node-selector-actions-choose"]');
1632
+ locationDropDown = this.getChild('[id="site-dropdown-container"] .adf-sites-dropdown-form-field');
1633
+ getOptionLocator = (optionName) => this.page.locator('[role=listbox] [role=option]', { hasText: optionName }).first();
1657
1634
  getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
1658
1635
  getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
1659
1636
  getFolderIcon = this.getChild('[data-automation-id="dropdown-breadcrumb-trigger"]');
1660
1637
  loadMoreButton = this.getChild('[data-automation-id="adf-infinite-pagination-button"]');
1638
+ constructor(page) {
1639
+ super(page, ContentNodeSelectorDialog.rootElement);
1640
+ }
1661
1641
  async loadMoreNodes() {
1662
1642
  await this.spinnerWaitForReload();
1663
1643
  while (await this.loadMoreButton.isVisible()) {
@@ -1709,7 +1689,7 @@ class ContentNodeSelectorDialog extends BaseComponent {
1709
1689
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1710
1690
  */
1711
1691
  class CreateFromTemplateDialogComponent extends BaseComponent {
1712
- static rootElement = 'mat-dialog-container';
1692
+ static rootElement = '.aca-create-from-template-dialog';
1713
1693
  constructor(page) {
1714
1694
  super(page, CreateFromTemplateDialogComponent.rootElement);
1715
1695
  }
@@ -1795,16 +1775,14 @@ class AdfConfirmDialogComponent extends BaseComponent {
1795
1775
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
1796
1776
  */
1797
1777
  class DateTimePicker extends BaseComponent {
1798
- static rootElement = '.mat-calendar';
1799
- calendar = this.getChild('.mat-datepicker-popup');
1800
- dayPicker = this.getChild('mat-month-view');
1801
- nextMonthBtn = this.getChild('.mat-calendar-next-button');
1802
- rootElemLocator = this.page.locator('.mat-datepicker-popup');
1778
+ static rootElement = '[role="dialog"]';
1779
+ dayPicker = this.getChild('[role="grid"]');
1780
+ nextMonthBtn = this.getChild('[aria-label="Next month"]');
1803
1781
  constructor(page) {
1804
1782
  super(page, DateTimePicker.rootElement);
1805
1783
  }
1806
1784
  async isCalendarOpen() {
1807
- const element = this.rootElemLocator;
1785
+ const element = this.getChild('');
1808
1786
  return element.isVisible();
1809
1787
  }
1810
1788
  async pickDateTime() {
@@ -1859,10 +1837,11 @@ class ShareDialogComponent extends BaseComponent {
1859
1837
  urlAction = this.getChild('.adf-input-action');
1860
1838
  expireToggle = this.getChild(`[data-automation-id='adf-expire-toggle']`);
1861
1839
  expireInput = this.getChild('input[formcontrolname="time"]');
1862
- datetimePickerButton = this.getChild('.mat-datepicker-toggle');
1840
+ datetimePickerButton = this.getChild('[data-automation-id="adf-content-share-expiration-field"] button');
1841
+ dateErrorText = this.getChild('[data-automation-id="adf-share-link-input-warning"]');
1842
+ clockIcon = this.getChild('[adf-icon="timer"]');
1863
1843
  dateTimePicker = new DateTimePicker(this.page);
1864
1844
  getDialogLabel = () => this.getChild('label').innerText();
1865
- getErrorByText = (text) => this.page.locator('mat-error', { hasText: text });
1866
1845
  async getLabels() {
1867
1846
  return this.page.$$eval('.adf-share-link__label', (elements) => elements.map((element) => element.textContent));
1868
1847
  }
@@ -2084,18 +2063,18 @@ class AdfDeleteTrashComponent extends BaseComponent {
2084
2063
  */
2085
2064
  class LinkRulesDialog extends BaseComponent {
2086
2065
  static rootElement = 'aca-rule-set-picker';
2087
- constructor(page) {
2088
- super(page, LinkRulesDialog.rootElement);
2089
- }
2066
+ getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
2090
2067
  cancelButton = this.getChild('[data-automation-id="content-node-selector-actions-cancel"]');
2091
2068
  selectFolderButton = this.getChild('button', { hasText: ' Select folder ' });
2092
2069
  emptyLinkRules = this.getChild('.adf-empty-content__title');
2093
- getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName });
2094
- getRowByName = (name) => this.getChild(`adf-datatable-row`, { hasText: name.toString() });
2070
+ getOptionLocator = (optionName) => this.page.locator('[role=listbox] [role=option]', { hasText: optionName }).first();
2095
2071
  getDialogTitle = (text) => this.getChild('[data-automation-id="content-node-selector-title"]', { hasText: text });
2096
2072
  getBreadcrumb = (text) => this.getChild('[data-automation-id="current-folder"]', { hasText: text });
2097
2073
  getFolderIcon = this.getChild('.adf-dropdown-breadcrumb-icon', { hasText: 'folder' });
2098
2074
  getLibraryIcon = this.getChild('.adf-empty-content__icon', { hasText: 'library_books' });
2075
+ constructor(page) {
2076
+ super(page, LinkRulesDialog.rootElement);
2077
+ }
2099
2078
  async selectDestination(folderName) {
2100
2079
  const row = this.getRowByName(folderName);
2101
2080
  await expect(row).toBeVisible();
@@ -2138,14 +2117,14 @@ class LinkRulesDialog extends BaseComponent {
2138
2117
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2139
2118
  */
2140
2119
  class EditDialog extends BaseComponent {
2141
- static rootElement = 'mat-dialog-container';
2120
+ static rootElement = 'adf-folder-dialog';
2142
2121
  editDialog = this.getChild('');
2143
2122
  titleInput = this.getChild('[data-automation-id="adf-folder-dialog-title"]');
2144
2123
  cancelButton = this.getChild('#adf-folder-cancel-button');
2145
2124
  updateButton = this.getChild('#adf-folder-create-button');
2146
2125
  descriptionInput = this.getChild('#adf-folder-description-input');
2147
2126
  nameInput = this.getChild('#adf-folder-name-input');
2148
- fieldHint = this.getChild('mat-hint');
2127
+ fieldHint = this.getChild('[aria-atomic="true"] span');
2149
2128
  constructor(page) {
2150
2129
  super(page, EditDialog.rootElement);
2151
2130
  }
@@ -2307,8 +2286,8 @@ class ManageRulesDialogComponent extends BaseComponent {
2307
2286
  class ManageRules extends BaseComponent {
2308
2287
  static rootElement = '.aca-manage-rules';
2309
2288
  getGroupsList = (optionName) => this.getChild('.aca-rule-list-item__header', { hasText: optionName });
2310
- ruleToggle = this.getChild('.aca-manage-rules__container .mdc-switch').first();
2311
- ruleToggleFalse = this.getChild('aca-rule-list-grouping aca-rule-list-item .mdc-switch--unselected').first();
2289
+ ruleToggle = this.getChild('.aca-manage-rules__container [role="switch"]').first();
2290
+ ruleToggleFalse = this.getChild('aca-rule-list-grouping aca-rule-list-item [role="switch"][aria-checked="false"]').first();
2312
2291
  ruleDetailsTitle = this.getChild('.aca-manage-rules__container__rule-details__header__title__name');
2313
2292
  ruleDetailsDeleteButton = this.getChild('#delete-rule-btn');
2314
2293
  ruleDetailsEditButton = this.getChild('#edit-rule-btn');
@@ -2396,7 +2375,7 @@ class ManageRules extends BaseComponent {
2396
2375
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2397
2376
  */
2398
2377
  class SpinnerComponent extends BaseComponent {
2399
- static rootElement = 'mat-progress-spinner';
2378
+ static rootElement = '[role="progressbar"]';
2400
2379
  constructor(page, rootElement = SpinnerComponent.rootElement) {
2401
2380
  super(page, rootElement);
2402
2381
  }
@@ -2469,20 +2448,19 @@ var MimeType;
2469
2448
  })(MimeType || (MimeType = {}));
2470
2449
  class ActionsDropdownComponent extends BaseComponent {
2471
2450
  static rootElement = 'aca-edit-rule-dialog aca-rule-action-list';
2472
- getOptionLocator = (optionName) => this.page.locator('.mat-mdc-select-panel .mdc-list-item__primary-text', { hasText: optionName }).first();
2451
+ getOptionLocator = (optionName) => this.page.locator('[role=listbox] [role=option]', { hasText: optionName }).first();
2473
2452
  ruleActionLocator = this.getChild('aca-rule-action');
2474
2453
  addActionButtonLocator = this.getChild('[data-automation-id="rule-action-list-add-action-button"]');
2475
2454
  actionDropdownLocator = this.getChild('[data-automation-id="rule-action-select"]');
2476
2455
  actionAspectNameLocator = '[data-automation-id="header-aspect-name"] .adf-property-field';
2477
2456
  actionCheckInInputLocator = '[data-automation-id="header-description"] input';
2478
- actionAutoDeclareLocator = '[data-automation-id="header-version"] mat-select';
2479
- actionSpecialiseTypeLocator = '[data-automation-id="header-type-name"] mat-select';
2480
2457
  actionSimpleWorkflowStepInputLocator = '[data-automation-id="header-approve-step"] input';
2481
- actionSimpleWorkflowApproveFolderLocator = `[data-automation-id="header-approve-folder"] mat-icon`;
2482
2458
  actionSimpleWorkflowActionChoiceLocator = '[data-automation-id="content-node-selector-actions-choose"]';
2483
2459
  actionSimpleWorkflowLabelApproveLocator = `[data-automation-id="card-boolean-label-approve-move"]`;
2484
2460
  actionSimpleWorkflowSRejectStepLocator = '[data-automation-id="header-reject-step"] input';
2485
2461
  actionSimpleWorkflowRejectFolderLocator = `[data-automation-id="header-reject-folder"] input`;
2462
+ actionSimpleWorkflowApproveFolderLocator = `[data-automation-id="header-approve-folder"] [role="img"]`;
2463
+ actionSpecialiseTypeLocator = '[data-automation-id="header-type-name"] [role="combobox"]';
2486
2464
  mimeTypeDropdownLocator = this.getChild('[data-automation-id="select-box"][aria-label="Mimetype *"]');
2487
2465
  actionTransformAndCopyContentDestinationFolderLocator = '[data-automation-id="card-textitem-value-destination-folder"]';
2488
2466
  contentNodeSelectorSearchInput = '[data-automation-id="content-node-selector-search-input"]';
@@ -2508,9 +2486,6 @@ class ActionsDropdownComponent extends BaseComponent {
2508
2486
  async insertAddAspectActionValues(AspectValue, index) {
2509
2487
  await this.dropdownSelection(AspectValue, this.actionAspectNameLocator, index);
2510
2488
  }
2511
- async insertAutoDeclareOptionsActionValues(autoDeclareOptionsValue, index) {
2512
- await this.dropdownSelection(autoDeclareOptionsValue, this.actionAutoDeclareLocator, index);
2513
- }
2514
2489
  async insertSpecialiseTypeActionValues(specialiseTypeValue, index) {
2515
2490
  await this.dropdownSelection(specialiseTypeValue, this.actionSpecialiseTypeLocator, index);
2516
2491
  }
@@ -2619,7 +2594,7 @@ var Comparator;
2619
2594
  Comparator["EndsWith"] = "Ends with";
2620
2595
  })(Comparator || (Comparator = {}));
2621
2596
  class ConditionComponent extends ManageRulesDialogComponent {
2622
- getOptionLocator = (optionName) => this.page.locator(`.cdk-overlay-pane .mat-mdc-option span`, { hasText: optionName });
2597
+ getOptionLocator = (optionName) => this.page.locator('[role=listbox] [role=option]', { hasText: optionName }).first();
2623
2598
  async selectField(fields, index) {
2624
2599
  await this.fieldDropDown.nth(index).click();
2625
2600
  const option = this.getOptionLocator(fields);
@@ -2681,7 +2656,7 @@ class AdfInfoDrawerComponent extends BaseComponent {
2681
2656
  tagsCreator = this.getChild('adf-tags-creator');
2682
2657
  getNameField = (labelText) => this.getChild(`[data-automation-id="library-name-properties-wrapper"] input[placeholder='${labelText}']`);
2683
2658
  getIdField = (labelText) => this.getChild(`[data-automation-id="library-id-properties-wrapper"] input[placeholder='${labelText}']`);
2684
- getVisibilityField = (labelText) => this.getChild(`[data-automation-id="library-visibility-properties-wrapper"] mat-select[ng-reflect-placeholder='${labelText}']`);
2659
+ getVisibilityField = (labelText) => this.getChild(`[data-automation-id="library-visibility-properties-wrapper"] [role="combobox"][ng-reflect-placeholder='${labelText}']`);
2685
2660
  getDescriptionField = this.getChild('[data-automation-id="library-description-properties-wrapper"] textarea');
2686
2661
  propertiesTab = this.page.getByRole('tab', { name: 'Properties' });
2687
2662
  commentsTab = this.page.getByRole('tab', { name: 'Comments' });
@@ -2698,10 +2673,11 @@ class AdfInfoDrawerComponent extends BaseComponent {
2698
2673
  editButton = this.page.getByRole('button', { name: 'Edit' });
2699
2674
  cancelButton = this.page.getByRole('button', { name: 'Cancel' });
2700
2675
  updateButton = this.page.getByRole('button', { name: 'Update' });
2701
- hintMessage = this.page.locator('mat-hint');
2702
- errorMessage = this.page.locator('mat-error');
2676
+ hintMessage = this.getChild('[data-automation-id="app-library-metadata-form-name-hint"]');
2677
+ errorNameMessage = this.getChild('[data-automation-id="library-name-properties-wrapper"] [aria-atomic="true"]');
2678
+ errorDescriptionMessage = this.getChild('[data-automation-id="library-description-properties-wrapper"] [aria-atomic="true"]');
2703
2679
  expandDetailsButton = this.getChild(`button[title='Expand panel']`);
2704
- expandedDetailsTabs = this.page.locator('.aca-details-container .mdc-tab__text-label');
2680
+ expandedDetailsTabs = this.page.locator('.aca-details-container [role="tab"]');
2705
2681
  expandedDetailsPermissionsTab = this.expandedDetailsTabs.getByText('Permissions');
2706
2682
  nameField = this.page.locator('input[placeholder=Name]');
2707
2683
  idField = this.page.locator(`input[placeholder='Library ID']`);
@@ -2714,7 +2690,7 @@ class AdfInfoDrawerComponent extends BaseComponent {
2714
2690
  categoriesAccordionPenButton = this.categoriesAccordion.locator('[data-automation-id="meta-data-categories-edit"]');
2715
2691
  tagsInput = this.tagsCreator.locator('input');
2716
2692
  createTagButton = this.tagsCreator.locator('.adf-create-tag-label');
2717
- tagsChips = this.tagsCreator.locator('mat-chip');
2693
+ tagsChips = this.tagsCreator.locator('[role="listitem"]');
2718
2694
  tagsChipsXButton = this.tagsChips.locator('.adf-dynamic-chip-list-delete-icon');
2719
2695
  tagsAccordionCancelButton = this.getChild('[data-automation-id="reset-tags-metadata"]');
2720
2696
  tagsAccordionConfirmButton = this.getChild('[data-automation-id="save-tags-metadata"]');
@@ -3051,16 +3027,13 @@ class SearchOverlayComponent extends BaseComponent {
3051
3027
  super(page, rootElement);
3052
3028
  }
3053
3029
  async isFoldersOptionChecked() {
3054
- const optClass = await this.searchFoldersOption.getAttribute('class');
3055
- return optClass.includes('.mat-mdc-checkbox-checked');
3030
+ return this.searchFoldersOption.isChecked();
3056
3031
  }
3057
3032
  async isFilesOptionChecked() {
3058
- const optClass = await this.searchFilesOption.getAttribute('class');
3059
- return optClass.includes('.mat-mdc-checkbox-checked');
3033
+ return this.searchFilesOption.isChecked();
3060
3034
  }
3061
3035
  async isLibrariesOptionChecked() {
3062
- const optClass = await this.searchLibrariesOption.getAttribute('class');
3063
- return optClass.includes('.mat-mdc-checkbox-checked');
3036
+ return this.searchLibrariesOption.isChecked();
3064
3037
  }
3065
3038
  async clearOptions() {
3066
3039
  if (await this.isFilesOptionChecked()) {
@@ -3124,8 +3097,8 @@ class SearchSortingPicker extends BaseComponent {
3124
3097
  static rootElement = '#aca-button-action-menu';
3125
3098
  actionMenu = this.page.locator('[data-automation-id="auto_header_content_id_$thumbnail"]');
3126
3099
  sortOrderButton = this.page.locator('#aca-button-sorting-menu');
3127
- sortByDropdownExpanded = this.page.locator('.mat-mdc-menu-panel').first();
3128
- sortByList = this.page.locator('.mat-mdc-menu-panel button');
3100
+ sortByDropdownExpanded = this.page.locator('[role="menu"]').first();
3101
+ sortByList = this.page.locator('[role="menu"] button');
3129
3102
  constructor(page, rootElement = SearchSortingPicker.rootElement) {
3130
3103
  super(page, rootElement);
3131
3104
  }
@@ -3207,7 +3180,7 @@ class SearchFilters extends BaseComponent {
3207
3180
  menuCardClose = this.page.locator('.adf-search-filter-title-action');
3208
3181
  menuCardClear = this.page.locator('#cancel-filter-button');
3209
3182
  menuCardApply = this.page.locator('#apply-filter-button');
3210
- dropdownOptions = this.page.locator(`mat-option`);
3183
+ dropdownOptions = this.page.locator(`[role="option"]`);
3211
3184
  }
3212
3185
 
3213
3186
  /*!
@@ -3461,13 +3434,13 @@ class SearchFiltersProperties extends BaseComponent {
3461
3434
  fileSizeInput = this.getChild(`[placeholder$='Enter file size']`);
3462
3435
  unitButton = this.getChild(`[data-automation-id='adf-search-properties-file-size-unit']`);
3463
3436
  fileTypeInput = this.getChild(`[placeholder$='File Type']`);
3464
- atLeastOption = this.page.locator(`mat-option`, { hasText: 'At Least' });
3465
- atMostOption = this.page.locator(`mat-option`, { hasText: 'At Most' });
3466
- exactlyOption = this.page.locator(`mat-option`, { hasText: 'Exactly' });
3467
- kbUnit = this.page.locator(`mat-option`, { hasText: 'KB' });
3468
- mbUnit = this.page.locator(`mat-option`, { hasText: 'MB' });
3469
- gbUnit = this.page.locator(`mat-option`, { hasText: 'GB' });
3470
- dropdownOptions = this.page.locator(`mat-option`);
3437
+ atLeastOption = this.page.locator(`[role="option"]`, { hasText: 'At Least' });
3438
+ atMostOption = this.page.locator(`[role="option"]`, { hasText: 'At Most' });
3439
+ exactlyOption = this.page.locator(`[role="option"]`, { hasText: 'Exactly' });
3440
+ kbUnit = this.page.locator(`[role="option"]`, { hasText: 'KB' });
3441
+ mbUnit = this.page.locator(`[role="option"]`, { hasText: 'MB' });
3442
+ gbUnit = this.page.locator(`[role="option"]`, { hasText: 'GB' });
3443
+ dropdownOptions = this.page.locator(`[role="option"]`);
3471
3444
  async setPropertiesParameters(page, operator, unit, fileSizeInputText, fileTypeInputText) {
3472
3445
  await page.searchFilters.propertiesFilter.click();
3473
3446
  if (operator) {