[ADF-3496] Grouped facet queries (#4209)

* [ADF-3496] search query format v2 response parser

- replacer for the parseFacetFields

* [ADF-3496] format v2 search facetQueries parser

* [ADF-3496] cleanup

* [ADF-3496] Grouped facet queries

- selection working
- needs code cleanup

* [ADF-3496] code cleanup

* [ADF-3496] code refactoring - renaming

* [ADF-3496] update tests

* [ADF-3496] update tests part2

* [ADF-3496] preserve order

* [ADF-3496] fix facet queries expand

* [ADF-3496] code cleanup & fixes

* [ADF-3496] reorder methods

* [ADF-3496] update test

* fix unrelated failing test

* [ADF-3496] fix config snippet

* [ADF-3496] facet queries mincount

* [ADF-3496] documentation updated

* [ADF-3496] small fix

* [ADF-3496] e2e testing

* [ADF-3496] added TestRail ids

* [ADF-3496] import from right api
This commit is contained in:
Suzana Dirla
2019-02-04 23:38:21 +02:00
committed by Eugenio Romano
parent c91c3f5a81
commit bf718d905f
20 changed files with 377 additions and 379 deletions

View File

@@ -33,6 +33,10 @@ export class SearchFiltersPage {
typeFilter = element(by.css('mat-expansion-panel[data-automation-id="expansion-panel-Type"]'));
sizeRangeFilter = element(by.css('mat-expansion-panel[data-automation-id="expansion-panel-Content Size (range)"]'));
sizeSliderFilter = element(by.css('mat-expansion-panel[data-automation-id="expansion-panel-Content Size"]'));
facetQueriesDefaultGroup = element(by.css('mat-expansion-panel[data-automation-id="expansion-panel-SEARCH.FACET_QUERIES.MY_FACET_QUERIES"],' +
'mat-expansion-panel[data-automation-id="expansion-panel-My facet queries"]'));
facetQueriesTypeGroup = element(by.css('mat-expansion-panel[data-automation-id="expansion-panel-Type facet queries"]'));
facetQueriesSizeGroup = element(by.css('mat-expansion-panel[data-automation-id="expansion-panel-Size facet queries"]'));
checkSearchFiltersIsDisplayed() {
Util.waitUntilElementIsVisible(this.searchFilters);
@@ -91,6 +95,29 @@ export class SearchFiltersPage {
return this;
}
checkDefaultFacetQueryGroupIsDisplayed() {
this.searchCategoriesPage.checkFilterIsDisplayed(this.facetQueriesDefaultGroup);
return this;
}
checkTypeFacetQueryGroupIsDisplayed() {
this.searchCategoriesPage.checkFilterIsDisplayed(this.facetQueriesTypeGroup);
return this;
}
checkSizeFacetQueryGroupIsDisplayed() {
this.searchCategoriesPage.checkFilterIsDisplayed(this.facetQueriesSizeGroup);
return this;
}
isTypeFacetQueryGroupPresent() {
return this.facetQueriesTypeGroup.isPresent();
}
isSizeFacetQueryGroupPresent() {
return this.facetQueriesSizeGroup.isPresent();
}
clickCheckListFilter() {
this.searchCategoriesPage.clickFilter(this.checkListFilter);
return this;

View File

@@ -65,6 +65,8 @@ describe('Search Filters', () => {
let filter = { type: 'TYPE-PNG Image' };
let jsonFile;
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
@@ -88,9 +90,9 @@ describe('Search Filters', () => {
searchDialog.checkSearchIconIsVisible();
searchDialog.clickOnSearchIcon();
searchDialog.enterTextAndPressEnter(fileUploaded.entry.name);
searchFiltersPage.checkSearchFiltersIsDisplayed();
let searchConfiguration = new SearchConfiguration();
jsonFile = searchConfiguration.getConfiguration();
done();
});
@@ -105,6 +107,10 @@ describe('Search Filters', () => {
});
it('[C286298] Should be able to cancel a filter using "x" button from the toolbar', () => {
searchDialog.enterTextAndPressEnter(fileUploaded.entry.name);
searchFiltersPage.checkSearchFiltersIsDisplayed();
let userOption = `${acsUser.firstName} ${acsUser.lastName}`;
searchFiltersPage.creatorCheckListFiltersPage().filterBy(userOption)
.checkChipIsDisplayed(userOption)
@@ -157,8 +163,6 @@ describe('Search Filters', () => {
});
it('[C291802] Should be able to filter facet fields with "Contains"', () => {
let searchConfiguration = new SearchConfiguration();
let jsonFile = searchConfiguration.getConfiguration();
navigationBar.clickConfigEditorButton();
configEditor.clickSearchConfiguration();
configEditor.clickClearButton();
@@ -176,4 +180,31 @@ describe('Search Filters', () => {
.checkCheckListOptionIsDisplayed('Administrator');
});
it('[C291980] Should group search facets under specified labels', () => {
browser.get(TestConfig.adf.url + '/search;q=*');
searchFiltersPage.checkDefaultFacetQueryGroupIsDisplayed()
.checkTypeFacetQueryGroupIsDisplayed()
.checkSizeFacetQueryGroupIsDisplayed();
});
it('[C291981] Should group search facets under the default label, by default', () => {
browser.refresh();
navigationBar.clickConfigEditorButton();
configEditor.clickSearchConfiguration();
configEditor.clickClearButton();
jsonFile['filterWithContains'] = true;
configEditor.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditor.clickSaveButton();
searchDialog.clickOnSearchIcon()
.enterTextAndPressEnter('*');
searchResults.tableIsLoaded();
searchFiltersPage.checkDefaultFacetQueryGroupIsDisplayed();
expect(searchFiltersPage.isTypeFacetQueryGroupPresent()).toBe(false);
expect(searchFiltersPage.isSizeFacetQueryGroupPresent()).toBe(false);
});
});

View File

@@ -72,7 +72,7 @@ export class SearchConfiguration {
'pageSize': 5,
'queries': [
{'query': 'created:2018', 'label': '1.Created This Year'},
{'query': 'content.mimetype', 'label': '2.Type'},
{'query': 'content.mimetype:text/html', 'label': '2.Type: HTML'},
{'query': 'content.size:[0 TO 10240]', 'label': '3.Size: xtra small'},
{'query': 'content.size:[10240 TO 102400]', 'label': '4.Size: small'},
{'query': 'content.size:[102400 TO 1048576]', 'label': '5.Size: medium'},