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 builderService: FormBuilderService;
const mockEPeople = [EPersonMock, EPersonMock2];
let mockEPeople;
let ePersonDataServiceStub: any;
beforeEach(async(() => {
mockEPeople = [EPersonMock, EPersonMock2];
ePersonDataServiceStub = {
activeEPerson: null,
allEpeople: mockEPeople,

View File

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

View File

@@ -38,10 +38,11 @@ describe('EPersonFormComponent', () => {
let translateService: TranslateService;
let builderService: FormBuilderService;
const mockEPeople = [EPersonMock, EPersonMock2];
let mockEPeople;
let ePersonDataServiceStub: any;
beforeEach(async(() => {
mockEPeople = [EPersonMock, EPersonMock2];
ePersonDataServiceStub = {
activeEPerson: null,
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 { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
import { SearchParam } from '../cache/models/search-param.model';
import { ObjectCacheService } from '../cache/object-cache.service';
import { CoreState } from '../core.reducers';
import { ChangeAnalyzer } from '../data/change-analyzer';
import { PaginatedList } from '../data/paginated-list';
@@ -39,20 +38,42 @@ describe('EPersonDataService', () => {
let requestService: RequestService;
let scheduler: TestScheduler;
const epeople = [EPersonMock, EPersonMock2];
let epeople;
const restEndpointURL = 'https://dspace.4science.it/dspace-spring-rest/api/eperson';
const epersonsEndpoint = `${restEndpointURL}/epersons`;
let halService: any = new HALEndpointServiceStub(restEndpointURL);
const epeople$ = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [epeople]));
const rdbService = getMockRemoteDataBuildServiceHrefMap(undefined, { 'https://dspace.4science.it/dspace-spring-rest/api/eperson/epersons': epeople$ });
const objectCache = Object.assign({
/* tslint:disable:no-empty */
remove: () => {
},
hasBySelfLinkObservable: () => observableOf(false)
/* tslint:enable:no-empty */
}) as ObjectCacheService;
let restEndpointURL;
let epersonsEndpoint;
let halService: any;
let epeople$;
let rdbService;
let getRequestEntry$;
function initTestService() {
return new EPersonDataService(
requestService,
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({
imports: [
@@ -69,28 +90,10 @@ describe('EPersonDataService', () => {
providers: [],
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(() => {
init();
requestService = getMockRequestService(getRequestEntry$(true));
store = new Store<CoreState>(undefined, undefined, undefined);
service = initTestService();

View File

@@ -34,13 +34,28 @@ describe('GroupDataService', () => {
let store: Store<CoreState>;
let requestService: RequestService;
const restEndpointURL = 'https://dspace.4science.it/dspace-spring-rest/api/eperson';
const groupsEndpoint = `${restEndpointURL}/groups`;
const groups = [GroupMock, GroupMock2];
const groups$ = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), groups));
const halService: any = new HALEndpointServiceStub(restEndpointURL);
const rdbService = getMockRemoteDataBuildServiceHrefMap(undefined, { 'https://dspace.4science.it/dspace-spring-rest/api/eperson/groups': groups$ });
let restEndpointURL;
let groupsEndpoint;
let groups;
let groups$;
let halService;
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({
imports: [
CommonModule,
@@ -56,13 +71,7 @@ describe('GroupDataService', () => {
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
});
const getRequestEntry$ = (successful: boolean) => {
return observableOf({
completed: true,
response: { isSuccessful: successful, payload: groups } as any
} as RequestEntry)
};
}
function initTestService() {
return new GroupDataService(
@@ -78,6 +87,7 @@ describe('GroupDataService', () => {
};
beforeEach(() => {
init();
requestService = getMockRequestService(getRequestEntry$(true));
store = new Store<CoreState>(undefined, undefined, undefined);
service = initTestService();