initialize all variables used in multiple tests inside a beforeEach

This commit is contained in:
Marie Verdonck
2020-03-19 14:34:25 +01:00
parent 87f53d613d
commit e10a37e414
5 changed files with 80 additions and 66 deletions

View File

@@ -29,10 +29,11 @@ describe('EPeopleRegistryComponent', () => {
let translateService: TranslateService; let translateService: TranslateService;
let builderService: FormBuilderService; let builderService: FormBuilderService;
const mockEPeople = [EPersonMock, EPersonMock2]; let mockEPeople;
let ePersonDataServiceStub: any; let ePersonDataServiceStub: any;
beforeEach(async(() => { beforeEach(async(() => {
mockEPeople = [EPersonMock, EPersonMock2];
ePersonDataServiceStub = { ePersonDataServiceStub = {
activeEPerson: null, activeEPerson: null,
allEpeople: mockEPeople, allEpeople: mockEPeople,

View File

@@ -26,7 +26,6 @@ const initialState: EPeopleRegistryState = {
* @param action The EPeopleRegistryAction to perform on the state * @param action The EPeopleRegistryAction to perform on the state
*/ */
export function ePeopleRegistryReducer(state = initialState, action: EPeopleRegistryAction): EPeopleRegistryState { export function ePeopleRegistryReducer(state = initialState, action: EPeopleRegistryAction): EPeopleRegistryState {
switch (action.type) { switch (action.type) {
case EPeopleRegistryActionTypes.EDIT_EPERSON: { case EPeopleRegistryActionTypes.EDIT_EPERSON: {

View File

@@ -38,10 +38,11 @@ describe('EPersonFormComponent', () => {
let translateService: TranslateService; let translateService: TranslateService;
let builderService: FormBuilderService; let builderService: FormBuilderService;
const mockEPeople = [EPersonMock, EPersonMock2]; let mockEPeople;
let ePersonDataServiceStub: any; let ePersonDataServiceStub: any;
beforeEach(async(() => { beforeEach(async(() => {
mockEPeople = [EPersonMock, EPersonMock2];
ePersonDataServiceStub = { ePersonDataServiceStub = {
activeEPerson: null, activeEPerson: null,
allEpeople: mockEPeople, allEpeople: mockEPeople,

View File

@@ -19,7 +19,6 @@ import { EPersonMock, EPersonMock2 } from '../../shared/testing/eperson-mock';
import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service-stub'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service-stub';
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils'; import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
import { SearchParam } from '../cache/models/search-param.model'; import { SearchParam } from '../cache/models/search-param.model';
import { ObjectCacheService } from '../cache/object-cache.service';
import { CoreState } from '../core.reducers'; import { CoreState } from '../core.reducers';
import { ChangeAnalyzer } from '../data/change-analyzer'; import { ChangeAnalyzer } from '../data/change-analyzer';
import { PaginatedList } from '../data/paginated-list'; import { PaginatedList } from '../data/paginated-list';
@@ -39,43 +38,15 @@ describe('EPersonDataService', () => {
let requestService: RequestService; let requestService: RequestService;
let scheduler: TestScheduler; let scheduler: TestScheduler;
const epeople = [EPersonMock, EPersonMock2]; let epeople;
const restEndpointURL = 'https://dspace.4science.it/dspace-spring-rest/api/eperson'; let restEndpointURL;
const epersonsEndpoint = `${restEndpointURL}/epersons`; let epersonsEndpoint;
let halService: any = new HALEndpointServiceStub(restEndpointURL); let halService: any;
const epeople$ = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [epeople])); let epeople$;
const rdbService = getMockRemoteDataBuildServiceHrefMap(undefined, { 'https://dspace.4science.it/dspace-spring-rest/api/eperson/epersons': epeople$ }); let rdbService;
const objectCache = Object.assign({
/* tslint:disable:no-empty */
remove: () => {
},
hasBySelfLinkObservable: () => observableOf(false)
/* tslint:enable:no-empty */
}) as ObjectCacheService;
TestBed.configureTestingModule({ let getRequestEntry$;
imports: [
CommonModule,
StoreModule.forRoot({}),
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useClass: MockTranslateLoader
}
}),
],
declarations: [],
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
});
const getRequestEntry$ = (successful: boolean) => {
return observableOf({
completed: true,
response: { isSuccessful: successful, payload: epeople } as any
} as RequestEntry)
};
function initTestService() { function initTestService() {
return new EPersonDataService( return new EPersonDataService(
@@ -90,7 +61,39 @@ describe('EPersonDataService', () => {
); );
} }
function init() {
getRequestEntry$ = (successful: boolean) => {
return observableOf({
completed: true,
response: { isSuccessful: successful, payload: epeople } as any
} as RequestEntry)
};
restEndpointURL = 'https://dspace.4science.it/dspace-spring-rest/api/eperson';
epersonsEndpoint = `${restEndpointURL}/epersons`;
epeople = [EPersonMock, EPersonMock2];
epeople$ = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [epeople]));
rdbService = getMockRemoteDataBuildServiceHrefMap(undefined, { 'https://dspace.4science.it/dspace-spring-rest/api/eperson/epersons': epeople$ });
halService = new HALEndpointServiceStub(restEndpointURL);
TestBed.configureTestingModule({
imports: [
CommonModule,
StoreModule.forRoot({}),
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useClass: MockTranslateLoader
}
}),
],
declarations: [],
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
});
}
beforeEach(() => { beforeEach(() => {
init();
requestService = getMockRequestService(getRequestEntry$(true)); requestService = getMockRequestService(getRequestEntry$(true));
store = new Store<CoreState>(undefined, undefined, undefined); store = new Store<CoreState>(undefined, undefined, undefined);
service = initTestService(); service = initTestService();

View File

@@ -34,35 +34,44 @@ describe('GroupDataService', () => {
let store: Store<CoreState>; let store: Store<CoreState>;
let requestService: RequestService; let requestService: RequestService;
const restEndpointURL = 'https://dspace.4science.it/dspace-spring-rest/api/eperson'; let restEndpointURL;
const groupsEndpoint = `${restEndpointURL}/groups`; let groupsEndpoint;
const groups = [GroupMock, GroupMock2]; let groups;
const groups$ = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), groups)); let groups$;
const halService: any = new HALEndpointServiceStub(restEndpointURL); let halService;
const rdbService = getMockRemoteDataBuildServiceHrefMap(undefined, { 'https://dspace.4science.it/dspace-spring-rest/api/eperson/groups': groups$ }); let rdbService;
TestBed.configureTestingModule({ let getRequestEntry$;
imports: [
CommonModule,
StoreModule.forRoot({}),
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useClass: MockTranslateLoader
}
}),
],
declarations: [],
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
});
const getRequestEntry$ = (successful: boolean) => { function init() {
return observableOf({ getRequestEntry$ = (successful: boolean) => {
completed: true, return observableOf({
response: { isSuccessful: successful, payload: groups } as any completed: true,
} as RequestEntry) response: { isSuccessful: successful, payload: groups } as any
}; } as RequestEntry)
};
restEndpointURL = 'https://dspace.4science.it/dspace-spring-rest/api/eperson';
groupsEndpoint = `${restEndpointURL}/groups`;
groups = [GroupMock, GroupMock2];
groups$ = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), groups));
rdbService = getMockRemoteDataBuildServiceHrefMap(undefined, { 'https://dspace.4science.it/dspace-spring-rest/api/eperson/groups': groups$ });
halService = new HALEndpointServiceStub(restEndpointURL);
TestBed.configureTestingModule({
imports: [
CommonModule,
StoreModule.forRoot({}),
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useClass: MockTranslateLoader
}
}),
],
declarations: [],
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
});
}
function initTestService() { function initTestService() {
return new GroupDataService( return new GroupDataService(
@@ -78,6 +87,7 @@ describe('GroupDataService', () => {
}; };
beforeEach(() => { beforeEach(() => {
init();
requestService = getMockRequestService(getRequestEntry$(true)); requestService = getMockRequestService(getRequestEntry$(true));
store = new Store<CoreState>(undefined, undefined, undefined); store = new Store<CoreState>(undefined, undefined, undefined);
service = initTestService(); service = initTestService();