[ACS-6693] Migration to NG15 (#3959)

* [ACS-6693] Angular 15 migration initial point

* [ACS-6693] Angular 15 - update ADF dependencies from the ng15-start branch (#3712)

* [ACS-6693] Angular 15 - adding mat core (#3715)

* Stylelint fix

* Migration - added stylePrepocessor for material selectors

* Skip unit tests from branch release until errors are fixed

* [ACS-7285] - [ACA] Angular 15 - Left sidebar + table (#3719)

* [ACS-7286] Fix topbar user info issues (#3720)

* [ACS-6693] Bump peerDependencies in ACA libs

* [ACS-7330] edit rules dialog fixes (#3723)

* [ACS-6693] Fix peer dependencies in ACA packages

* [ACS-7328] Fix searchbar display (#3729)

* [ACS-7631] Fix broken filters (#3735)

* [ACS-7331] - Angular 15 - Edit aspects modal [ACA]

* [ACS-7449] Fix broken filter labels styling (#3745)

* [ACS-7351] ng15 Manage rules fixes (#3751)

* [ACS-7351] ng15 manage rules fixes

* [ACS-7351] cr fix

* [ACS-7351] cr fix

* [ACS-7370] - [ACA] Leave library dialog misses some padding (#3749)

* [ACS-6693] Bump ADF version

* [ACS-7372] - user profile page issues (#3757)

* [ACS-7372] - [ACA] User profile page issues

* [ACS-7415] - Move file dialog (#3755)

* [ACS-7452] - Small screen notification banner [ACS-7418] About page (#3760)

* [ACS-7452] - Small screen notification banner

* [ACS-7452] - Small screen notification banner [ACS-7418] About page

* [ACS-7511] Subfont for dialogs, make darker (#3765)

* [ACS-7448] Fix wrong notifications colors (#3761)

* [ACS-7448] Fix notifications colors, move them from adf to aca (#3771)

* [ACS-7375] - Share link dialog issues (#3774)

* [ACS-7517] - Notifications box (#3775)

* [ACS-7373] ng15 permission tab fixes (#3762)

* [ACS-7368] Fix unit tests for aca-content (#3779)

* [ACS-7410] - Locked files overflow issues (#3780)

* [ACS-7528] - Notification and user icons are a bit different (#3782)

* [ACS-7529] - Columns visibility dropdown has broken styles (#3783)

* [ACS-7537] - Share dialog (#3789)

* Use latest ADF alpha

* Post rebase unit test fix

* Disable stylelint

* Calendar button fix

* [ACS-7369] ng15 migration - fix e2es (#3796)

* [ACS-7369] e2e fixes

* [ACS-7369] cr fix

* [ACS-7331] - Angular 15 - View details sidebar (#3731)

* [ACS-7542] - Upload new version dialog (#3800)

* [ACS-7575] create library dialog e2e fix (#3803)

* [ACS-7534] folder dialog e2e fixes (#3804)

* [ACS-7574] Rules dialog edit (#3801)

* [ACS-7571] Comments (#3810)

* [ACS-7555] Added blue outline to focused checkboxes (#3813)

* [ACS-7582] File upload dialog, fix button weight label globally (#3814)

* [ACS-7531] - Search page (#3816)

* [ACS-7559] Conext menus icons (#3818)

* [ACS-6693] Bump ADF

* Temporary lint disable

* [ACS-7572] link rules dialog (#3817)

* [ACS-7533] - Advanced search chips dropdowns (#3821)

* [ACS-7560] Corrected background color for info snackbar (#3824)

* [ACS-7558] - Toolbar and buttons (#3833)

* [ACS-7573] folder rules fixes (#3836)

* [ACS-7573] folder rules fixes

* [ACS-7573] cr fix

* [ACS-7561] - Permissions page (#3840)

* [ACS-7768] unify inputs and selects across the app (#3845)

* ACS-7768 Style inputs in create from template dialog

* ACS-7768 Used globally configured outline appearance for inputs

* ACS-7768 Style inputs for profile page

* ACS-7768 Style inputs for library metadata form

* ACS-7768 Style inputs for folder rules dialog

* ACS-7768 Style inputs for manage rules page

* ACS-7768 Set outline appearance for input, fix small issue

* ACS-7768 Addressed comment

* Revert "[ACS-7768] unify inputs and selects across the app (#3845)" (#3850)

This reverts commit 6a5ef73283.

* [ACS-8043] fix js api dependencies (#3855)

* [ACS-8020] Fixed inputs for create from template dialog (#3857)

* [ACS-8027] Inputs for create rules (#3860)

* [ACS-8052] inputs for general info for libraries (#3863)

* [ACS-8052] Inputs for general info for libraries

* Fix after CR

* [ACS-8059] Inputs for view rules (#3865)

* [ACS-8026] Fixed Task form rendering (#3864)

* Updating to the latest package of 6.10 from ADF

* Updating to the latest ADF/JS-API - updating dependency rule

* Regenerated package lock

* [ACS-8082] fix search e2e (#3876)

* Using latest ADF with BC of ConfirmDialogComponent

* [ACS-8099] [ACA] Testing Angular 15 - Accessibility for search text area (#3883)

* [ACS-8100] [ACA] Testing Angular 15 - Accessibility for search facet and filter (#3887)

* [ACS-8158] Resolved issue where long tag names were not getting word wrapped in ACA. Fixed alignment issue with tag chip cross button (#3890)

* [ACS-8101] [ACA] Testing Angular 15 - Manage rule popup visual changes (#3891)

* [ACS-8191] Updated codebase to use variables from mat-selectors.scss file (#3889)

* [ACS-8191] Updated ACA codebase to use selectors from mat-selectors.scss file instead of hardcoded selectors

* [ACS-8191] Resolved configuration issue where running unit test on aca-shared failed due to not finding adf-core styles

* Update ADF dependencies (#3897)

* Upgrading ADF packages

* Use latest ADF

* Updated packages version

* Updated packages version

* Updated packages version

* Updated packages version

* Updated packages version

* Updated packages version

* Updated packages version

* [ACS-8253] viewer file name change position on navigation (#3914)

* Updated ADF version

* Use latest ADF

* Package lock fix

* Build fix

* Restore release branch build and unit tests

* E2Es fix

* Fix SonarCloud issues

* Stylelint fix

* Stylelint fix

* [ACS-8442] Remove additional checkbox label

* First batch of E2E fixes

* Bump ADF

* Second round of E2E locators fixes

* Locator fix

* [ACS-8443] Fix incorrect focus style for checkboxes

* E2Es locators fixes

* E2E locator fixes

* [ACS-6693] locator fix upload new version title

* E2E locator fix

* E2E locator fix

* [ACS-6693] locator fix upload new version file

---------

Co-authored-by: jacekpluta <73617938+jacekpluta@users.noreply.github.com>
Co-authored-by: Vito Albano <vito.albano@hyland.com>
Co-authored-by: tomson <nastalytomasz@gmail.com>
Co-authored-by: Mykyta Maliarchuk <84377976+nikita-web-ua@users.noreply.github.com>
Co-authored-by: Jacek Pluta <jacek.pluta@hyland.com>
Co-authored-by: dominikiwanekhyland <141320833+dominikiwanekhyland@users.noreply.github.com>
Co-authored-by: tomson <tomasz.nastaly@hyland.com>
Co-authored-by: AleksanderSklorz <115619721+AleksanderSklorz@users.noreply.github.com>
Co-authored-by: swapnil-verma-gl <92505353+swapnil-verma-gl@users.noreply.github.com>
Co-authored-by: VitoAlbano <vito.albano.123@gmail.com>
Co-authored-by: Akash Rathod <41251473+akashrathod28@users.noreply.github.com>
Co-authored-by: Ehsan Rezaei <ehsan.rezaei@hyland.com>
Co-authored-by: akash.rathod@hyland.com <akash.rathod@hyland.com>
This commit is contained in:
MichalKinas
2024-07-22 07:08:01 +02:00
committed by GitHub
parent 847fcf4c36
commit 02b6757ea3
104 changed files with 10902 additions and 9852 deletions

View File

@@ -31,8 +31,8 @@ export class ContentNodeSelectorDialog extends GenericDialog {
copyButton = this.childElement(by.cssContainingText('[data-automation-id="content-node-selector-actions-choose"]', 'Copy'));
locationDropDown = this.rootElem.element(by.id('site-dropdown-container'));
locationPersonalFiles = browser.element(by.cssContainingText('.mat-option .mat-option-text', 'Personal Files'));
locationFileLibraries = browser.element(by.cssContainingText('.mat-option .mat-option-text', 'My Libraries'));
locationPersonalFiles = browser.element(by.cssContainingText('.mat-mdc-option .mdc-list-item__primary-text', 'Personal Files'));
locationFileLibraries = browser.element(by.cssContainingText('.mat-mdc-option .mdc-list-item__primary-text', 'My Libraries'));
searchInput = this.rootElem.element(by.css('#searchInput'));
@@ -47,7 +47,7 @@ export class ContentNodeSelectorDialog extends GenericDialog {
}
async waitForDropDownToClose(): Promise<void> {
await waitForStaleness(browser.$('.mat-option .mat-option-text'));
await waitForStaleness(browser.$('.mat-mdc-option .mdc-list-item__primary-text'));
}
async selectLocation(location: string): Promise<void> {

View File

@@ -27,13 +27,13 @@ import { GenericDialog } from './generic-dialog';
import { click, getInputValue, isPresentAndDisplayed, isPresentAndEnabled, typeText, waitUntilElementIsClickable } from '../../utilities';
export class CreateOrEditFolderDialog extends GenericDialog {
createButton = this.childElement(by.cssContainingText('.mat-dialog-actions button', 'Create'));
createButton = this.childElement(by.cssContainingText('.mat-mdc-dialog-actions button', 'Create'));
cancelButton = this.childElement(by.id('adf-folder-cancel-button'));
updateButton = this.childElement(by.cssContainingText('.mat-dialog-actions button', 'Update'));
updateButton = this.childElement(by.cssContainingText('.mat-mdc-dialog-actions button', 'Update'));
nameInput = this.rootElem.element(by.id('adf-folder-name-input'));
descriptionTextArea = this.rootElem.element(by.id('adf-folder-description-input'));
validationMessage = this.rootElem.element(by.css('.mat-hint span'));
validationMessage = this.rootElem.element(by.css('.mat-mdc-form-field-hint span'));
constructor() {
super('adf-folder-dialog');

View File

@@ -33,11 +33,11 @@ export abstract class GenericDialog {
}
get title(): ElementFinder {
return this.rootElem.element(by.css('.mat-dialog-title'));
return this.rootElem.element(by.css('.mat-mdc-dialog-title'));
}
get content(): ElementFinder {
return this.rootElem.element(by.css('.mat-dialog-content'));
return this.rootElem.element(by.css('.mat-mdc-dialog-content'));
}
async getText(): Promise<string> {

View File

@@ -27,26 +27,26 @@ import { Component } from '../component';
import { waitForPresence, waitForStaleness, typeText, click } from '../../utilities';
export class LibraryMetadata extends Component {
visibilityDropDown = this.component.element(by.css('.mat-select'));
visibilityPublic = this.byCssText('.mat-option .mat-option-text', 'Public', browser);
visibilityPrivate = this.byCssText('.mat-option .mat-option-text', 'Private', browser);
visibilityModerated = this.byCssText('.mat-option .mat-option-text', 'Moderated', browser);
visibilityValue = this.byCss('[data-automation-id="library-visibility-properties-wrapper"] .mat-select');
visibilityDropDown = this.component.element(by.css('.mat-mdc-select'));
visibilityPublic = this.byCssText('.mat-mdc-option .mdc-list-item__primary-text', 'Public', browser);
visibilityPrivate = this.byCssText('.mat-mdc-option .mdc-list-item__primary-text', 'Private', browser);
visibilityModerated = this.byCssText('.mat-mdc-option .mdc-list-item__primary-text', 'Moderated', browser);
visibilityValue = this.byCss('[data-automation-id="library-visibility-properties-wrapper"] .mat-mdc-select');
hint = this.byCss('.mat-hint');
error = this.byCss('.mat-error');
hint = this.byCss('.mat-mdc-form-field-hint');
error = this.byCss('.mat-mdc-form-field-error');
constructor(ancestor?: string) {
super('app-library-metadata-form', ancestor);
}
private getLabelWrapper(label: string) {
return this.byCssText('.mat-form-field-label-wrapper', label);
return this.byCssText('.mat-mdc-floating-label', label);
}
private getFieldByName(fieldName: string) {
const wrapper = this.getLabelWrapper(fieldName);
return wrapper.element(by.xpath('..')).element(by.css('.mat-input-element'));
return wrapper.element(by.xpath('..')).element(by.css('.mat-mdc-input-element'));
}
private async isFieldDisplayed(fieldName: string) {
@@ -67,7 +67,7 @@ export class LibraryMetadata extends Component {
}
private getButton(button: string) {
return this.byCssText('.mat-card-actions .mat-button', button);
return this.byCssText('.mat-mdc-card-actions .mat-mdc-button', button);
}
private async isButtonDisplayed(button: string) {
@@ -83,7 +83,7 @@ export class LibraryMetadata extends Component {
}
async waitForVisibilityDropDownToClose() {
await waitForStaleness(browser.$('.mat-option .mat-option-text'));
await waitForStaleness(browser.$('.mat-mdc-option .mdc-list-item__primary-text'));
}
async isMessageDisplayed() {
@@ -136,7 +136,7 @@ export class LibraryMetadata extends Component {
async isVisibilityEnabled() {
const wrapper = this.getLabelWrapper('Visibility');
const field = wrapper.element(by.xpath('..')).element(by.css('.mat-select'));
const field = wrapper.element(by.xpath('..')).element(by.css('.mat-mdc-select'));
return field.isEnabled();
}

View File

@@ -27,28 +27,28 @@ import { Component } from '../component';
import { click, waitForPresence, waitForStaleness, waitUntilElementIsVisible } from '../../utilities';
export class Menu extends Component {
items = this.allByCss('.mat-menu-item');
items = this.allByCss('.mat-mdc-menu-item');
uploadFilesInput = this.byId('app-upload-files', browser);
cancelEditingAction = this.byCss(`.mat-menu-item[title='Cancel Editing']`);
cancelEditingAction = this.byCss(`.mat-mdc-menu-item[title='Cancel Editing']`);
copyAction = this.byTitleAttr('Copy');
editFolderAction = this.byCss(`.mat-menu-item[id$='editFolder']`);
editOfflineAction = this.byCss(`.mat-menu-item[title='Edit Offline']`);
editFolderAction = this.byCss(`.mat-mdc-menu-item[id$='editFolder']`);
editOfflineAction = this.byCss(`.mat-mdc-menu-item[title='Edit Offline']`);
constructor(ancestor?: string) {
super('.mat-menu-panel', ancestor);
super('.mat-mdc-menu-panel', ancestor);
}
async waitForMenuToOpen(): Promise<void> {
await waitForPresence(browser.element(by.css('.cdk-overlay-container .mat-menu-panel')));
await waitForPresence(browser.element(by.css('.cdk-overlay-container .mat-mdc-menu-panel')));
await waitUntilElementIsVisible(this.items.get(0));
}
async waitForMenuToClose(): Promise<void> {
await waitForStaleness(browser.element(by.css('.cdk-overlay-container .mat-menu-panel')));
await waitForStaleness(browser.element(by.css('.cdk-overlay-container .mat-mdc-menu-panel')));
}
private getItemByLabel(menuItem: string): ElementFinder {
return this.byCssText('.mat-menu-item', menuItem);
return this.byCssText('.mat-mdc-menu-item', menuItem);
}
async getItemIconText(menuItem: string): Promise<string> {

View File

@@ -27,8 +27,8 @@ import { GenericFilter } from './generic-filter';
export class AutocompleteChipsFilter extends GenericFilter {
private readonly locators = {
selectedOption: '.mat-chip span',
input: '.mat-menu-content input',
selectedOption: '.mat-mdc-chip span',
input: '.mat-mdc-menu-content input',
};
constructor(filterName: string) {

View File

@@ -27,10 +27,10 @@ import { GenericFilter } from './generic-filter';
export class FacetFilter extends GenericFilter {
private readonly locators = {
checkbox: '.mat-menu-content .mat-checkbox',
checkboxChecked: '.mat-menu-content .mat-checkbox.mat-checkbox-checked',
categoryInput: '.mat-menu-content input[data-automation-id^="facet-result-filter"]',
facetsFilter: '.mat-menu-content .adf-facet-result-filter'
checkbox: '.mat-mdc-menu-content .mat-mdc-checkbox',
checkboxChecked: '.mat-mdc-menu-content .mat-mdc-checkbox.mat-mdc-checkbox-checked',
categoryInput: '.mat-mdc-menu-content input[data-automation-id^="facet-result-filter"]',
facetsFilter: '.mat-mdc-menu-content .adf-facet-result-filter'
};
get facets(): ElementArrayFinder {

View File

@@ -32,8 +32,8 @@ export class FacetTabbedFilter extends GenericFilter {
chipList: '.mat-tab-body-active .adf-chip-list',
chipListInput: '.mat-tab-body-active .adf-chip-list input',
currentTabLabel: '.mat-tab-label-active .mat-tab-label-content',
chip: '.mat-chip span',
option: '.mat-option-text'
chip: '.mat-mdc-chip span',
option: '.mdc-list-item__primary-text'
};
chips: ElementArrayFinder = this.filterDialogOpened.all(by.css(this.locators.chip));

View File

@@ -45,8 +45,8 @@ export class GenericFilter {
private readonly selectors = {
root: 'adf-search-filter-chips',
chip: '.mat-chip',
chipDialog: '.mat-menu-content .adf-search-filter-menu-card'
chip: '.mat-mdc-chip',
chipDialog: '.mat-mdc-menu-content .adf-search-filter-menu-card'
};
get chip(): ElementFinder {

View File

@@ -34,12 +34,12 @@ export enum SizeOperator {
export class PropertiesFilter extends GenericFilter {
private readonly locators = {
fileSizeOperatorSelect: '[data-automation-id=adf-search-properties-file-size-operator-select]',
fileSizeOperatorOption: '.mat-option-text',
selectedFileSizeOperatorOption: '.mat-select-min-line',
fileSizeOperatorOption: '.mdc-list-item__primary-text',
selectedFileSizeOperatorOption: '.mat-mdc-select-min-line',
fileSizeInput: '[data-automation-id=adf-search-properties-file-size-input]',
fileTypeInput: '[data-automation-id=adf-search-chip-autocomplete-input]',
fileTypeOption: '.mat-option-text',
selectedFileTypeOption: 'adf-search-chip-autocomplete-input .mat-chip span'
fileTypeOption: '.mdc-list-item__primary-text',
selectedFileTypeOption: 'adf-search-chip-autocomplete-input .mat-mdc-chip span'
};
constructor() {

View File

@@ -38,9 +38,9 @@ export class SearchInput extends Component {
searchResult = TestElement.byCss('.search-file-name');
searchOptionsArea = browser.element(by.id('search-options'));
searchFilesOption = this.searchOptionsArea.element(by.cssContainingText('.mat-checkbox', 'Files'));
searchFoldersOption = this.searchOptionsArea.element(by.cssContainingText('.mat-checkbox', 'Folders'));
searchLibrariesOption = this.searchOptionsArea.element(by.cssContainingText('.mat-checkbox', 'Libraries'));
searchFilesOption = this.searchOptionsArea.element(by.cssContainingText('.mat-mdc-checkbox', 'Files'));
searchFoldersOption = this.searchOptionsArea.element(by.cssContainingText('.mat-mdc-checkbox', 'Folders'));
searchLibrariesOption = this.searchOptionsArea.element(by.cssContainingText('.mat-mdc-checkbox', 'Libraries'));
constructor(ancestor?: string) {
super('aca-search-input', ancestor);
}
@@ -81,32 +81,32 @@ export class SearchInput extends Component {
async isFilesOptionEnabled() {
const optClass = await this.searchFilesOption.getAttribute('class');
return !optClass.includes('mat-checkbox-disabled');
return !optClass.includes('.mat-mdc-checkbox-disabled');
}
async isFoldersOptionEnabled() {
const optClass = await this.searchFoldersOption.getAttribute('class');
return !optClass.includes('mat-checkbox-disabled');
return !optClass.includes('.mat-mdc-checkbox-disabled');
}
async isLibrariesOptionEnabled() {
const optClass = await this.searchLibrariesOption.getAttribute('class');
return !optClass.includes('mat-checkbox-disabled');
return !optClass.includes('.mat-mdc-checkbox-disabled');
}
async isFilesOptionChecked() {
const optClass = await this.searchFilesOption.getAttribute('class');
return optClass.includes('mat-checkbox-checked');
return optClass.includes('.mat-mdc-checkbox-checked');
}
async isFoldersOptionChecked() {
const optClass = await this.searchFoldersOption.getAttribute('class');
return optClass.includes('mat-checkbox-checked');
return optClass.includes('.mat-mdc-checkbox-checked');
}
async isLibrariesOptionChecked() {
const optClass = await this.searchLibrariesOption.getAttribute('class');
return optClass.includes('mat-checkbox-checked');
return optClass.includes('.mat-mdc-checkbox-checked');
}
async clearOptions() {

View File

@@ -30,7 +30,7 @@ export type SortByType = 'Relevance' | 'Title' | 'Filename' | 'Modified date' |
export class SearchSortingPicker extends Component {
actionMenu = browser.element(by.css('aca-search-action-menu > button'));
sortOrderButton = browser.element(by.css('#aca-button-sorting-menu'));
sortByDropdownExpanded = browser.element.all(by.css('.mat-menu-panel')).get(1);
sortByDropdownExpanded = browser.element.all(by.css('.mat-mdc-menu-panel')).get(1);
sortByList = this.sortByDropdownExpanded.all(by.css('button'));
constructor(ancestor?: string) {
@@ -64,7 +64,7 @@ export class SearchSortingPicker extends Component {
if (!(await this.isSortByDropdownExpanded())) {
await this.clickSortByDropdown();
}
const elem = browser.element(by.cssContainingText('.mat-menu-item', option));
const elem = browser.element(by.cssContainingText('.mat-mdc-menu-item', option));
const optionId = await elem.getAttribute('id');
await click(elem);
const directionSortElement = browser.element(by.id(`${optionId}-${direction.toLocaleLowerCase()}`));