diff --git a/src/app/item-page/bitstreams/upload/upload-bitstream.component.spec.ts b/src/app/item-page/bitstreams/upload/upload-bitstream.component.spec.ts index 35546a63d6..8fa475a2ce 100644 --- a/src/app/item-page/bitstreams/upload/upload-bitstream.component.spec.ts +++ b/src/app/item-page/bitstreams/upload/upload-bitstream.component.spec.ts @@ -21,6 +21,7 @@ import { createPaginatedList } from '../../../shared/testing/utils.test'; import { RouterStub } from '../../../shared/testing/router.stub'; import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { AuthServiceStub } from '../../../shared/testing/auth-service.stub'; +import { getTestScheduler } from 'jasmine-marbles'; describe('UploadBistreamComponent', () => { let comp: UploadBitstreamComponent; @@ -76,7 +77,8 @@ describe('UploadBistreamComponent', () => { const restEndpoint = 'fake-rest-endpoint'; const mockItemDataService = jasmine.createSpyObj('mockItemDataService', { getBitstreamsEndpoint: observableOf(restEndpoint), - createBundle: createSuccessfulRemoteDataObject$(createdBundle) + createBundle: createSuccessfulRemoteDataObject$(createdBundle), + getBundles: createSuccessfulRemoteDataObject$([bundle]) }); const bundleService = jasmine.createSpyObj('bundleService', { getBitstreamsEndpoint: observableOf(restEndpoint), @@ -92,6 +94,22 @@ describe('UploadBistreamComponent', () => { removeByHrefSubstring: {} }); + + describe('on init', () => { + beforeEach(waitForAsync(() => { + createUploadBitstreamTestingModule({ + bundle: bundle.id + }); + })); + beforeEach(() => { + loadFixtureAndComp(); + }); + it('should initialize the bundles', () => { + expect(comp.bundlesRD$).toBeDefined(); + getTestScheduler().expectObservable(comp.bundlesRD$).toBe('(a|)', {a: createSuccessfulRemoteDataObject([bundle])}); + }); + }); + describe('when a file is uploaded', () => { beforeEach(waitForAsync(() => { createUploadBitstreamTestingModule({}); diff --git a/src/app/item-page/bitstreams/upload/upload-bitstream.component.ts b/src/app/item-page/bitstreams/upload/upload-bitstream.component.ts index 7635758463..61821a81b9 100644 --- a/src/app/item-page/bitstreams/upload/upload-bitstream.component.ts +++ b/src/app/item-page/bitstreams/upload/upload-bitstream.component.ts @@ -108,9 +108,7 @@ export class UploadBitstreamComponent implements OnInit, OnDestroy { this.itemId = this.route.snapshot.params.id; this.entityType = this.route.snapshot.params['entity-type']; this.itemRD$ = this.route.data.pipe(map((data) => data.dso)); - this.bundlesRD$ = this.itemRD$.pipe( - switchMap((itemRD: RemoteData) => itemRD.payload.bundles) - ); + this.bundlesRD$ = this.itemService.getBundles(this.itemId); this.selectedBundleId = this.route.snapshot.queryParams.bundle; if (isNotEmpty(this.selectedBundleId)) { this.bundleService.findById(this.selectedBundleId).pipe(