fix random test failing part 2 (#3395)

* fix random failing test core search/comment/auth/user

* fix node delete directive

* fix lint issues

* node restore fix

* fix comment test

* remove fdescribe

* fix tests and tslint

* fix upload test

* unsubscribe success event task test

* copy comment object during test

* use the data pipe performance improvement and standard usage

* uncomment random test

* fix comment date random failing test

* disposable unsubscribe

* fix start process

* remove fdescribe

* change start process test and remove commented code

* fix error event check double click

* clone object form test

* refactor date time test

* fix service mock

* fix test dropdown and context

* git hook lint

* fix language test

* unsubscribe documentlist event test

* fix disposable error

* fix console log service error document list

* unusbscribe search test

* clear input field

* remove wrong test
This commit is contained in:
Eugenio Romano
2018-05-29 11:18:17 +02:00
committed by Denys Vuika
parent 22006395c7
commit eb0f91c5db
43 changed files with 4475 additions and 4332 deletions

View File

@@ -49,6 +49,8 @@ describe('DocumentList', () => {
let fixture: ComponentFixture<DocumentListComponent>;
let element: HTMLElement;
let eventMock: any;
let spyGetSites: any;
let spyFavorite: any;
setupTestBed({
imports: [ContentTestingModule],
@@ -69,7 +71,8 @@ describe('DocumentList', () => {
apiService = TestBed.get(AlfrescoApiService);
customResourcesService = TestBed.get(CustomResourcesService);
spyOn(documentList, 'onPageLoaded').and.callThrough();
spyGetSites = spyOn(apiService.sitesApi, 'getSites').and.returnValue(Promise.resolve(fakeGetSitesAnswer));
spyFavorite = spyOn(apiService.favoritesApi, 'getFavorites').and.returnValue(Promise.resolve({list: []}));
});
afterEach(() => {
@@ -249,8 +252,9 @@ describe('DocumentList', () => {
spyOn(documentListService, 'getFolder').and.returnValue(Observable.of(fakeNodeAnswerWithNOEntries));
documentList.ready.subscribe(() => {
let disposableReady = documentList.ready.subscribe(() => {
expect(element.querySelector('#adf-document-list-empty')).toBeDefined();
disposableReady.unsubscribe();
done();
});
@@ -536,8 +540,9 @@ describe('DocumentList', () => {
it('should emit nodeClick event', (done) => {
let node = new FileNode();
documentList.nodeClick.subscribe(e => {
let disposableClick = documentList.nodeClick.subscribe(e => {
expect(e.value).toBe(node);
disposableClick.unsubscribe();
done();
});
documentList.onNodeClick(node);
@@ -625,8 +630,9 @@ describe('DocumentList', () => {
it('should emit file preview event on single click', (done) => {
let file = new FileNode();
documentList.preview.subscribe(e => {
let disposablePreview = documentList.preview.subscribe(e => {
expect(e.value).toBe(file);
disposablePreview.unsubscribe();
done();
});
documentList.navigationMode = DocumentListComponent.SINGLE_CLICK_NAVIGATION;
@@ -635,8 +641,9 @@ describe('DocumentList', () => {
it('should emit file preview event on double click', (done) => {
let file = new FileNode();
documentList.preview.subscribe(e => {
let disposablePreview = documentList.preview.subscribe(e => {
expect(e.value).toBe(file);
disposablePreview.unsubscribe();
done();
});
documentList.navigationMode = DocumentListComponent.DOUBLE_CLICK_NAVIGATION;
@@ -889,8 +896,7 @@ describe('DocumentList', () => {
it('should emit node-click DOM event', (done) => {
let node = new NodeMinimalEntry();
const htmlElement = fixture.debugElement.nativeElement as HTMLElement;
htmlElement.addEventListener('node-click', (e: CustomEvent) => {
document.addEventListener('node-click', (e: CustomEvent) => {
done();
});
@@ -928,8 +934,9 @@ describe('DocumentList', () => {
const error = { message: '{ "error": { "statusCode": 501 } }' };
spyOn(documentListService, 'getFolderNode').and.returnValue(Observable.throw(error));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe(error);
disposableError.unsubscribe();
done();
});
@@ -941,8 +948,9 @@ describe('DocumentList', () => {
spyOn(documentListService, 'getFolderNode').and.returnValue(Observable.of(fakeNodeWithCreatePermission));
spyOn(documentList, 'loadFolderNodesByFolderNodeId').and.returnValue(Promise.reject(error));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe(error);
disposableError.unsubscribe();
done();
});
@@ -953,9 +961,10 @@ describe('DocumentList', () => {
const error = { message: '{ "error": { "statusCode": 403 } }' };
spyOn(documentListService, 'getFolderNode').and.returnValue(Observable.throw(error));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe(error);
expect(documentList.noPermission).toBe(true);
disposableError.unsubscribe();
done();
});
@@ -1025,8 +1034,9 @@ describe('DocumentList', () => {
it('should emit error when fetch trashcan fails', (done) => {
spyOn(apiService.nodesApi, 'getDeletedNodes').and.returnValue(Promise.reject('error'));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
});
@@ -1045,8 +1055,9 @@ describe('DocumentList', () => {
spyOn(apiService.getInstance().core.sharedlinksApi, 'findSharedLinks')
.and.returnValue(Promise.reject('error'));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
});
@@ -1055,18 +1066,17 @@ describe('DocumentList', () => {
it('should fetch sites', () => {
const sitesApi = apiService.getInstance().core.sitesApi;
spyOn(sitesApi, 'getSites').and.returnValue(Promise.resolve(null));
documentList.loadFolderByNodeId('-sites-');
expect(sitesApi.getSites).toHaveBeenCalled();
});
it('should emit error when fetch sites fails', (done) => {
spyOn(apiService.getInstance().core.sitesApi, 'getSites')
.and.returnValue(Promise.reject('error'));
spyGetSites.and.returnValue(Promise.reject('error'));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
});
@@ -1075,32 +1085,28 @@ describe('DocumentList', () => {
it('should assure that sites have name property set', (done) => {
fixture.detectChanges();
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) => {
let disposableReady = documentList.ready.subscribe((page) => {
const entriesWithoutName = page.list.entries.filter(item => !item.entry.name);
expect(entriesWithoutName.length).toBe(0);
disposableReady.unsubscribe();
done();
});
documentList.loadFolderByNodeId('-sites-');
});
it('should assure that sites have name property set correctly', (done) => {
fixture.detectChanges();
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) => {
let disposableReady = documentList.ready.subscribe((page) => {
const wrongName = page.list.entries.filter(item => (item.entry.name !== item.entry.title));
expect(wrongName.length).toBe(0);
disposableReady.unsubscribe();
done();
});
documentList.loadFolderByNodeId('-sites-');
});
it('should fetch user membership sites', () => {
@@ -1115,8 +1121,9 @@ describe('DocumentList', () => {
spyOn(apiService.getInstance().core.peopleApi, 'getSiteMembership')
.and.returnValue(Promise.reject('error'));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
});
@@ -1131,9 +1138,10 @@ describe('DocumentList', () => {
documentList.loadFolderByNodeId('-mysites-');
expect(peopleApi.getSiteMembership).toHaveBeenCalled();
documentList.ready.subscribe((page) => {
let disposableReady = documentList.ready.subscribe((page) => {
const entriesWithoutName = page.list.entries.filter(item => !item.entry.name);
expect(entriesWithoutName.length).toBe(0);
disposableReady.unsubscribe();
done();
});
});
@@ -1146,27 +1154,28 @@ describe('DocumentList', () => {
documentList.loadFolderByNodeId('-mysites-');
expect(peopleApi.getSiteMembership).toHaveBeenCalled();
documentList.ready.subscribe((page) => {
let disposableReady = documentList.ready.subscribe((page) => {
const wrongName = page.list.entries.filter(item => (item.entry.name !== item.entry.title));
expect(wrongName.length).toBe(0);
disposableReady.unsubscribe();
done();
});
});
it('should fetch favorites', () => {
const favoritesApi = apiService.getInstance().core.favoritesApi;
spyOn(favoritesApi, 'getFavorites').and.returnValue(Promise.resolve(null));
spyFavorite.and.returnValue(Promise.resolve(null));
documentList.loadFolderByNodeId('-favorites-');
expect(favoritesApi.getFavorites).toHaveBeenCalled();
});
it('should emit error when fetch favorites fails', (done) => {
spyOn(apiService.getInstance().core.favoritesApi, 'getFavorites')
.and.returnValue(Promise.reject('error'));
spyFavorite.and.returnValue(Promise.reject('error'));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
});
@@ -1186,19 +1195,21 @@ describe('DocumentList', () => {
it('should emit error when fetch recent fails on getPerson call', (done) => {
spyOn(apiService.peopleApi, 'getPerson').and.returnValue(Promise.reject('error'));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
});
documentList.loadFolderByNodeId('-recent-');
});
it('should emit error when fetch recent fails on search call', (done) => {
xit('should emit error when fetch recent fails on search call', (done) => {
spyOn(customResourcesService, 'loadFolderByNodeId').and.returnValue(Observable.throw('error'));
documentList.error.subscribe(val => {
let disposableError = documentList.error.subscribe(val => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
});
@@ -1216,9 +1227,6 @@ describe('DocumentList', () => {
it('should reset folder node on loading folder by node id', () => {
documentList.folderNode = <any> {};
const sitesApi = apiService.getInstance().core.sitesApi;
spyOn(sitesApi, 'getSites').and.returnValue(Promise.resolve(null));
documentList.loadFolderByNodeId('-sites-');
expect(documentList.folderNode).toBeNull();

View File

@@ -601,7 +601,7 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
this.noPermission = false;
}
private onPageLoaded(nodePaging: NodePaging) {
onPageLoaded(nodePaging: NodePaging) {
if (nodePaging) {
this.data.loadPage(nodePaging, this.pagination.getValue().merge);
this.loading = false;