From b184db7a993193d005eafd68db7609abb696b0e4 Mon Sep 17 00:00:00 2001 From: Jesiel Viana Date: Thu, 24 Apr 2025 10:04:41 -0300 Subject: [PATCH] fix unit tests for bitstream-data.service.ts --- src/app/core/data/bitstream-data.service.spec.ts | 10 +++++++++- src/app/core/data/bitstream-data.service.ts | 8 +++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/app/core/data/bitstream-data.service.spec.ts b/src/app/core/data/bitstream-data.service.spec.ts index 1f4b2efaf6..c7d1cf3741 100644 --- a/src/app/core/data/bitstream-data.service.spec.ts +++ b/src/app/core/data/bitstream-data.service.spec.ts @@ -22,6 +22,8 @@ import objectContaining = jasmine.objectContaining; import { RemoteData } from './remote-data'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RequestParam } from '../cache/models/request-param.model'; +import { RestResponse } from '../cache/response.models'; +import { RequestEntry } from './request-entry.model'; describe('BitstreamDataService', () => { let service: BitstreamDataService; @@ -31,6 +33,7 @@ describe('BitstreamDataService', () => { let bitstreamFormatService: BitstreamFormatDataService; let rdbService: RemoteDataBuildService; const bitstreamFormatHref = 'rest-api/bitstreamformats'; + let responseCacheEntry: RequestEntry; const bitstream1 = Object.assign(new Bitstream(), { id: 'fake-bitstream1', @@ -55,8 +58,13 @@ describe('BitstreamDataService', () => { const url = 'fake-bitstream-url'; beforeEach(() => { + responseCacheEntry = new RequestEntry(); + responseCacheEntry.request = { href: 'https://rest.api/' } as any; + responseCacheEntry.response = new RestResponse(true, 200, 'Success'); + objectCache = jasmine.createSpyObj('objectCache', { - remove: jasmine.createSpy('remove') + remove: jasmine.createSpy('remove'), + getByHref: observableOf(responseCacheEntry), }); requestService = getMockRequestService(); halService = Object.assign(new HALEndpointServiceStub(url)); diff --git a/src/app/core/data/bitstream-data.service.ts b/src/app/core/data/bitstream-data.service.ts index f755f9e4dc..59e3d60ae3 100644 --- a/src/app/core/data/bitstream-data.service.ts +++ b/src/app/core/data/bitstream-data.service.ts @@ -147,9 +147,11 @@ export class BitstreamDataService extends IdentifiableDataService imp this.requestService.setStaleByHrefSubstring(bitsreamFormatUrl); // Delete also cache by uuid as the format could be cached also there this.objectCache.getByHref(bitsreamFormatUrl).pipe(take(1)).subscribe((cachedRequest) => { - const requestUuid = cachedRequest.requestUUIDs[0]; - if (this.requestService.hasByUUID(requestUuid)) { - this.requestService.setStaleByUUID(requestUuid); + if (cachedRequest.requestUUIDs && cachedRequest.requestUUIDs.length > 0){ + const requestUuid = cachedRequest.requestUUIDs[0]; + if (this.requestService.hasByUUID(requestUuid)) { + this.requestService.setStaleByUUID(requestUuid); + } } }); }