ADF and JS-API version update (#3371)

* ADF and JS-API version update

* Update Creator and Modifier E2Es

* ACS-5632 Fixed rest e2e

* ACS-5632 Added missing spaces

---------

Co-authored-by: Aleksander Sklorz <Aleksander.Sklorz@hyland.com>
This commit is contained in:
MichalKinas
2023-07-28 12:01:05 +02:00
committed by GitHub
parent 174d7b61ee
commit 26cd95ccbd
8 changed files with 232 additions and 188 deletions

View File

@@ -18,8 +18,6 @@
"C279221": "will be fixed after protractor to playwright migration, see https://alfresco.atlassian.net/browse/ACS-5007",
"C325006": "will be fixed after protractor to playwright migration, see https://alfresco.atlassiana.net/browse/ACS-5007",
"C213097": "https://alfresco.atlassian.net/browse/ACS-5479",
"C280051": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5632",
"C308042": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5632",
"C268958" : "test migrated to playwright https://alfresco.atlassian.net/browse/ACS-5604",
"C268959" : "test migrated to playwright https://alfresco.atlassian.net/browse/ACS-5604",

View File

@@ -63,9 +63,6 @@ describe('Search filters', () => {
};
const expectedFileTypes = ['pdf', 'wpd'];
const expectedCreators = [`${user1} ${user1} (1)`, `${user2} ${user2} (1)`];
const expectedModifiers = [`${user1} ${user1} (1)`, `${user2} ${user2} (1)`];
const expectedLocations = ['_REPOSITORY_ (1)', `${site} (1)`];
const apis = {
user1: new RepoClient(user1, user1),
@@ -79,9 +76,8 @@ describe('Search filters', () => {
const fileTypeFilter = filters.fileType;
const createdDateFilter = filters.createdDate;
const creatorFilter = filters.creator;
const peopleFilter = filters.people;
const locationFilter = filters.location;
const modifierFilter = filters.modifier;
const modifiedDateFilter = filters.modifiedDate;
const adminApiActions = new AdminActions();
@@ -119,8 +115,7 @@ describe('Search filters', () => {
it('[C279186] Filters are displayed', async () => {
expect(await createdDateFilter.isDisplayed()).toBe(true, 'Created date filter panel not displayed');
expect(await fileTypeFilter.isDisplayed()).toBe(true, 'File type filter panel not displayed');
expect(await creatorFilter.isDisplayed()).toBe(true, 'Creator filter panel not displayed');
expect(await modifierFilter.isDisplayed()).toBe(true, 'Modifier filter panel not displayed');
expect(await peopleFilter.isDisplayed()).toBe(true, 'People filter panel not displayed');
expect(await locationFilter.isDisplayed()).toBe(true, 'Location filter panel not displayed');
expect(await modifiedDateFilter.isDisplayed()).toBe(true, 'Modified date filter panel not displayed');
});
@@ -321,125 +316,100 @@ describe('Search filters', () => {
});
});
describe('Filter by Creator', () => {
describe('Filter by People', () => {
afterEach(async () => {
await Utils.pressEscape();
await BrowserActions.click(filters.resetAllButton);
});
it('[C279205] Expand / Collapse the Creator filter panel', async () => {
await creatorFilter.openDialog();
expect(await creatorFilter.isDialogPresent()).toBe(true, 'Creator filter panel not expanded');
it('[C279205] Expand / Collapse the People filter panel', async () => {
await peopleFilter.openDialog();
expect(await peopleFilter.isDialogPresent()).toBe(true, 'People filter panel not expanded');
expect(await creatorFilter.getFiltersValues()).toEqual(expectedCreators, 'Incorrect Creator filters facets');
expect(await creatorFilter.isFilterCategoryInputDisplayed()).toBe(true, 'Creator filter categories not displayed');
expect(await peopleFilter.getCurrentTabLabel()).toEqual('Creator', 'Incorrect Creator tab label');
expect(await peopleFilter.isChipListDisplayed()).toBe(true, 'Creator chip list is not displayed');
await creatorFilter.closeDialog();
expect(await creatorFilter.isDialogPresent()).toBe(false, 'Creator filter panel is expanded');
await peopleFilter.changeTabToModifier();
expect(await peopleFilter.getCurrentTabLabel()).toEqual('Modifier', 'Incorrect Modifier tab label');
expect(await peopleFilter.isChipListDisplayed()).toBe(true, 'Modifier chip list is not displayed');
await peopleFilter.closeDialog();
expect(await peopleFilter.isDialogPresent()).toBe(false, 'People filter panel is expanded');
});
it('[C279206] Results are filtered by Creator', async () => {
await creatorFilter.openDialog();
await creatorFilter.checkCategory(user1);
await creatorFilter.clickApplyButton();
await peopleFilter.openDialog();
await peopleFilter.selectChip(`${user1} ${user1}`);
await peopleFilter.clickApplyButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(false, 'PDF file is displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
expect(await creatorFilter.getChipTitle()).toEqual(`${user1} ${user1}`);
expect(await peopleFilter.getChipTitle()).toEqual(`Created by: ${user1} ${user1} `);
await creatorFilter.openDialog();
await creatorFilter.checkCategory(user2);
await creatorFilter.clickApplyButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(true, 'PDF file not displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
expect(await creatorFilter.getChipTitle()).toEqual(`${user1} ${user1}, ${user2} ${user2}`);
});
it('[C279207] Clear the Creator filter options', async () => {
await creatorFilter.openDialog();
await creatorFilter.checkCategory(user1);
await creatorFilter.clickApplyButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(false, 'PDF file is displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
await creatorFilter.openDialog();
expect(await creatorFilter.getFiltersCheckedValues()).toEqual([`${user1} ${user1} (1)`]);
await creatorFilter.clickResetButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(true, 'PDF file not displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
expect(await creatorFilter.getChipTitle()).toEqual('', 'Creator selection not cleared');
});
it('[C279208] Search for a specific creator', async () => {
await creatorFilter.openDialog();
expect(await creatorFilter.getFiltersValues()).toEqual(expectedCreators, 'Incorrect Creator filters facets');
await creatorFilter.filterCategoriesBy(user1);
expect(await creatorFilter.getFiltersValues()).toEqual([`${user1} ${user1} (1)`], 'Incorrect Creator filters facets');
});
});
describe('Filter by Modifier', () => {
afterEach(async () => {
await Utils.pressEscape();
await BrowserActions.click(filters.resetAllButton);
await peopleFilter.openDialog();
await peopleFilter.selectChip(`${user2} ${user2}`);
await peopleFilter.clickApplyButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(true, 'PDF file not displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(false, 'JPG file not displayed');
expect(await peopleFilter.getChipTitle()).toEqual(`Created by: ${user2} ${user2} `);
});
it('[C279224] Expand / Collapse the Modifier filter panel', async () => {
await modifierFilter.openDialog();
expect(await modifierFilter.isDialogPresent()).toBe(true, 'Modifier filter panel not expanded');
expect(await modifierFilter.getFiltersValues()).toEqual(expectedModifiers, 'Incorrect Modifier filters facets');
expect(await modifierFilter.isFilterCategoryInputDisplayed()).toBe(true, 'Modifier filter categories not displayed');
await modifierFilter.closeDialog();
expect(await modifierFilter.isDialogPresent()).toBe(false, 'Modifier filter panel is expanded');
});
it('[C279225] Results are filtered by Modifier', async () => {
await modifierFilter.openDialog();
await modifierFilter.checkCategory(user1);
await modifierFilter.clickApplyButton();
it('[C279207] Results are filtered by Modifier', async () => {
await peopleFilter.openDialog();
await peopleFilter.changeTabToModifier();
await peopleFilter.selectChip(`${user1} ${user1}`);
await peopleFilter.clickApplyButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(false, 'PDF file is displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
expect(await modifierFilter.getChipTitle()).toEqual(`${user1} ${user1}`, 'Incorrect File type filters facets');
expect(await peopleFilter.getChipTitle()).toEqual(`Modified by: ${user1} ${user1} `);
await modifierFilter.openDialog();
await modifierFilter.checkCategory(user2);
await modifierFilter.clickApplyButton();
await BrowserActions.click(filters.resetAllButton);
await peopleFilter.openDialog();
await peopleFilter.changeTabToModifier();
await peopleFilter.selectChip(`${user2} ${user2}`);
await peopleFilter.clickApplyButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(true, 'PDF file not displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
expect(await modifierFilter.getChipTitle()).toEqual(`${user1} ${user1}, ${user2} ${user2}`, 'Incorrect modifier filters facets');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(false, 'JPG file not displayed');
expect(await peopleFilter.getChipTitle()).toEqual(`Modified by: ${user2} ${user2} `);
});
it('[C279226] Clear the Modifier filter options', async () => {
await modifierFilter.openDialog();
await modifierFilter.checkCategory(user1);
await modifierFilter.clickApplyButton();
it('[C279208] Clear the Creator filter options', async () => {
await peopleFilter.openDialog();
await peopleFilter.selectChip(`${user1} ${user1}`);
await peopleFilter.clickApplyButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(false, 'PDF file is displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
await modifierFilter.openDialog();
expect(await modifierFilter.getFiltersCheckedValues()).toEqual([`${user1} ${user1} (1)`]);
await modifierFilter.clickResetButton();
await peopleFilter.openDialog();
expect(await peopleFilter.getSelectedValues()).toEqual([`${user1} ${user1}`]);
await peopleFilter.clickResetButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(true, 'PDF file not displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
await modifierFilter.openDialog();
expect(await modifierFilter.getFiltersCheckedValues()).toEqual([], 'Modifier selection not cleared');
expect(await peopleFilter.getChipTitle()).toEqual('', 'Creator selection not cleared');
});
it('[C279227] Search for a specific modifier', async () => {
await modifierFilter.openDialog();
expect(await modifierFilter.getFiltersValues()).toEqual(expectedModifiers, 'Incorrect Modifier filters facets');
await modifierFilter.filterCategoriesBy(user1);
expect(await modifierFilter.getFiltersValues()).toEqual([`${user1} ${user1} (1)`], 'Incorrect Modifier filters facets');
it('[C279209] Clear the Modifier filter options', async () => {
await peopleFilter.openDialog();
await peopleFilter.changeTabToModifier();
await peopleFilter.selectChip(`${user1} ${user1}`);
await peopleFilter.clickApplyButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(false, 'PDF file is displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
await peopleFilter.openDialog();
expect(await peopleFilter.getSelectedValues()).toEqual([`${user1} ${user1}`]);
await peopleFilter.clickResetButton();
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(true, 'PDF file not displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
expect(await peopleFilter.getChipTitle()).toEqual('', 'Modifier selection not cleared');
});
});
@@ -584,9 +554,9 @@ describe('Search filters', () => {
await fileTypeFilter.selectFileType('jpg');
await fileTypeFilter.clickApplyButton();
await creatorFilter.openDialog();
await creatorFilter.checkCategory(user1);
await creatorFilter.clickApplyButton();
await peopleFilter.openDialog();
await peopleFilter.selectChip(`${user1} ${user1}`);
await peopleFilter.clickApplyButton();
await locationFilter.openDialog();
await locationFilter.setAutocompleteInputValue(site);
@@ -595,7 +565,7 @@ describe('Search filters', () => {
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(false, 'PDF file is displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
expect(await fileTypeFilter.getChipTitle()).toEqual(`${SizeOperator.AT_MOST} 1024 KB, jpg`);
expect(await creatorFilter.getChipTitle()).toEqual(`${user1} ${user1}`);
expect(await peopleFilter.getChipTitle()).toEqual(`Created by: ${user1} ${user1} `);
expect(await locationFilter.getChipTitle()).toEqual(site);
await BrowserActions.click(filters.resetAllButton);
@@ -609,9 +579,9 @@ describe('Search filters', () => {
await fileTypeFilter.selectFileType('jpg');
await fileTypeFilter.clickApplyButton();
await creatorFilter.openDialog();
await creatorFilter.checkCategory(user1);
await creatorFilter.clickApplyButton();
await peopleFilter.openDialog();
await peopleFilter.selectChip(`${user1} ${user1}`);
await peopleFilter.clickApplyButton();
expect(await dataTable.getRowsCount()).toEqual(1, 'expected 1 result');
@@ -625,9 +595,9 @@ describe('Search filters', () => {
await fileTypeFilter.selectFileType('jpg');
await fileTypeFilter.clickApplyButton();
await creatorFilter.openDialog();
await creatorFilter.checkCategory(user1);
await creatorFilter.clickApplyButton();
await peopleFilter.openDialog();
await peopleFilter.selectChip(`${user1} ${user1}`);
await peopleFilter.clickApplyButton();
expect(await page.pagination.getRange()).toEqual('Showing 1-1 of 1');
@@ -637,33 +607,29 @@ describe('Search filters', () => {
});
it('[C308042] The filter facets display is updated when making a new query', async () => {
await creatorFilter.openDialog();
expect(await creatorFilter.getFiltersValues()).toEqual(expectedCreators);
await creatorFilter.closeDialog();
const expectedUsers1 = [`${user1} ${user1}`, `${user2} ${user2}`];
await peopleFilter.openDialog();
expect(await peopleFilter.getAutocompleteOptions(' ')).toEqual(expectedUsers1);
await peopleFilter.closeDialog();
await modifierFilter.openDialog();
expect(await modifierFilter.getFiltersValues()).toEqual(expectedModifiers);
await modifierFilter.closeDialog();
await locationFilter.openDialog();
expect(await locationFilter.getFiltersSelectedValues()).toEqual(expectedLocations);
await locationFilter.closeDialog();
await peopleFilter.openDialog();
await peopleFilter.changeTabToModifier();
expect(await peopleFilter.getAutocompleteOptions(' ')).toEqual(expectedUsers1);
await peopleFilter.closeDialog();
await searchInput.clickSearchButton();
await searchInput.searchFor(fileJpgUser1.name);
await dataTable.waitForBody();
await creatorFilter.openDialog();
expect(await creatorFilter.getFiltersValues()).toEqual([`${user1} ${user1} (1)`]);
await creatorFilter.closeDialog();
const expectedUsers2 = [`${user1} ${user1}`];
await peopleFilter.openDialog();
await peopleFilter.changeTabToCreator();
expect(await peopleFilter.getAutocompleteOptions('')).toEqual(expectedUsers2);
await peopleFilter.closeDialog();
await modifierFilter.openDialog();
expect(await modifierFilter.getFiltersValues()).toEqual([`${user1} ${user1} (1)`]);
await modifierFilter.closeDialog();
await locationFilter.openDialog();
expect(await locationFilter.getFiltersSelectedValues()).toEqual([`${site}`]);
await locationFilter.closeDialog();
await peopleFilter.openDialog();
expect(await peopleFilter.getAutocompleteOptions('')).toEqual(expectedUsers2);
await peopleFilter.closeDialog();
});
});
});

83
package-lock.json generated
View File

@@ -10,11 +10,11 @@
"hasInstallScript": true,
"license": "LGPL-3.0",
"dependencies": {
"@alfresco/adf-content-services": "6.3.0-5591392156",
"@alfresco/adf-core": "6.3.0-5591392156",
"@alfresco/adf-extensions": "6.3.0-5591392156",
"@alfresco/eslint-plugin-eslint-angular": "6.3.0-5591392156",
"@alfresco/js-api": "6.3.0-1042",
"@alfresco/adf-content-services": "6.3.0-5661759145",
"@alfresco/adf-core": "6.3.0-5661759145",
"@alfresco/adf-extensions": "6.3.0-5661759145",
"@alfresco/eslint-plugin-eslint-angular": "6.3.0-5661759145",
"@alfresco/js-api": "6.3.0-1054",
"@angular/animations": "14.1.3",
"@angular/cdk": "14.1.3",
"@angular/common": "14.1.3",
@@ -46,8 +46,8 @@
"zone.js": "0.11.8"
},
"devDependencies": {
"@alfresco/adf-cli": "6.3.0-5591392156",
"@alfresco/adf-testing": "6.3.0-5591392156",
"@alfresco/adf-cli": "6.3.0-5661759145",
"@alfresco/adf-testing": "6.3.0-5661759145",
"@angular-devkit/build-angular": "14.2.11",
"@angular-devkit/core": "14.1.2",
"@angular-devkit/schematics": "14.1.2",
@@ -121,12 +121,12 @@
"dev": true
},
"node_modules/@alfresco/adf-cli": {
"version": "6.3.0-5591392156",
"resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-6.3.0-5591392156.tgz",
"integrity": "sha512-3HWgp9F8JVKMdpK7gKaQSMYtSdRGx3sUyxKaQikm6aL9YEU+bE36xFmUYSaVryH/Zv6Y407L5lnLDlKqwcYRxQ==",
"version": "6.3.0-5661759145",
"resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-6.3.0-5661759145.tgz",
"integrity": "sha512-U3sXSa/2yIrTL2Q5iFMLi6LAmGk0gAQ/EBcxoQB2rTwzSceH+OIMgZnC9+48QONg2KqhuoX8miSK85fgFNg/zg==",
"dev": true,
"dependencies": {
"@alfresco/js-api": ">=6.3.0-1031",
"@alfresco/js-api": ">=6.3.0-1054",
"commander": "^6.2.1",
"ejs": "^3.1.9",
"license-checker": "^25.0.1",
@@ -141,15 +141,15 @@
}
},
"node_modules/@alfresco/adf-content-services": {
"version": "6.3.0-5591392156",
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-6.3.0-5591392156.tgz",
"integrity": "sha512-TRlowaSQ99DtdgufCK3U90yugw8UNwxQlpzaWScnVm0tLoWVe4JMJgrHerx5YFb3J/2hDwrVSpJoISdC2KbgNg==",
"version": "6.3.0-5661759145",
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-6.3.0-5661759145.tgz",
"integrity": "sha512-Dh9tugfFu5t5T8HHlAA2xqau/g5Jxf2YNMZaq9hlPXZGIPB8NHZHDhsMpLqFzkyYwhgMMCww+bLPwm8Cu8h1qw==",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
"@alfresco/adf-core": ">=6.3.0-5591392156",
"@alfresco/js-api": ">=6.3.0-1031",
"@alfresco/adf-core": ">=6.3.0-5661759145",
"@alfresco/js-api": ">=6.3.0-1054",
"@angular/animations": ">=14.1.3",
"@angular/cdk": ">=14.1.2",
"@angular/common": ">=14.1.3",
@@ -165,9 +165,9 @@
}
},
"node_modules/@alfresco/adf-core": {
"version": "6.3.0-5591392156",
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-6.3.0-5591392156.tgz",
"integrity": "sha512-XR4VfifuKe3W8nEvL98gAct6R87ZxVXhLznZ6lppCTT62sGpuWNU7nIHL365srtCDlBzV/684rf9JEQJJKFpsA==",
"version": "6.3.0-5661759145",
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-6.3.0-5661759145.tgz",
"integrity": "sha512-6MlvgaszsigKIeY7XmFocbVsrPWx0diWNI7nFfE5ugIUvAgVEqmwsB9CcQHW8chfV3IiT/QX+qaOWan2pi65Rw==",
"dependencies": {
"angular-oauth2-oidc": "^13.0.1",
"angular-oauth2-oidc-jwks": "^13.0.1",
@@ -175,8 +175,8 @@
"tslib": "^2.3.0"
},
"peerDependencies": {
"@alfresco/adf-extensions": ">=6.3.0-5591392156",
"@alfresco/js-api": ">=6.3.0-1031",
"@alfresco/adf-extensions": ">=6.3.0-5661759145",
"@alfresco/js-api": ">=6.3.0-1054",
"@angular/animations": ">=14.1.3",
"@angular/cdk": ">=14.1.2",
"@angular/common": ">=14.1.3",
@@ -194,25 +194,25 @@
}
},
"node_modules/@alfresco/adf-extensions": {
"version": "6.3.0-5591392156",
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-6.3.0-5591392156.tgz",
"integrity": "sha512-ecj7cZvNmveHi1iJrlbgWUC5YIEL+55E3betHS9+gpXEgZ6hMCaawOAjouD1cLLjHC0+zy2NZLprbBKO4HPxZg==",
"version": "6.3.0-5661759145",
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-6.3.0-5661759145.tgz",
"integrity": "sha512-pIptgcpwsuZh13m9s15QdUr4tJf7jRyIF4pZj5oYq1lHmxrP31w+OuDCAj0mtsDZShHqPfZyc41wV1kFRWu5pw==",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
"@alfresco/js-api": ">=6.3.0-1031",
"@alfresco/js-api": ">=6.3.0-1054",
"@angular/common": ">=14.1.3",
"@angular/core": ">=14.1.3"
}
},
"node_modules/@alfresco/adf-testing": {
"version": "6.3.0-5591392156",
"resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-6.3.0-5591392156.tgz",
"integrity": "sha512-u0sOJwXaUwO7Wu4al2QLFf3jIFhPEqrGpx12hKj0gKuoNsWvYbD20HHJxQ4I5Fr1TUcDLsx9LK0zNFwbukBeyw==",
"version": "6.3.0-5661759145",
"resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-6.3.0-5661759145.tgz",
"integrity": "sha512-D+a3xboHSCYSuWaa5BdOe46kYl4B82OXZ53qcx+jixlt8Bp5vTvaXcCZvhHUav7p9ZgMD3H9dPxU1kr9HUNdcw==",
"dev": true,
"dependencies": {
"@alfresco/js-api": "6.3.0-1031",
"@alfresco/js-api": "6.3.0-1054",
"@angular/compiler": "14.1.3",
"@angular/core": "14.1.3",
"rxjs": "6.6.6",
@@ -220,29 +220,18 @@
"zone.js": "~0.11.4"
},
"peerDependencies": {
"@alfresco/js-api": ">=6.3.0-1031"
}
},
"node_modules/@alfresco/adf-testing/node_modules/@alfresco/js-api": {
"version": "6.3.0-1031",
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-6.3.0-1031.tgz",
"integrity": "sha512-7nQtjyfLzj55t7mbCIzMJmz9J67/wD6vNan2hyGF7wm+70FDKITq8BevdGCh8/kYjOE4JsnNEJOCLnW8fsgY5Q==",
"dev": true,
"dependencies": {
"event-emitter": "^0.3.5",
"superagent": "^6.0.0",
"tslib": "^2.0.0"
"@alfresco/js-api": ">=6.3.0-1054"
}
},
"node_modules/@alfresco/eslint-plugin-eslint-angular": {
"version": "6.3.0-5591392156",
"resolved": "https://registry.npmjs.org/@alfresco/eslint-plugin-eslint-angular/-/eslint-plugin-eslint-angular-6.3.0-5591392156.tgz",
"integrity": "sha512-zBmH4PEj4nUmutt46W6AU0xHXHYJgVlGwU7i6QLA4Mb7kPBe5ESq6sgGeUr4Ixx3c8drwZFzUQQYYGVdpZOdIA=="
"version": "6.3.0-5661759145",
"resolved": "https://registry.npmjs.org/@alfresco/eslint-plugin-eslint-angular/-/eslint-plugin-eslint-angular-6.3.0-5661759145.tgz",
"integrity": "sha512-PQGyYJHqGyOWmXw8os7klU25ycrP1MT02fQZ9bOCFn/UHGwWv/hTRLuhhAq8gQuB6XvYIbKwD/2GrOra+5KxzQ=="
},
"node_modules/@alfresco/js-api": {
"version": "6.3.0-1042",
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-6.3.0-1042.tgz",
"integrity": "sha512-0CYszn2zBtc/HBeDjTbWKHYf+sOk3PK0BO8xAgVR8a0opX4kMgxH4n7WQqfQ5L3CPNkLV5mbvepSRuagVSJiIA==",
"version": "6.3.0-1054",
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-6.3.0-1054.tgz",
"integrity": "sha512-q2EuOhb3yT0BBz3zvvUzkgN89T41d64osQieEDYbWmyY0Aq+rO9aY7R7ta2aQ3QxmFzdLy+6KQ2wgqYygb0RAQ==",
"dependencies": {
"event-emitter": "^0.3.5",
"superagent": "^6.0.0",

View File

@@ -33,11 +33,11 @@
},
"private": true,
"dependencies": {
"@alfresco/adf-content-services": "6.3.0-5591392156",
"@alfresco/adf-core": "6.3.0-5591392156",
"@alfresco/adf-extensions": "6.3.0-5591392156",
"@alfresco/eslint-plugin-eslint-angular": "6.3.0-5591392156",
"@alfresco/js-api": "6.3.0-1042",
"@alfresco/adf-content-services": "6.3.0-5661759145",
"@alfresco/adf-core": "6.3.0-5661759145",
"@alfresco/adf-extensions": "6.3.0-5661759145",
"@alfresco/eslint-plugin-eslint-angular": "6.3.0-5661759145",
"@alfresco/js-api": "6.3.0-1054",
"@angular/animations": "14.1.3",
"@angular/cdk": "14.1.3",
"@angular/common": "14.1.3",
@@ -69,8 +69,8 @@
"zone.js": "0.11.8"
},
"devDependencies": {
"@alfresco/adf-cli": "6.3.0-5591392156",
"@alfresco/adf-testing": "6.3.0-5591392156",
"@alfresco/adf-cli": "6.3.0-5661759145",
"@alfresco/adf-testing": "6.3.0-5661759145",
"@angular-devkit/build-angular": "14.2.11",
"@angular-devkit/core": "14.1.2",
"@angular-devkit/schematics": "14.1.2",

View File

@@ -5,10 +5,10 @@
"peerDependencies": {
"@angular/common": "^14.1.0",
"@angular/core": "^14.1.0",
"@alfresco/adf-core": "^6.3.0-5468717985",
"@alfresco/adf-content-services": "^6.3.0-5468717985",
"@alfresco/adf-extensions": "^6.3.0-5468717985",
"@alfresco/js-api": ">=6.3.0-1025",
"@alfresco/adf-core": "^6.3.0-5661759145",
"@alfresco/adf-content-services": "^6.3.0-5661759145",
"@alfresco/adf-extensions": "^6.3.0-5661759145",
"@alfresco/js-api": ">=6.3.0-1054",
"@angular/animations": "^14.1.3",
"@angular/cdk": "^14.1.3",
"@angular/forms": "^14.1.3",

View File

@@ -5,10 +5,10 @@
"license": "LGPL-3.0",
"scripts": {},
"peerDependencies": {
"@alfresco/adf-content-services": "^6.3.0-5468717985",
"@alfresco/adf-core": "6.3.0-5468717985",
"@alfresco/adf-extensions": "6.3.0-5468717985",
"@alfresco/js-api": ">=6.3.0-1025",
"@alfresco/adf-content-services": "^6.3.0-5661759145",
"@alfresco/adf-core": "6.3.0-5661759145",
"@alfresco/adf-extensions": "6.3.0-5661759145",
"@alfresco/js-api": ">=6.3.0-1054",
"@angular/animations": "^14.1.3",
"@angular/common": "^14.1.3",
"@angular/compiler": "^14.1.3",

View File

@@ -0,0 +1,91 @@
/*!
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Alfresco Example Content Application
*
* This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
*
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
import { ElementFinder, ElementArrayFinder, by, browser, protractor, element } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { GenericFilter } from './generic-filter';
export class FacetTabbedFilter extends GenericFilter {
private readonly locators = {
tabs: '.mat-tab-list .mat-tab-label',
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'
};
chips: ElementArrayFinder = this.filterDialogOpened.all(by.css(this.locators.chip));
get tabs(): ElementArrayFinder {
return this.filterDialogOpened.all(by.css(this.locators.tabs));
}
get chipList(): ElementFinder {
return this.filterDialogOpened.element(by.css(this.locators.chipList));
}
get chipListInput(): ElementFinder {
return this.filterDialogOpened.element(by.css(this.locators.chipListInput));
}
get options(): ElementArrayFinder {
return element.all(by.css(this.locators.option));
}
async getCurrentTabLabel(): Promise<string> {
const label = this.filterDialogOpened.element(by.css(this.locators.currentTabLabel));
return await label.getText();
}
async changeTabToModifier(): Promise<void> {
await this.tabs.get(1).click();
await BrowserVisibility.waitUntilElementHasText(await this.filterDialogOpened.element(by.css(this.locators.currentTabLabel)), 'Modifier');
}
async changeTabToCreator(): Promise<void> {
await this.tabs.get(0).click();
await BrowserVisibility.waitUntilElementHasText(await this.filterDialogOpened.element(by.css(this.locators.currentTabLabel)), 'Creator');
}
async isChipListDisplayed(): Promise<boolean> {
return this.chipList.isDisplayed();
}
async getSelectedValues(): Promise<string[]> {
return this.chips.map((option) => {
return option.getText();
});
}
async selectChip(name: string): Promise<void> {
await this.chipListInput.sendKeys(name);
await browser.actions().sendKeys(protractor.Key.ENTER).perform();
}
async getAutocompleteOptions(filterValue: string): Promise<string[]> {
await this.chipListInput.sendKeys(filterValue);
return this.options.map((option) => option.getText());
}
}

View File

@@ -28,14 +28,14 @@ import { CreatedDateFilter } from './filters/created-date-filter';
import { FacetFilter } from './filters/facet-filter';
import { AutocompleteChipsFilter } from './filters/autocomplete-chips-filter';
import { PropertiesFilter } from './filters/properties-filter';
import { FacetTabbedFilter } from './filters/facet-tabbed-filter';
export class SearchFilters extends Component {
resetAllButton = browser.element(by.css('button[adf-reset-search]'));
createdDate = new CreatedDateFilter();
fileType = new PropertiesFilter();
creator = new FacetFilter('Creator');
modifier = new FacetFilter('Modifier');
people = new FacetTabbedFilter('People');
location = new AutocompleteChipsFilter('Location');
modifiedDate = new FacetFilter('Modified date');