1
0

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,20 +38,42 @@ 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 */ let getRequestEntry$;
remove: () => {
}, function initTestService() {
hasBySelfLinkObservable: () => observableOf(false) return new EPersonDataService(
/* tslint:enable:no-empty */ requestService,
}) as ObjectCacheService; rdbService,
store,
null,
halService,
null,
null,
new DummyChangeAnalyzer() as any
);
}
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({ TestBed.configureTestingModule({
imports: [ imports: [
@@ -69,28 +90,10 @@ describe('EPersonDataService', () => {
providers: [], providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA] schemas: [CUSTOM_ELEMENTS_SCHEMA]
}); });
const getRequestEntry$ = (successful: boolean) => {
return observableOf({
completed: true,
response: { isSuccessful: successful, payload: epeople } as any
} as RequestEntry)
};
function initTestService() {
return new EPersonDataService(
requestService,
rdbService,
store,
null,
halService,
null,
null,
new DummyChangeAnalyzer() as any
);
} }
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,13 +34,28 @@ 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;
let getRequestEntry$;
function init() {
getRequestEntry$ = (successful: boolean) => {
return observableOf({
completed: true,
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({ TestBed.configureTestingModule({
imports: [ imports: [
CommonModule, CommonModule,
@@ -56,13 +71,7 @@ describe('GroupDataService', () => {
providers: [], providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA] schemas: [CUSTOM_ELEMENTS_SCHEMA]
}); });
}
const getRequestEntry$ = (successful: boolean) => {
return observableOf({
completed: true,
response: { isSuccessful: successful, payload: groups } as any
} as RequestEntry)
};
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();