56129: Test covering the bug

This commit is contained in:
Kristof De Langhe
2018-10-12 17:48:06 +02:00
parent d18e8e1ca5
commit 348a42eb35

View File

@@ -34,6 +34,9 @@ import { MockItem } from '../../shared/mocks/mock-item';
import { MockTranslateLoader } from '../../shared/mocks/mock-translate-loader'; import { MockTranslateLoader } from '../../shared/mocks/mock-translate-loader';
import { BrowseService } from '../browse/browse.service'; import { BrowseService } from '../browse/browse.service';
import { HALEndpointService } from '../shared/hal-endpoint.service'; import { HALEndpointService } from '../shared/hal-endpoint.service';
import { PaginatedList } from '../data/paginated-list';
import { PageInfo } from '../shared/page-info.model';
import { EmptyError } from 'rxjs/util/EmptyError';
/* tslint:disable:max-classes-per-file */ /* tslint:disable:max-classes-per-file */
@Component({ @Component({
@@ -181,6 +184,22 @@ describe('MetadataService', () => {
expect(tagStore.get('description')[0].content).toEqual('This is a dummy item component for testing!'); expect(tagStore.get('description')[0].content).toEqual('This is a dummy item component for testing!');
})); }));
describe('when the item has no bitstreams', () => {
beforeEach(() => {
spyOn(MockItem, 'getFiles').and.returnValue(Observable.of([]));
});
it('processRemoteData should not produce an EmptyError', fakeAsync(() => {
spyOn(itemDataService, 'findById').and.returnValue(mockRemoteData(MockItem));
spyOn(metadataService, 'processRemoteData').and.callThrough();
router.navigate(['/items/0ec7ff22-f211-40ab-a69e-c819b0b1f357']);
tick();
expect(metadataService.processRemoteData).not.toThrow(new EmptyError());
}));
});
const mockRemoteData = (mockItem: Item): Observable<RemoteData<Item>> => { const mockRemoteData = (mockItem: Item): Observable<RemoteData<Item>> => {
return Observable.of(new RemoteData<Item>( return Observable.of(new RemoteData<Item>(
false, false,