[ADF-2176] [Destination picker] File Libraries are not displayed (#2868)

* [ADF-2176] [Destination picker] File Libraries are not displayed

update columns used for display according to the folder node to display

* [ADF-2176] revert initial changes

* [ADF-2176] assure that site entries have 'name' property set

* [ADF-2176] add unit test
This commit is contained in:
suzanadirla
2018-02-06 15:53:44 +02:00
committed by Eugenio Romano
parent 03cca19599
commit 9e6469c566
3 changed files with 145 additions and 2 deletions

View File

@@ -27,7 +27,9 @@ import {
fakeNodeAnswerWithEntries,
fakeNodeAnswerWithNOEntries,
fakeNodeWithCreatePermission,
fakeNodeWithNoPermission
fakeNodeWithNoPermission,
fakeGetSitesAnswer,
fakeGetSiteMembership
} from '../../mock';
import { MaterialModule } from '../../material.module';
import { ContentActionModel } from '../models/content-action.model';
@@ -1017,6 +1019,34 @@ describe('DocumentList', () => {
documentList.loadFolderByNodeId('-sites-');
});
it('should assure that sites have name property set', (done) => {
const sitesApi = apiService.getInstance().core.sitesApi;
spyOn(sitesApi, 'getSites').and.returnValue(Promise.resolve(fakeGetSitesAnswer));
documentList.loadFolderByNodeId('-sites-');
expect(sitesApi.getSites).toHaveBeenCalled();
documentList.ready.subscribe((page) => {
const entriesWithoutName = page.list.entries.filter(item => !item.entry.name);
expect(entriesWithoutName.length).toBe(0);
done();
});
});
it('should assure that sites have name property set correctly', (done) => {
const sitesApi = apiService.getInstance().core.sitesApi;
spyOn(sitesApi, 'getSites').and.returnValue(Promise.resolve(fakeGetSitesAnswer));
documentList.loadFolderByNodeId('-sites-');
expect(sitesApi.getSites).toHaveBeenCalled();
documentList.ready.subscribe((page) => {
const wrongName = page.list.entries.filter(item => (item.entry.name !== item.entry.title));
expect(wrongName.length).toBe(0);
done();
});
});
it('should fetch user membership sites', () => {
const peopleApi = apiService.getInstance().core.peopleApi;
spyOn(peopleApi, 'getSiteMembership').and.returnValue(Promise.resolve());
@@ -1037,6 +1067,34 @@ describe('DocumentList', () => {
documentList.loadFolderByNodeId('-mysites-');
});
it('should assure that user membership sites have name property set', (done) => {
const peopleApi = apiService.getInstance().core.peopleApi;
spyOn(peopleApi, 'getSiteMembership').and.returnValue(Promise.resolve(fakeGetSiteMembership));
documentList.loadFolderByNodeId('-mysites-');
expect(peopleApi.getSiteMembership).toHaveBeenCalled();
documentList.ready.subscribe((page) => {
const entriesWithoutName = page.list.entries.filter(item => !item.entry.name);
expect(entriesWithoutName.length).toBe(0);
done();
});
});
it('should assure that user membership sites have name property set correctly', (done) => {
const peopleApi = apiService.getInstance().core.peopleApi;
spyOn(peopleApi, 'getSiteMembership').and.returnValue(Promise.resolve(fakeGetSiteMembership));
documentList.loadFolderByNodeId('-mysites-');
expect(peopleApi.getSiteMembership).toHaveBeenCalled();
documentList.ready.subscribe((page) => {
const wrongName = page.list.entries.filter(item => (item.entry.name !== item.entry.title));
expect(wrongName.length).toBe(0);
done();
});
});
it('should fetch favorites', () => {
const favoritesApi = apiService.getInstance().core.favoritesApi;
spyOn(favoritesApi, 'getFavorites').and.returnValue(Promise.resolve(null));

View File

@@ -608,7 +608,15 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
};
this.apiService.sitesApi.getSites(options)
.then((page: NodePaging) => this.onPageLoaded(page, merge))
.then((page: NodePaging) => {
page.list.entries.map(
({entry}: any) => {
entry.name = entry.name || entry.title;
return {entry};
}
);
this.onPageLoaded(page, merge);
})
.catch(error => this.error.emit(error));
}
@@ -626,6 +634,7 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
entries: result.list.entries
.map(({entry: {site}}: any) => {
site.allowableOperations = site.allowableOperations ? site.allowableOperations : [this.CREATE_PERMISSION];
site.name = site.name || site.title;
return {
entry: site
};