diff --git a/projects/aca-content/src/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.spec.ts b/projects/aca-content/src/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.spec.ts index a2ee18fa7..0b5e78683 100644 --- a/projects/aca-content/src/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.spec.ts +++ b/projects/aca-content/src/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.spec.ts @@ -541,13 +541,14 @@ describe('SearchAiResultsComponent', () => { } } as ResultSetPaging).pipe(delay(50)); - const setupReferencesTest = (objectIds: string[] = [], searchResult: Observable[] = []) => { + const setupReferencesTest = (objectIds: string[] = [], searchResult: Observable[] = [], hasNodeId = false) => { spyOn(contentApiService, 'search').and.returnValues(...searchResult); spyOn(userPreferencesService, 'get').and.returnValue(knowledgeRetrievalNodes); const answer = getAiAnswerEntry(); answer.entry.objectReferences = objectIds.map((id) => ({ - objectId: id, + objectId: `sourceId__${id}`, + nodeId: hasNodeId ? `plain-${id}` : undefined, references: [] })); @@ -624,6 +625,18 @@ describe('SearchAiResultsComponent', () => { expect(unitTestingUtils.getByDataAutomationId(`aca-search-ai-results-${secondNodeId}-document`)).toBeTruthy(); })); + it('should use nodeId when available when fetching references', fakeAsync(() => { + setupReferencesTest([nodeId], [toSearchResult([node1])], true); + expect(contentApiService.search).toHaveBeenCalledWith( + jasmine.objectContaining({ + query: { + query: `ID:"plain-${nodeId}"`, + language: 'afts' + } + }) + ); + })); + describe('Reload References', () => { const getReloadButton = (): DebugElement => unitTestingUtils.getByDataAutomationId('aca-search-ai-response-container-body-references-container-retry-references-loading-button'); diff --git a/projects/aca-content/src/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.ts b/projects/aca-content/src/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.ts index 216c89df6..00c2a2456 100644 --- a/projects/aca-content/src/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.ts +++ b/projects/aca-content/src/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.ts @@ -293,7 +293,7 @@ export class SearchAiResultsComponent extends PageComponent implements OnInit { private fetchReferences(answer?: AiAnswer): Observable { this._hasReferencesLoadingError = false; - const objectIds = answer?.objectReferences?.map((reference) => reference.objectId); + const objectIds = answer?.objectReferences?.map((reference) => reference.nodeId ?? reference.objectId.split('__')[1]); if (!objectIds?.length) { return of([]);