[CSTPER-138] Fixed failed test

This commit is contained in:
Giuseppe Digilio
2020-10-22 17:24:18 +02:00
parent 826957a66d
commit c374627c27
4 changed files with 11 additions and 11 deletions

View File

@@ -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'),

View File

@@ -11,7 +11,7 @@
<div class="row">
<div *ngIf="routeData.sourceId !== ''" class="col-md-12">
<ng-container *ngVar="(entriesRD$ | async) as entriesRD">
<h3 *ngIf="entriesRD?.payload?.page?.length !== 0">{{ 'submission.sections.describe.relationship-lookup.selection-tab.title.' + routeData.sourceId | translate}}</h3>
<h3 *ngIf="entriesRD && entriesRD?.payload?.page?.length !== 0">{{ 'submission.sections.describe.relationship-lookup.selection-tab.title.' + routeData.sourceId | translate}}</h3>
<ds-viewable-collection *ngIf="entriesRD?.hasSucceeded && !(isLoading$ | async) && entriesRD?.payload?.page?.length > 0" @fadeIn
[objects]="entriesRD"
[selectionConfig]="{ repeatable: repeatable, listId: listId }"

View File

@@ -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' };

View File

@@ -39,11 +39,11 @@ export class SubmissionImportExternalComponent implements OnInit, OnDestroy {
/**
* The displayed list of entries
*/
public entriesRD$: BehaviorSubject<RemoteData<PaginatedList<ExternalSourceEntry>>>;
public entriesRD$: BehaviorSubject<RemoteData<PaginatedList<ExternalSourceEntry>>> = new BehaviorSubject<RemoteData<PaginatedList<ExternalSourceEntry>>>(null);
/**
* TRUE if the REST service is called to retrieve the external source items
*/
public isLoading$: BehaviorSubject<boolean>;
public isLoading$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
/**
* Configuration to use for the import buttons
*/