From ca32314951993abf5922e30f84df48622a86251c Mon Sep 17 00:00:00 2001 From: Kim Shepherd Date: Mon, 4 Mar 2024 13:31:48 +1300 Subject: [PATCH] [TLC-674] Fix findDuplicates error in claimed task (old code) Update spec tests --- .../submission-duplicate-data.service.ts | 6 +++++- ...ed-search-result-list-element.component.spec.ts | 6 +----- ...claimed-search-result-list-element.component.ts | 14 +------------- ...ol-search-result-list-element.component.spec.ts | 6 +----- .../pool-search-result-list-element.component.ts | 2 -- 5 files changed, 8 insertions(+), 26 deletions(-) diff --git a/src/app/core/submission/submission-duplicate-data.service.ts b/src/app/core/submission/submission-duplicate-data.service.ts index bb440722dc..7e0e97e80b 100644 --- a/src/app/core/submission/submission-duplicate-data.service.ts +++ b/src/app/core/submission/submission-duplicate-data.service.ts @@ -18,6 +18,8 @@ import { PaginatedList } from '../data/paginated-list.model'; import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; import { SearchData, SearchDataImpl } from '../data/base/search-data'; +import { DUPLICATE } from '../../shared/object-list/duplicate-data/duplicate.resource-type'; +import { dataService } from '../data/base/data-service.decorator'; /** @@ -30,6 +32,7 @@ import { SearchData, SearchDataImpl } from '../data/base/search-data'; * */ @Injectable() +@dataService(DUPLICATE) export class SubmissionDuplicateDataService extends BaseDataService implements SearchData { /** @@ -120,8 +123,9 @@ export class SubmissionDuplicateDataService extends BaseDataService i findListOptions.searchParams = searchParams; } - // Perform the actual search by search + // Return actual search/findByItem results return this.searchBy('findByItem', findListOptions, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow); + } /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts index 7e513319a1..d0184465de 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts @@ -29,7 +29,6 @@ import { environment } from '../../../../../environments/environment'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { Context } from '../../../../core/shared/context.model'; import { createPaginatedList } from '../../../testing/utils.test'; -import { ItemDataService } from '../../../../core/data/item-data.service'; import { SubmissionDuplicateDataService } from '../../../../core/submission/submission-duplicate-data.service'; import { ConfigurationProperty } from '../../../../core/shared/configuration-property.model'; import { ConfigurationDataService } from '../../../../core/data/configuration-data.service'; @@ -41,9 +40,7 @@ const mockResultObject: ClaimedTaskSearchResult = new ClaimedTaskSearchResult(); mockResultObject.hitHighlights = {}; const emptyList = createSuccessfulRemoteDataObject(createPaginatedList([])); -const itemDataServiceStub = { - findListByHref: () => observableOf(emptyList), -}; + const configurationDataService = jasmine.createSpyObj('configurationDataService', { findByPropertyName: createSuccessfulRemoteDataObject$(Object.assign(new ConfigurationProperty(), { name: 'duplicate.enable', @@ -106,7 +103,6 @@ describe('ClaimedSearchResultListElementComponent', () => { { provide: DSONameService, useClass: DSONameServiceMock }, { provide: APP_CONFIG, useValue: environment }, { provide: ObjectCacheService, useValue: objectCacheServiceMock }, - { provide: ItemDataService, useValue: itemDataServiceStub }, { provide: ConfigurationDataService, useValue: configurationDataService }, { provide: SubmissionDuplicateDataService, useValue: duplicateDataServiceStub }, ], diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts index b4a61a6290..2dd87ec1a1 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts @@ -23,7 +23,6 @@ import { isNotEmpty, hasValue } from '../../../empty.util'; import { Context } from '../../../../core/shared/context.model'; import { Duplicate } from '../../duplicate-data/duplicate.model'; import { PaginatedList } from '../../../../core/data/paginated-list.model'; -import { ItemDataService } from '../../../../core/data/item-data.service'; import { SubmissionDuplicateDataService } from '../../../../core/submission/submission-duplicate-data.service'; import { ConfigurationProperty } from '../../../../core/shared/configuration-property.model'; import { ConfigurationDataService } from '../../../../core/data/configuration-data.service'; @@ -71,7 +70,6 @@ export class ClaimedSearchResultListElementComponent extends SearchResultListEle protected truncatableService: TruncatableService, public dsoNameService: DSONameService, protected objectCache: ObjectCacheService, - protected itemDataService: ItemDataService, protected configService: ConfigurationDataService, protected duplicateDataService: SubmissionDuplicateDataService, @Inject(APP_CONFIG) protected appConfig: AppConfig @@ -104,22 +102,12 @@ export class ClaimedSearchResultListElementComponent extends SearchResultListEle tap((itemRD: RemoteData) => { if (isNotEmpty(itemRD) && itemRD.hasSucceeded) { this.item$.next(itemRD.payload); - this.duplicates$ = this.duplicateDataService.findDuplicates(itemRD.payload.uuid).pipe( - getFirstCompletedRemoteData(), - map((remoteData: RemoteData>) => { - if (remoteData.hasSucceeded) { - if (remoteData.payload.page) { - return remoteData.payload.page; - } - } - }) - ); } }) ).subscribe(); + this.showThumbnails = this.appConfig.browseBy.showThumbnails; // Initialise duplicates, if enabled this.duplicates$ = this.initializeDuplicateDetectionIfEnabled(); - this.showThumbnails = this.appConfig.browseBy.showThumbnails; } /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts index 555449a3a4..47c08fbe94 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts @@ -28,7 +28,6 @@ import { APP_CONFIG } from '../../../../../config/app-config.interface'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { Context } from '../../../../core/shared/context.model'; import { createPaginatedList } from '../../../testing/utils.test'; -import { ItemDataService } from '../../../../core/data/item-data.service'; import { SubmissionDuplicateDataService } from '../../../../core/submission/submission-duplicate-data.service'; import { ConfigurationProperty } from '../../../../core/shared/configuration-property.model'; import { ConfigurationDataService } from '../../../../core/data/configuration-data.service'; @@ -40,9 +39,7 @@ const mockResultObject: PoolTaskSearchResult = new PoolTaskSearchResult(); mockResultObject.hitHighlights = {}; const emptyList = createSuccessfulRemoteDataObject(createPaginatedList([])); -const itemDataServiceStub = { - findListByHref: () => observableOf(emptyList), -}; + const configurationDataService = jasmine.createSpyObj('configurationDataService', { findByPropertyName: createSuccessfulRemoteDataObject$(Object.assign(new ConfigurationProperty(), { name: 'duplicate.enable', @@ -113,7 +110,6 @@ describe('PoolSearchResultListElementComponent', () => { { provide: DSONameService, useClass: DSONameServiceMock }, { provide: APP_CONFIG, useValue: environmentUseThumbs }, { provide: ObjectCacheService, useValue: objectCacheServiceMock }, - { provide: ItemDataService, useValue: itemDataServiceStub }, { provide: ConfigurationDataService, useValue: configurationDataService }, { provide: SubmissionDuplicateDataService, useValue: duplicateDataServiceStub } ], diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts index 3ada585f00..087f234fd3 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts @@ -24,7 +24,6 @@ import { isNotEmpty, hasValue } from '../../../empty.util'; import { Context } from '../../../../core/shared/context.model'; import { PaginatedList } from '../../../../core/data/paginated-list.model'; import { Duplicate } from '../../duplicate-data/duplicate.model'; -import { ItemDataService } from '../../../../core/data/item-data.service'; import { SubmissionDuplicateDataService } from '../../../../core/submission/submission-duplicate-data.service'; import { ConfigurationDataService } from '../../../../core/data/configuration-data.service'; import { ConfigurationProperty } from '../../../../core/shared/configuration-property.model'; @@ -81,7 +80,6 @@ export class PoolSearchResultListElementComponent extends SearchResultListElemen protected truncatableService: TruncatableService, public dsoNameService: DSONameService, protected objectCache: ObjectCacheService, - protected itemDataService: ItemDataService, protected configService: ConfigurationDataService, protected duplicateDataService: SubmissionDuplicateDataService, @Inject(APP_CONFIG) protected appConfig: AppConfig