diff --git a/src/app/+item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts b/src/app/+item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts index c8740c35b2..8b35697b91 100644 --- a/src/app/+item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts +++ b/src/app/+item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts @@ -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(); })); diff --git a/src/app/+item-page/simple/item-types/publication/publication.component.spec.ts b/src/app/+item-page/simple/item-types/publication/publication.component.spec.ts index 9f2eb32d99..bfe2eb05d8 100644 --- a/src/app/+item-page/simple/item-types/publication/publication.component.spec.ts +++ b/src/app/+item-page/simple/item-types/publication/publication.component.spec.ts @@ -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; beforeEach(async(() => { + const mockBundleDataService = { + findAllByItem: undefined, + findByItemAndName(item: Item, bundleName: string, ...linksToFollow: Array>): Observable> { + return createSuccessfulRemoteDataObject$(new Bitstream()); + }, + findAllByBundle(bundle: Bundle, options?: FindListOptions, ...linksToFollow: Array>): Observable>> { + 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(); })); diff --git a/src/app/+lookup-by-id/lookup-guard.spec.ts b/src/app/+lookup-by-id/lookup-guard.spec.ts index 6bd4d5cd12..dec5b57afe 100644 --- a/src/app/+lookup-by-id/lookup-guard.spec.ts +++ b/src/app/+lookup-by-id/lookup-guard.spec.ts @@ -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) }); }); diff --git a/src/app/core/auth/auth-response-parsing.service.spec.ts b/src/app/core/auth/auth-response-parsing.service.spec.ts index 112d60b8d2..3b18d925bf 100644 --- a/src/app/core/auth/auth-response-parsing.service.spec.ts +++ b/src/app/core/auth/auth-response-parsing.service.spec.ts @@ -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', () => { diff --git a/src/app/core/browse/browse.service.spec.ts b/src/app/core/browse/browse.service.spec.ts index f74ae6c3d6..6dafa4cf0a 100644 --- a/src/app/core/browse/browse.service.spec.ts +++ b/src/app/core/browse/browse.service.spec.ts @@ -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(); }); diff --git a/src/app/core/cache/builders/remote-data-build.service.ts b/src/app/core/cache/builders/remote-data-build.service.ts index 23ab7ca13e..48f5e2ea07 100644 --- a/src/app/core/cache/builders/remote-data-build.service.ts +++ b/src/app/core/cache/builders/remote-data-build.service.ts @@ -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(href$: string | Observable, ...linksToFollow: Array>): Observable>> { - 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>) => { return normList.map((normalized: NormalizedObject) => { @@ -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); }) ); diff --git a/src/app/core/cache/object-cache.service.spec.ts b/src/app/core/cache/object-cache.service.spec.ts index 39dc10de2c..1b7a7ad077 100644 --- a/src/app/core/cache/object-cache.service.spec.ts +++ b/src/app/core/cache/object-cache.service.spec.ts @@ -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; + 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(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); diff --git a/src/app/core/data/browse-response-parsing.service.spec.ts b/src/app/core/data/browse-response-parsing.service.spec.ts index 8d0fe7cd41..a2ec2e8f62 100644 --- a/src/app/core/data/browse-response-parsing.service.spec.ts +++ b/src/app/core/data/browse-response-parsing.service.spec.ts @@ -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' } } }) ]; diff --git a/src/app/core/data/comcol-data.service.spec.ts b/src/app/core/data/comcol-data.service.spec.ts index a7fcd205d4..c8f9dccf4d 100644 --- a/src/app/core/data/comcol-data.service.spec.ts +++ b/src/app/core/data/comcol-data.service.spec.ts @@ -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 { /* tslint:enable:max-classes-per-file */ -describe('ComColDataService', () => { +fdescribe('ComColDataService', () => { let scheduler: TestScheduler; let service: TestService; let requestService: RequestService; diff --git a/src/app/core/data/item-data.service.ts b/src/app/core/data/item-data.service.ts index feae173e30..fef3292101 100644 --- a/src/app/core/data/item-data.service.ts +++ b/src/app/core/data/item-data.service.ts @@ -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'; diff --git a/src/app/core/data/relationship-type.service.spec.ts b/src/app/core/data/relationship-type.service.spec.ts index 9a1f75ec4f..2322a692a7 100644 --- a/src/app/core/data/relationship-type.service.spec.ts +++ b/src/app/core/data/relationship-type.service.spec.ts @@ -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() { diff --git a/src/app/core/data/relationship.service.spec.ts b/src/app/core/data/relationship.service.spec.ts index 39f3f527d2..f7ad827f78 100644 --- a/src/app/core/data/relationship.service.spec.ts +++ b/src/app/core/data/relationship.service.spec.ts @@ -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;