Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
eromano committed Sep 14, 2020
1 parent fd73439 commit bf2691f
Show file tree
Hide file tree
Showing 17 changed files with 107 additions and 71 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ export class DemoPermissionComponent implements OnInit {
this.nodeService
.getNode(this.nodeId, {include: ['permissions'] })
.subscribe( (currentNode: MinimalNodeEntryEntity) => {
this.toggleStatus = currentNode.permissions.isInheritanceEnabled;
this.toggleStatus = currentNode.permissions?.isInheritanceEnabled ?? false;
});
}

onUpdatedPermissions(node: MinimalNodeEntryEntity) {
this.toggleStatus = node.permissions.isInheritanceEnabled;
this.toggleStatus = node.permissions?.isInheritanceEnabled ?? false;
this.displayPermissionComponent.reload();
}

Expand Down
13 changes: 4 additions & 9 deletions e2e/content-services/directives/create-library-directive.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,12 @@ describe('Create library directive', () => {
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);

acsUser = await usersActions.createUser();

await loginPage.login(acsUser.email, acsUser.password);

createSite = await apiService.getInstance().core.sitesApi.createSite({
title: StringUtil.generateRandomString(20).toLowerCase(),
visibility: 'PUBLIC'
});

await loginPage.login(acsUser.email, acsUser.password);
});

afterAll(async () => {
Expand Down Expand Up @@ -93,6 +92,7 @@ describe('Create library directive', () => {
it('[C290160] Should create a public library', async () => {
const libraryName = StringUtil.generateRandomString();
const libraryDescription = StringUtil.generateRandomString();

await createLibraryDialog.typeLibraryName(libraryName);
await createLibraryDialog.typeLibraryDescription(libraryDescription);
await createLibraryDialog.selectPublic();
Expand All @@ -112,6 +112,7 @@ describe('Create library directive', () => {
it('[C290173] Should create a private library', async () => {
const libraryName = StringUtil.generateRandomString();
const libraryDescription = StringUtil.generateRandomString();

await createLibraryDialog.typeLibraryName(libraryName);
await createLibraryDialog.typeLibraryDescription(libraryDescription);
await createLibraryDialog.selectPrivate();
Expand All @@ -121,8 +122,6 @@ describe('Create library directive', () => {
await createLibraryDialog.clickCreate();
await createLibraryDialog.waitForDialogToClose();

await expect(await createLibraryDialog.isDialogOpen()).not.toBe(true, 'The Create Library dialog is not closed');

await customSourcesPage.navigateToCustomSources();
await customSourcesPage.selectMySitesSourceType();
await customSourcesPage.checkRowIsDisplayed(libraryName);
Expand All @@ -144,8 +143,6 @@ describe('Create library directive', () => {
await createLibraryDialog.clickCreate();
await createLibraryDialog.waitForDialogToClose();

await expect(await createLibraryDialog.isDialogOpen()).not.toBe(true, 'The Create Library dialog is not closed');

await customSourcesPage.navigateToCustomSources();
await customSourcesPage.selectMySitesSourceType();
await customSourcesPage.checkRowIsDisplayed(libraryName);
Expand Down Expand Up @@ -243,8 +240,6 @@ describe('Create library directive', () => {

await createLibraryDialog.clickCreate();
await createLibraryDialog.waitForDialogToClose();

await expect(await createLibraryDialog.isDialogOpen()).not.toBe(true, 'The Create library dialog remained open');
});

it('[C290179] Should not accept more than the expected characters for input fields', async () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ describe('Document List Component - Actions', () => {

await loginPage.login(acsUser.email, acsUser.password);

await browser.sleep(10000);
await browser.sleep(browser.params.testConfig.timeouts.index_search); // wait search index previous file/folder uploaded
});

afterAll(async () => {
Expand Down
2 changes: 2 additions & 0 deletions e2e/core/pages/navigation-bar.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ export class NavigationBarPage {
logoutSection: ElementFinder = element(by.css('div[data-automation-id="adf-logout-section"]'));

async clickNavigationBarItem(title: string): Promise<void> {
Logger.log(`clickNavigationBarItem ${title}`);

const menu = element(by.css(`.app-sidenav-link[data-automation-id="${title}"]`));
await BrowserActions.closeMenuAndDialogs();
await BrowserActions.click(menu);
Expand Down
1 change: 0 additions & 1 deletion e2e/search/components/search-number-range.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,6 @@ describe('Search Number Range Filter', () => {
await sizeRangeFilter.clickApplyButton();
await searchResults.dataTable.waitTillContentLoaded();
await searchResults.sortBySize('DESC');
await searchResults.dataTable.waitTillContentLoaded();

const results = await dataTable.geCellElementDetail('Size') as ElementFinder[];
for (const currentResult of results) {
Expand Down
2 changes: 0 additions & 2 deletions e2e/search/components/search-slider.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ describe('Search Slider Filter', () => {
await sizeSliderFilter.checkSliderIsDisplayed();
await sizeSliderFilter.setValue(size);
await searchResults.sortBySize('DESC');
await searchResults.dataTable.waitTillContentLoaded();

const results = await dataTable.geCellElementDetail('Size') as ElementFinder[];
for (const currentResult of results) {
Expand All @@ -139,7 +138,6 @@ describe('Search Slider Filter', () => {
await sizeSliderFilter.clickClearButton();

await searchResults.sortBySize('DESC');
await searchResults.dataTable.waitTillContentLoaded();

const resultsSize = await dataTable.geCellElementDetail('Size') as ElementFinder[];
for (const currentResult of resultsSize) {
Expand Down
4 changes: 4 additions & 0 deletions e2e/search/pages/search-results.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,18 +64,22 @@ export class SearchResultsPage {

async sortByName(sortOrder: string): Promise<void> {
await this.searchSortingPicker.sortBy(sortOrder, 'Name');
await this.dataTable.waitTillContentLoaded();
}

async sortByAuthor(sortOrder: string): Promise<void> {
await this.searchSortingPicker.sortBy(sortOrder, 'Author');
await this.dataTable.waitTillContentLoaded();
}

async sortByCreated(sortOrder: string): Promise<void> {
await this.searchSortingPicker.sortBy(sortOrder, 'Created');
await this.dataTable.waitTillContentLoaded();
}

async sortBySize(sortOrder: string): Promise<void> {
await this.searchSortingPicker.sortBy(sortOrder, 'Size');
await this.dataTable.waitTillContentLoaded();
}

async checkListIsOrderedByNameAsc(): Promise<any> {
Expand Down
85 changes: 43 additions & 42 deletions e2e/search/search-filters.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -176,48 +176,18 @@ describe('Search Filters', () => {
});
});

it('[C291802] Should be able to filter facet fields with "Contains"', async () => {
await navigationBarPage.clickContentServicesButton();

jsonFile['filterWithContains'] = true;
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));

await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter('*');
await searchResults.dataTable.waitTillContentLoaded();

await searchFiltersPage.creatorCheckListFiltersPage().searchInFilter('dminis');
await searchFiltersPage.creatorCheckListFiltersPage().checkCheckListOptionIsDisplayed('Administrator');
});

it('[C291980] Should group search facets under specified labels', async () => {
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));

await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter('*');
await searchResults.dataTable.waitTillContentLoaded();

await searchFiltersPage.checkDefaultFacetQueryGroupIsDisplayed();
await searchFiltersPage.checkTypeFacetQueryGroupIsDisplayed();
await searchFiltersPage.checkSizeFacetQueryGroupIsDisplayed();
});

it('[C291981] Should group search facets under the default label, by default', async () => {
await navigationBarPage.clickContentServicesButton();

await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));

await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter('*');
await searchResults.dataTable.waitTillContentLoaded();

await searchFiltersPage.checkDefaultFacetQueryGroupIsDisplayed();
await expect(await searchFiltersPage.isTypeFacetQueryGroupPresent()).toBe(false);
await expect(await searchFiltersPage.isSizeFacetQueryGroupPresent()).toBe(false);
await searchFiltersPage.checkSizeFacetQueryGroupIsDisplayed();
});

it('[C297509] Should display search intervals under specified labels from config', async () => {
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter('*');
await searchResults.dataTable.waitTillContentLoaded();
Expand Down Expand Up @@ -260,20 +230,51 @@ describe('Search Filters', () => {
await searchResults.checkContentIsDisplayed(fileTypeJpg.entry.name);
await searchFiltersPage.checkFileTypeFacetLabelIsDisplayed('Plain Text (2)');
await searchFiltersPage.checkFileTypeFacetLabelIsDisplayed('JPEG Image (1)');
});
});

it('[C299124] Should be able to parse escaped empty spaced labels inside facetFields', async () => {
await navigationBarPage.clickContentServicesButton();
describe('Change config', () => {

jsonFile.facetFields.fields[0].label = 'My File Types';
jsonFile.facetFields.fields[1].label = 'My File Sizes';
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
it('[C291802] Should be able to filter facet fields with "Contains"', async () => {
await navigationBarPage.clickContentServicesButton();

await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter('*');
await searchResults.dataTable.waitTillContentLoaded();
jsonFile['filterWithContains'] = true;
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));

await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter('*');
await searchResults.dataTable.waitTillContentLoaded();

await searchFiltersPage.creatorCheckListFiltersPage().searchInFilter('dminis');
await searchFiltersPage.creatorCheckListFiltersPage().checkCheckListOptionIsDisplayed('Administrator');
});

await searchFiltersPage.checkCustomFacetFieldLabelIsDisplayed('My File Types');
await searchFiltersPage.checkCustomFacetFieldLabelIsDisplayed('My File Sizes');
it('[C291981] Should group search facets under the default label, by default', async () => {
await navigationBarPage.clickContentServicesButton();

await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));

await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter('*');
await searchResults.dataTable.waitTillContentLoaded();

await searchFiltersPage.checkDefaultFacetQueryGroupIsDisplayed();
await expect(await searchFiltersPage.isTypeFacetQueryGroupPresent()).toBe(false);
await expect(await searchFiltersPage.isSizeFacetQueryGroupPresent()).toBe(false);
});

it('[C299124] Should be able to parse escaped empty spaced labels inside facetFields', async () => {
await navigationBarPage.clickContentServicesButton();

jsonFile.facetFields.fields[0].label = 'My File Types';
jsonFile.facetFields.fields[1].label = 'My File Sizes';
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));

await searchBarPage.clickOnSearchIcon();
await searchBarPage.enterTextAndPressEnter('*');
await searchResults.dataTable.waitTillContentLoaded();

await searchFiltersPage.checkCustomFacetFieldLabelIsDisplayed('My File Types');
await searchFiltersPage.checkCustomFacetFieldLabelIsDisplayed('My File Sizes');
});
});
});
5 changes: 5 additions & 0 deletions e2e/search/search-multiselect.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,12 +111,14 @@ describe('Search Component - Multi-Select Facet', () => {
await searchFiltersPage.checkSearchFiltersIsDisplayed();
await searchFiltersPage.creatorCheckListFiltersPage().filterBy(userOption);
await searchFiltersPage.fileTypeCheckListFiltersPage().filterBy('Plain Text');
await searchResultsPage.dataTable.waitTillContentLoaded();

await expect(searchResultsPage.numberOfResultsDisplayed()).toBe(2);
await searchResultsPage.checkContentIsDisplayed(txtFile.entry.name);
await searchResultsPage.checkContentIsDisplayed(txtFileSite.entry.name);

await searchFiltersPage.fileTypeCheckListFiltersPage().filterBy('JPEG Image');
await searchResultsPage.dataTable.waitTillContentLoaded();

await expect(await searchResultsPage.numberOfResultsDisplayed()).toBe(4);
await searchResultsPage.checkContentIsDisplayed(txtFile.entry.name);
Expand Down Expand Up @@ -177,12 +179,14 @@ describe('Search Component - Multi-Select Facet', () => {
await searchFiltersPage.checkSearchFiltersIsDisplayed();
await searchFiltersPage.creatorCheckListFiltersPage().filterBy(`${userUploadingTxt.firstName} ${userUploadingTxt.lastName}`);
await searchFiltersPage.creatorCheckListFiltersPage().filterBy(`${userUploadingImg.firstName} ${userUploadingImg.lastName}`);
await searchResultsPage.dataTable.waitTillContentLoaded();

await searchResultsPage.checkContentIsDisplayed(txtFile.entry.name);
await searchResultsPage.checkContentIsDisplayed(jpgFile.entry.name);

await searchFiltersPage.fileTypeCheckListFiltersPage().filterBy('Plain Text');
await searchFiltersPage.fileTypeCheckListFiltersPage().filterBy('JPEG Image');
await searchResultsPage.dataTable.waitTillContentLoaded();

await expect(await searchResultsPage.numberOfResultsDisplayed()).toBe(2);
await searchResultsPage.checkContentIsDisplayed(txtFile.entry.name);
Expand Down Expand Up @@ -241,6 +245,7 @@ describe('Search Component - Multi-Select Facet', () => {
await searchFiltersPage.checkSearchFiltersIsDisplayed();
await searchFiltersPage.fileTypeCheckListFiltersPage().filterBy('Plain Text');
await searchFiltersPage.creatorCheckListFiltersPage().filterBy(`${acsUser.firstName} ${acsUser.lastName}`);
await searchResultsPage.dataTable.waitTillContentLoaded();

await expect(await searchResultsPage.numberOfResultsDisplayed()).toBe(1);
await searchResultsPage.checkContentIsDisplayed(txtFile.entry.name);
Expand Down
2 changes: 1 addition & 1 deletion e2e/test.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ module.exports = {
timeouts: {
visible_timeout: 20000,
no_visible_timeout: 20000,
index_search: 20000
index_search: 25000
}

};
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ export class SimpleInheritedPermissionTestComponent {
}

onUpdate(node: any) {
this.updatedNode = node.permissions.isInheritanceEnabled;
this.updatedNode = node.permissions?.isInheritanceEnabled ?? false;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ describe('InheritPermissionDirective', () => {
it('should be able to add inherited permission', async(() => {
spyOn(nodeService, 'getNode').and.returnValue(of(fakeNodeNoInherit));
spyOn(nodeService, 'updateNode').and.callFake((_, nodeBody) => {
if (nodeBody.permissions.isInheritanceEnabled) {
if (nodeBody.permissions?.isInheritanceEnabled) {
return of(fakeNodeWithInherit);
} else {
return of(fakeNodeNoInherit);
Expand All @@ -79,7 +79,7 @@ describe('InheritPermissionDirective', () => {
it('should be able to remove inherited permission', async(() => {
spyOn(nodeService, 'getNode').and.returnValue(of(fakeNodeWithInherit));
spyOn(nodeService, 'updateNode').and.callFake((_, nodeBody) => {
if (nodeBody.permissions.isInheritanceEnabled) {
if (nodeBody.permissions?.isInheritanceEnabled) {
return of(fakeNodeWithInherit);
} else {
return of(fakeNodeNoInherit);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export class InheritPermissionDirective {
onInheritPermissionClicked() {
this.nodeService.getNode(this.nodeId).subscribe((node: Node) => {
if (this.contentService.hasAllowableOperations(node, AllowableOperationsEnum.UPDATEPERMISSIONS)) {
const nodeBody = { permissions: { isInheritanceEnabled: !node?.permissions?.isInheritanceEnabled } };
const nodeBody = { permissions: { isInheritanceEnabled: !node?.permissions?.isInheritanceEnabled ?? false} };
this.nodeService.updateNode(this.nodeId, nodeBody, { include: ['permissions'] }).subscribe((nodeUpdated: Node) => {
this.updated.emit(nodeUpdated);
}, (error) => this.error.emit(error));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { BrowserVisibility } from '../../core/utils/browser-visibility';
import { BrowserActions } from '../../core/utils/browser-actions';
import { DropdownPage } from '../../core/pages/material/dropdown.page';
import { BreadcrumbDropdownPage } from '../pages/breadcrumb/breadcrumb-dropdown.page';
import { Logger } from '../../../..';

export class ContentNodeSelectorDialogPage {
dialog = element(by.css(`adf-content-node-selector`));
Expand Down Expand Up @@ -96,9 +97,11 @@ export class ContentNodeSelectorDialogPage {
return this.dataTable.numberOfRows();
}

async typeIntoNodeSelectorSearchField(text): Promise<void> {
async typeIntoNodeSelectorSearchField(text: string): Promise<void> {
Logger.log(`Search Node content node selector ${text}`);

await BrowserVisibility.waitUntilElementIsVisible(this.searchInputElement);
await BrowserActions.clearSendKeys(this.searchInputElement, text, 10);
await BrowserActions.clearSendKeys(this.searchInputElement, text, 100);
await this.dataTable.waitTillContentLoaded();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ export class SearchCheckListPage {
await this.checkSearchFilterInputIsDisplayed();
await this.searchInFilter(option);
await this.clickCheckListOption(option);

return this;
}

Expand Down

0 comments on commit bf2691f

Please sign in to comment.