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}}
0" @fadeIn
[objects]="entriesRD"
[selectionConfig]="{ repeatable: repeatable, listId: listId }"
diff --git a/src/app/submission/import-external/submission-import-external.component.spec.ts b/src/app/submission/import-external/submission-import-external.component.spec.ts
index fdfa972cc0..10370d5e77 100644
--- a/src/app/submission/import-external/submission-import-external.component.spec.ts
+++ b/src/app/submission/import-external/submission-import-external.component.spec.ts
@@ -19,10 +19,9 @@ import { VarDirective } from '../../shared/utils/var.directive';
import { routeServiceStub } from '../../shared/testing/route-service.stub';
import { PaginatedSearchOptions } from '../../shared/search/paginated-search-options.model';
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
-import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils';
+import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
import { ExternalSourceEntry } from '../../core/shared/external-source-entry.model';
import { SubmissionImportExternalPreviewComponent } from './import-external-preview/submission-import-external-preview.component';
-import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
describe('SubmissionImportExternalComponent test suite', () => {
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
*/