68405: test fixes; tbc

This commit is contained in:
Marie Verdonck
2020-01-27 19:56:03 +01:00
committed by Art Lowel
parent f17e204712
commit a52650e62a
12 changed files with 174 additions and 122 deletions

View File

@@ -1,42 +1,43 @@
import { CommonModule } from '@angular/common';
import { EventEmitter } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
import { By } from '@angular/platform-browser';
import { ActivatedRoute, Router } from '@angular/router';
import { RouterTestingModule } from '@angular/router/testing';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { CommonModule } from '@angular/common';
import { ItemCollectionMapperComponent } from './item-collection-mapper.component';
import { ActivatedRoute, Router } from '@angular/router';
import { NotificationsService } from '../../../shared/notifications/notifications.service';
import { ItemDataService } from '../../../core/data/item-data.service';
import { RemoteData } from '../../../core/data/remote-data';
import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model';
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
import { RouterStub } from '../../../shared/testing/router-stub';
import { ActivatedRouteStub } from '../../../shared/testing/active-router-stub';
import { EventEmitter } from '@angular/core';
import { SearchServiceStub } from '../../../shared/testing/search-service-stub';
import { PaginatedList } from '../../../core/data/paginated-list';
import { PageInfo } from '../../../core/shared/page-info.model';
import { FormsModule } from '@angular/forms';
import { TranslateModule, TranslateService } from '@ngx-translate/core';
import { NotificationsServiceStub } from '../../../shared/testing/notifications-service-stub';
import { HostWindowService } from '../../../shared/host-window.service';
import { HostWindowServiceStub } from '../../../shared/testing/host-window-service-stub';
import { By } from '@angular/platform-browser';
import { Item } from '../../../core/shared/item.model';
import { ObjectSelectService } from '../../../shared/object-select/object-select.service';
import { ObjectSelectServiceStub } from '../../../shared/testing/object-select-service-stub';
import { of } from 'rxjs/internal/observable/of';
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
import { RestResponse } from '../../../core/cache/response.models';
import { CollectionSelectComponent } from '../../../shared/object-select/collection-select/collection-select.component';
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe';
import { VarDirective } from '../../../shared/utils/var.directive';
import { SearchFormComponent } from '../../../shared/search-form/search-form.component';
import { CollectionDataService } from '../../../core/data/collection-data.service';
import { ItemDataService } from '../../../core/data/item-data.service';
import { PaginatedList } from '../../../core/data/paginated-list';
import { RemoteData } from '../../../core/data/remote-data';
import { Collection } from '../../../core/shared/collection.model';
import { ErrorComponent } from '../../../shared/error/error.component';
import { LoadingComponent } from '../../../shared/loading/loading.component';
import { Item } from '../../../core/shared/item.model';
import { PageInfo } from '../../../core/shared/page-info.model';
import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service';
import { SearchService } from '../../../core/shared/search/search.service';
import { ErrorComponent } from '../../../shared/error/error.component';
import { HostWindowService } from '../../../shared/host-window.service';
import { LoadingComponent } from '../../../shared/loading/loading.component';
import { NotificationsService } from '../../../shared/notifications/notifications.service';
import { CollectionSelectComponent } from '../../../shared/object-select/collection-select/collection-select.component';
import { ObjectSelectService } from '../../../shared/object-select/object-select.service';
import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model';
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
import { SearchFormComponent } from '../../../shared/search-form/search-form.component';
import { PaginatedSearchOptions } from '../../../shared/search/paginated-search-options.model';
import { ActivatedRouteStub } from '../../../shared/testing/active-router-stub';
import { HostWindowServiceStub } from '../../../shared/testing/host-window-service-stub';
import { NotificationsServiceStub } from '../../../shared/testing/notifications-service-stub';
import { ObjectSelectServiceStub } from '../../../shared/testing/object-select-service-stub';
import { RouterStub } from '../../../shared/testing/router-stub';
import { SearchServiceStub } from '../../../shared/testing/search-service-stub';
import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe';
import { VarDirective } from '../../../shared/utils/var.directive';
import { ItemCollectionMapperComponent } from './item-collection-mapper.component';
describe('ItemCollectionMapperComponent', () => {
let comp: ItemCollectionMapperComponent;
@@ -109,7 +110,8 @@ describe('ItemCollectionMapperComponent', () => {
{ provide: SearchService, useValue: searchServiceStub },
{ provide: ObjectSelectService, useValue: new ObjectSelectServiceStub() },
{ provide: TranslateService, useValue: translateServiceStub },
{ provide: HostWindowService, useValue: new HostWindowServiceStub(0) }
{ provide: HostWindowService, useValue: new HostWindowServiceStub(0) },
{ provide: CollectionDataService, useValue: {} }
]
}).compileComponents();
}));

View File

@@ -1,20 +1,38 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { MockTranslateLoader } from '../../../../shared/mocks/mock-translate-loader';
import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component';
import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
import { ItemDataService } from '../../../../core/data/item-data.service';
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
import { HttpClient } from '@angular/common/http';
import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { Item } from '../../../../core/shared/item.model';
import { PaginatedList } from '../../../../core/data/paginated-list';
import { PageInfo } from '../../../../core/shared/page-info.model';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { Store } from '@ngrx/store';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { Observable } from 'rxjs/internal/Observable';
import { NormalizedObjectBuildService } from '../../../../core/cache/builders/normalized-object-build.service';
import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../../../core/cache/object-cache.service';
import { BundleDataService } from '../../../../core/data/bundle-data.service';
import { CommunityDataService } from '../../../../core/data/community-data.service';
import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-analyzer.service';
import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.service';
import { ItemDataService } from '../../../../core/data/item-data.service';
import { PaginatedList } from '../../../../core/data/paginated-list';
import { RelationshipService } from '../../../../core/data/relationship.service';
import { RemoteData } from '../../../../core/data/remote-data';
import { FindListOptions } from '../../../../core/data/request.models';
import { Bitstream } from '../../../../core/shared/bitstream.model';
import { Bundle } from '../../../../core/shared/bundle.model';
import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service';
import { Item } from '../../../../core/shared/item.model';
import { MetadataMap } from '../../../../core/shared/metadata.models';
import { PageInfo } from '../../../../core/shared/page-info.model';
import { UUIDService } from '../../../../core/shared/uuid.service';
import { MockTranslateLoader } from '../../../../shared/mocks/mock-translate-loader';
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
import { FollowLinkConfig } from '../../../../shared/utils/follow-link-config.model';
import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component';
import { createRelationshipsObservable } from '../shared/item.component.spec';
import { PublicationComponent } from './publication.component';
import { MetadataMap } from '../../../../core/shared/metadata.models';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
import { RelationshipService } from '../../../../core/data/relationship.service';
const mockItem: Item = Object.assign(new Item(), {
bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
@@ -22,11 +40,20 @@ const mockItem: Item = Object.assign(new Item(), {
relationships: createRelationshipsObservable()
});
describe('PublicationComponent', () => {
fdescribe('PublicationComponent', () => {
let comp: PublicationComponent;
let fixture: ComponentFixture<PublicationComponent>;
beforeEach(async(() => {
const mockBundleDataService = {
findAllByItem: undefined,
findByItemAndName(item: Item, bundleName: string, ...linksToFollow: Array<FollowLinkConfig<Bundle>>): Observable<RemoteData<Bitstream>> {
return createSuccessfulRemoteDataObject$(new Bitstream());
},
findAllByBundle(bundle: Bundle, options?: FindListOptions, ...linksToFollow: Array<FollowLinkConfig<Bitstream>>): Observable<RemoteData<PaginatedList<Bitstream>>> {
return createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [new Bitstream()]));
}
};
TestBed.configureTestingModule({
imports: [TranslateModule.forRoot({
loader: {
@@ -36,14 +63,26 @@ describe('PublicationComponent', () => {
})],
declarations: [PublicationComponent, GenericItemPageFieldComponent, TruncatePipe],
providers: [
{provide: ItemDataService, useValue: {}},
{provide: TruncatableService, useValue: {}},
{provide: RelationshipService, useValue: {}}
{ provide: ItemDataService, useValue: {} },
{ provide: TruncatableService, useValue: {} },
{ provide: RelationshipService, useValue: {} },
{ provide: ObjectCacheService, useValue: {} },
{ provide: UUIDService, useValue: {} },
{ provide: Store, useValue: {} },
{ provide: RemoteDataBuildService, useValue: {} },
{ provide: NormalizedObjectBuildService, useValue: {} },
{ provide: CommunityDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} },
{ provide: NotificationsService, useValue: {} },
{ provide: HttpClient, useValue: {} },
{ provide: DSOChangeAnalyzer, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: BundleDataService, useValue: mockBundleDataService },
],
schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(PublicationComponent, {
set: {changeDetection: ChangeDetectionStrategy.Default}
set: { changeDetection: ChangeDetectionStrategy.Default }
}).compileComponents();
}));

View File

@@ -1,6 +1,6 @@
import { LookupGuard } from './lookup-guard';
import { of as observableOf } from 'rxjs';
import { IdentifierType } from '../core/data/request.models';
import { LookupGuard } from './lookup-guard';
describe('LookupGuard', () => {
let dsoService: any;
@@ -8,7 +8,7 @@ describe('LookupGuard', () => {
beforeEach(() => {
dsoService = {
findById: jasmine.createSpy('findById').and.returnValue(observableOf({ hasFailed: false,
findByIdAndIDType: jasmine.createSpy('findByIdAndIDType').and.returnValue(observableOf({ hasFailed: false,
hasSucceeded: true }))
};
guard = new LookupGuard(dsoService);
@@ -22,7 +22,7 @@ describe('LookupGuard', () => {
}
};
guard.canActivate(scopedRoute as any, undefined);
expect(dsoService.findById).toHaveBeenCalledWith('123456789/1234', IdentifierType.HANDLE)
expect(dsoService.findByIdAndIDType).toHaveBeenCalledWith('123456789/1234', IdentifierType.HANDLE)
});
it('should call findByIdAndIDType with handle params', () => {
@@ -33,7 +33,7 @@ describe('LookupGuard', () => {
}
};
guard.canActivate(scopedRoute as any, undefined);
expect(dsoService.findById).toHaveBeenCalledWith('123456789%2F1234', IdentifierType.HANDLE)
expect(dsoService.findByIdAndIDType).toHaveBeenCalledWith('123456789%2F1234', IdentifierType.HANDLE)
});
it('should call findByIdAndIDType with UUID params', () => {
@@ -44,7 +44,7 @@ describe('LookupGuard', () => {
}
};
guard.canActivate(scopedRoute as any, undefined);
expect(dsoService.findById).toHaveBeenCalledWith('34cfed7c-f597-49ef-9cbe-ea351f0023c2', IdentifierType.UUID)
expect(dsoService.findByIdAndIDType).toHaveBeenCalledWith('34cfed7c-f597-49ef-9cbe-ea351f0023c2', IdentifierType.UUID)
});
});

View File

@@ -3,15 +3,16 @@ import { async, TestBed } from '@angular/core/testing';
import { Store, StoreModule } from '@ngrx/store';
import { GlobalConfig } from '../../../config/global-config.interface';
import { AuthStatusResponse } from '../cache/response.models';
import { ObjectCacheService } from '../cache/object-cache.service';
import { AuthStatus } from './models/auth-status.model';
import { AuthResponseParsingService } from './auth-response-parsing.service';
import { AuthGetRequest, AuthPostRequest } from '../data/request.models';
import { MockStore } from '../../shared/testing/mock-store';
import { ObjectCacheService } from '../cache/object-cache.service';
import { AuthStatusResponse } from '../cache/response.models';
import { AuthGetRequest, AuthPostRequest } from '../data/request.models';
import { AuthResponseParsingService } from './auth-response-parsing.service';
import { AuthStatus } from './models/auth-status.model';
describe('AuthResponseParsingService', () => {
let service: AuthResponseParsingService;
let linkServiceStub: any;
const EnvConfig: GlobalConfig = { cache: { msToLive: 1000 } } as any;
let store: any;
@@ -30,7 +31,10 @@ describe('AuthResponseParsingService', () => {
beforeEach(() => {
store = TestBed.get(Store);
objectCacheService = new ObjectCacheService(store as any);
linkServiceStub = jasmine.createSpyObj({
removeResolvedLinks: {}
});
objectCacheService = new ObjectCacheService(store as any, linkServiceStub);
service = new AuthResponseParsingService(EnvConfig, objectCacheService);
});
@@ -141,6 +145,7 @@ describe('AuthResponseParsingService', () => {
it('should return a AuthStatusResponse if data contains a valid endpoint response', () => {
const response = service.parse(validRequest2, validResponse2);
expect(response.constructor).toBe(AuthStatusResponse);
expect(linkServiceStub.removeResolvedLinks).toHaveBeenCalled();
});
it('should return a AuthStatusResponse if data contains an empty 404 endpoint response', () => {

View File

@@ -44,8 +44,8 @@ describe('BrowseService', () => {
'dc.date.issued'
],
_links: {
self: 'https://rest.api/discover/browses/dateissued',
items: 'https://rest.api/discover/browses/dateissued/items'
self: { href: 'https://rest.api/discover/browses/dateissued' },
items: { href: 'https://rest.api/discover/browses/dateissued/items' }
}
}),
Object.assign(new BrowseDefinition(), {
@@ -72,9 +72,9 @@ describe('BrowseService', () => {
'dc.creator'
],
_links: {
self: 'https://rest.api/discover/browses/author',
entries: 'https://rest.api/discover/browses/author/entries',
items: 'https://rest.api/discover/browses/author/items'
self: { href: 'https://rest.api/discover/browses/author' },
entries: { href: 'https://rest.api/discover/browses/author/entries' },
items: { href: 'https://rest.api/discover/browses/author/items' }
}
})
];
@@ -125,9 +125,11 @@ describe('BrowseService', () => {
});
it('should return a RemoteData object containing the correct BrowseDefinition[]', () => {
const expected = cold('--a-', { a: {
payload: browseDefinitions
}});
const expected = cold('--a-', {
a: {
payload: browseDefinitions
}
});
expect(service.getBrowseDefinitions()).toBeObservable(expected);
});
@@ -142,9 +144,11 @@ describe('BrowseService', () => {
rdbService = getMockRemoteDataBuildService();
service = initTestService();
spyOn(service, 'getBrowseDefinitions').and
.returnValue(hot('--a-', { a: {
.returnValue(hot('--a-', {
a: {
payload: browseDefinitions
}}));
}
}));
spyOn(rdbService, 'toRemoteDataObservable').and.callThrough();
});
@@ -215,9 +219,11 @@ describe('BrowseService', () => {
rdbService = getMockRemoteDataBuildService();
service = initTestService();
spyOn(service, 'getBrowseDefinitions').and
.returnValue(hot('--a-', { a: {
.returnValue(hot('--a-', {
a: {
payload: browseDefinitions
}}));
}
}));
});
it('should return the URL for the given metadataKey and linkPath', () => {
@@ -288,9 +294,11 @@ describe('BrowseService', () => {
rdbService = getMockRemoteDataBuildService();
service = initTestService();
spyOn(service, 'getBrowseDefinitions').and
.returnValue(hot('--a-', { a: {
.returnValue(hot('--a-', {
a: {
payload: browseDefinitions
}}));
}
}));
spyOn(rdbService, 'toRemoteDataObservable').and.callThrough();
});

View File

@@ -107,13 +107,6 @@ export class RemoteDataBuildService {
);
}
}
console.log('RD', new RemoteData(
requestPending,
responsePending,
isSuccessful,
error,
payload
));
return new RemoteData(
requestPending,
responsePending,
@@ -126,7 +119,6 @@ export class RemoteDataBuildService {
}
buildList<T extends CacheableObject>(href$: string | Observable<string>, ...linksToFollow: Array<FollowLinkConfig<T>>): Observable<RemoteData<PaginatedList<T>>> {
console.log('rdbBuildList')
if (typeof href$ === 'string') {
href$ = observableOf(href$);
}
@@ -135,7 +127,6 @@ export class RemoteDataBuildService {
const tDomainList$ = requestEntry$.pipe(
getResourceLinksFromResponse(),
switchMap((resourceUUIDs: string[]) => {
console.log('resourceUUIDs', resourceUUIDs)
return this.objectCache.getList(resourceUUIDs).pipe(
map((normList: Array<NormalizedObject<T>>) => {
return normList.map((normalized: NormalizedObject<T>) => {
@@ -149,7 +140,6 @@ export class RemoteDataBuildService {
const pageInfo$ = requestEntry$.pipe(
filterSuccessfulResponses(),
map((response: DSOSuccessResponse) => {
console.log('rdb pageInfo', response)
if (hasValue((response as DSOSuccessResponse).pageInfo)) {
const resPageInfo = (response as DSOSuccessResponse).pageInfo;
if (isNotEmpty(resPageInfo) && resPageInfo.currentPage >= 0) {
@@ -163,7 +153,6 @@ export class RemoteDataBuildService {
const payload$ = observableCombineLatest(tDomainList$, pageInfo$).pipe(
map(([tDomainList, pageInfo]) => {
console.log('rdb domainlist', tDomainList)
return new PaginatedList(pageInfo, tDomainList);
})
);

View File

@@ -1,26 +1,27 @@
import * as ngrx from '@ngrx/store';
import { Store } from '@ngrx/store';
import { Operation } from 'fast-json-patch';
import { of as observableOf } from 'rxjs';
import { ObjectCacheService } from './object-cache.service';
import { first } from 'rxjs/operators';
import { CoreState } from '../core.reducers';
import { RestRequestMethod } from '../data/rest-request-method';
import { Item } from '../shared/item.model';
import { NormalizedItem } from './models/normalized-item.model';
import {
AddPatchObjectCacheAction,
AddToObjectCacheAction,
ApplyPatchObjectCacheAction,
RemoveFromObjectCacheAction
} from './object-cache.actions';
import { CoreState } from '../core.reducers';
import { NormalizedItem } from './models/normalized-item.model';
import { first } from 'rxjs/operators';
import { Operation } from 'fast-json-patch';
import { RestRequestMethod } from '../data/rest-request-method';
import { AddToSSBAction } from './server-sync-buffer.actions';
import { Patch } from './object-cache.reducer';
import { Item } from '../shared/item.model';
import { ObjectCacheService } from './object-cache.service';
import { AddToSSBAction } from './server-sync-buffer.actions';
describe('ObjectCacheService', () => {
let service: ObjectCacheService;
let store: Store<CoreState>;
let linkServiceStub;
const selfLink = 'https://rest.api/endpoint/1698f1d3-be98-4c51-9fd8-6bfedcbd59b7';
const requestUUID = '4d3a4ce8-a375-4b98-859b-39f0a014d736';
@@ -28,7 +29,10 @@ describe('ObjectCacheService', () => {
const msToLive = 900000;
let objectToCache = {
self: selfLink,
type: Item.type
type: Item.type,
_links: {
self: { href: selfLink }
}
};
let cacheEntry;
let invalidCacheEntry;
@@ -37,7 +41,10 @@ describe('ObjectCacheService', () => {
function init() {
objectToCache = {
self: selfLink,
type: Item.type
type: Item.type,
_links: {
self: { href: selfLink }
}
};
cacheEntry = {
data: objectToCache,
@@ -50,8 +57,11 @@ describe('ObjectCacheService', () => {
beforeEach(() => {
init();
store = new Store<CoreState>(undefined, undefined, undefined);
linkServiceStub = jasmine.createSpyObj({
removeResolvedLinks: {}
});
spyOn(store, 'dispatch');
service = new ObjectCacheService(store);
service = new ObjectCacheService(store, linkServiceStub);
spyOn(Date.prototype, 'getTime').and.callFake(() => {
return timestamp;
@@ -62,6 +72,7 @@ describe('ObjectCacheService', () => {
it('should dispatch an ADD action with the object to add, the time to live, and the current timestamp', () => {
service.add(objectToCache, msToLive, requestUUID);
expect(store.dispatch).toHaveBeenCalledWith(new AddToObjectCacheAction(objectToCache, timestamp, msToLive, requestUUID));
expect(linkServiceStub.removeResolvedLinks).toHaveBeenCalledWith(objectToCache);
});
});
@@ -127,7 +138,7 @@ describe('ObjectCacheService', () => {
expect(service.hasBySelfLink(selfLink)).toBe(true);
});
it("should return false if the object with the supplied self link isn't cached", () => {
it('should return false if the object with the supplied self link isn\'t cached', () => {
spyOnProperty(ngrx, 'select').and.callFake(() => {
return () => {
return () => observableOf(undefined);

View File

@@ -1,8 +1,8 @@
import { ErrorResponse, GenericSuccessResponse } from '../cache/response.models';
import { DSpaceRESTV2Response } from '../dspace-rest-v2/dspace-rest-v2-response.model';
import { BrowseDefinition } from '../shared/browse-definition.model';
import { BrowseResponseParsingService } from './browse-response-parsing.service';
import { BrowseEndpointRequest } from './request.models';
import { GenericSuccessResponse, ErrorResponse } from '../cache/response.models';
import { BrowseDefinition } from '../shared/browse-definition.model';
import { DSpaceRESTV2Response } from '../dspace-rest-v2/dspace-rest-v2-response.model';
describe('BrowseResponseParsingService', () => {
let service: BrowseResponseParsingService;
@@ -117,8 +117,8 @@ describe('BrowseResponseParsingService', () => {
'dc.date.issued'
],
_links: {
self: 'https://rest.api/discover/browses/dateissued',
items: 'https://rest.api/discover/browses/dateissued/items'
self: { href: 'https://rest.api/discover/browses/dateissued' },
items: { href: 'https://rest.api/discover/browses/dateissued/items' }
}
}),
Object.assign(new BrowseDefinition(), {
@@ -143,9 +143,9 @@ describe('BrowseResponseParsingService', () => {
'dc.creator'
],
_links: {
self: 'https://rest.api/discover/browses/author',
entries: 'https://rest.api/discover/browses/author/entries',
items: 'https://rest.api/discover/browses/author/items'
self: { href: 'https://rest.api/discover/browses/author' },
entries: { href: 'https://rest.api/discover/browses/author/entries' },
items: { href: 'https://rest.api/discover/browses/author/items' }
}
})
];

View File

@@ -1,25 +1,25 @@
import { HttpClient } from '@angular/common/http';
import { Store } from '@ngrx/store';
import { cold, getTestScheduler, hot } from 'jasmine-marbles';
import { Observable, of as observableOf } from 'rxjs';
import { TestScheduler } from 'rxjs/testing';
import { GlobalConfig } from '../../../config';
import { getMockRequestService } from '../../shared/mocks/mock-request.service';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { NormalizedObjectBuildService } from '../cache/builders/normalized-object-build.service';
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
import { NormalizedObject } from '../cache/models/normalized-object.model';
import { ObjectCacheService } from '../cache/object-cache.service';
import { CoreState } from '../core.reducers';
import { Community } from '../shared/community.model';
import { HALEndpointService } from '../shared/hal-endpoint.service';
import { Item } from '../shared/item.model';
import { ComColDataService } from './comcol-data.service';
import { CommunityDataService } from './community-data.service';
import { FindListOptions, FindByIDRequest } from './request.models';
import { RequestService } from './request.service';
import { NormalizedObject } from '../cache/models/normalized-object.model';
import { HALEndpointService } from '../shared/hal-endpoint.service';
import { RequestEntry } from './request.reducer';
import {Observable, of as observableOf} from 'rxjs';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { HttpClient } from '@angular/common/http';
import { NormalizedObjectBuildService } from '../cache/builders/normalized-object-build.service';
import { DSOChangeAnalyzer } from './dso-change-analyzer.service';
import { Item } from '../shared/item.model';
import { Community } from '../shared/community.model';
import { FindByIDRequest, FindListOptions } from './request.models';
import { RequestEntry } from './request.reducer';
import { RequestService } from './request.service';
const LINK_NAME = 'test';
@@ -54,7 +54,7 @@ class TestService extends ComColDataService<any> {
/* tslint:enable:max-classes-per-file */
describe('ComColDataService', () => {
fdescribe('ComColDataService', () => {
let scheduler: TestScheduler;
let service: TestService;
let requestService: RequestService;

View File

@@ -14,6 +14,7 @@ import { GenericSuccessResponse, RestResponse } from '../cache/response.models';
import { CoreState } from '../core.reducers';
import { HttpOptions } from '../dspace-rest-v2/dspace-rest-v2.service';
import { Collection } from '../shared/collection.model';
import { ExternalSourceEntry } from '../shared/external-source-entry.model';
import { HALEndpointService } from '../shared/hal-endpoint.service';
import { Item } from '../shared/item.model';
import { ITEM } from '../shared/item.resource-type';

View File

@@ -69,10 +69,7 @@ describe('RelationshipTypeService', () => {
/* tslint:enable:no-empty */
}) as ObjectCacheService;
itemService = jasmine.createSpyObj('itemService', {
// findById: (uuid) => new RemoteData(false, false, true, undefined, relatedItems.find((relatedItem) => relatedItem.id === uuid)),
// findByHref: createSuccessfulRemoteDataObject$(relatedItems[0])
});
itemService = undefined;
}
function initTestService() {

View File

@@ -16,7 +16,7 @@ import { DeleteRequest } from './request.models';
import { RequestEntry } from './request.reducer';
import { RequestService } from './request.service';
fdescribe('RelationshipService', () => {
describe('RelationshipService', () => {
let service: RelationshipService;
let requestService: RequestService;