diff --git a/src/app/shared/mocks/external-source.service.mock.ts b/src/app/shared/mocks/external-source.service.mock.ts index 85d63189e5..fd6d7cdc46 100644 --- a/src/app/shared/mocks/external-source.service.mock.ts +++ b/src/app/shared/mocks/external-source.service.mock.ts @@ -50,8 +50,7 @@ export const externalSourceMyStaffDb: ExternalSource = { /** * Mock for [[ExternalSourceService]] */ -export function getMockExternalSourceService(): -ExternalSourceService { +export function getMockExternalSourceService(): ExternalSourceService { return jasmine.createSpyObj('ExternalSourceService', { findAll: jasmine.createSpy('findAll'), getExternalSourceEntries: jasmine.createSpy('getExternalSourceEntries'), diff --git a/src/app/submission/import-external/submission-import-external.component.html b/src/app/submission/import-external/submission-import-external.component.html index 919eec3f4a..bee5f5d872 100644 --- a/src/app/submission/import-external/submission-import-external.component.html +++ b/src/app/submission/import-external/submission-import-external.component.html @@ -11,7 +11,7 @@
-

{{ 'submission.sections.describe.relationship-lookup.selection-tab.title.' + routeData.sourceId | translate}}

+

{{ 'submission.sections.describe.relationship-lookup.selection-tab.title.' + routeData.sourceId | translate}}

{ let comp: SubmissionImportExternalComponent; @@ -40,6 +39,7 @@ describe('SubmissionImportExternalComponent test suite', () => { const searchConfigServiceStub = { paginatedSearchOptions: mockSearchOptions }; + const mockExternalSourceService: any = getMockExternalSourceService(); beforeEach(async (() => { TestBed.configureTestingModule({ @@ -52,7 +52,7 @@ describe('SubmissionImportExternalComponent test suite', () => { VarDirective ], providers: [ - { provide: ExternalSourceService, useClass: getMockExternalSourceService }, + { provide: ExternalSourceService, useValue: mockExternalSourceService }, { provide: SearchConfigurationService, useValue: searchConfigServiceStub }, { provide: RouteService, useValue: routeServiceStub }, { provide: Router, useValue: new RouterStub() }, @@ -91,6 +91,7 @@ describe('SubmissionImportExternalComponent test suite', () => { comp = fixture.componentInstance; compAsAny = comp; scheduler = getTestScheduler(); + mockExternalSourceService.getExternalSourceEntries.and.returnValue(createSuccessfulRemoteDataObject$(createPaginatedList([]))) }); afterEach(() => { @@ -119,17 +120,17 @@ describe('SubmissionImportExternalComponent test suite', () => { it('Should call \'getExternalSourceEntries\' properly', () => { comp.routeData = { sourceId: '', query: '' }; - comp.isLoading$ = new BehaviorSubject(false); scheduler.schedule(() => compAsAny.retrieveExternalSources('orcidV2', 'test')); scheduler.flush(); expect(comp.routeData).toEqual({ sourceId: 'orcidV2', query: 'test' }); - expect(comp.isLoading$.value).toBe(true); + expect(comp.isLoading$.value).toBe(false); expect(compAsAny.externalService.getExternalSourceEntries).toHaveBeenCalled(); }); it('Should call \'router.navigate\'', () => { - spyOn(compAsAny, 'retrieveExternalSources'); + comp.routeData = { sourceId: '', query: '' }; + spyOn(compAsAny, 'retrieveExternalSources').and.callFake(() => null); compAsAny.router.navigate.and.returnValue( new Promise(() => {return;})) const event = { sourceId: 'orcidV2', query: 'dummy' }; diff --git a/src/app/submission/import-external/submission-import-external.component.ts b/src/app/submission/import-external/submission-import-external.component.ts index 110a399287..d28186a703 100644 --- a/src/app/submission/import-external/submission-import-external.component.ts +++ b/src/app/submission/import-external/submission-import-external.component.ts @@ -39,11 +39,11 @@ export class SubmissionImportExternalComponent implements OnInit, OnDestroy { /** * The displayed list of entries */ - public entriesRD$: BehaviorSubject>>; + public entriesRD$: BehaviorSubject>> = new BehaviorSubject>>(null); /** * TRUE if the REST service is called to retrieve the external source items */ - public isLoading$: BehaviorSubject; + public isLoading$: BehaviorSubject = new BehaviorSubject(false); /** * Configuration to use for the import buttons */