mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ACS-8201] Knowledge Retrieval - getting AI response for one or more selected files (#10229)
* [ACS-8202] basic flow getting ai response for one or more selected files (#9944) * ACS-8202 Getting list of agents * ACS-8202 Mocked agents, used base api from hxi connector * ACS-8202 Search Ai service * ACS-8202 Small correction and mocked data * ACS-8202 Renamed variable * ACS-8202 Added documentation * ACS-8202 Addressed PR comments * ACS-8202 Type change * ACS-8202 Reverted unwatend change * ACS-8202 Reverted unwanted change * ACS-8201 Small correction after rebasing with Angular 15 * [ACS-8398] Unit tests for agents and search ai (#9974) * ACS-8398 Unit tests for search ai api and agents api * ACS-8398 Unit tests for getAnswer function from SearchAiApi, corrections for unit tests for SearchAiApi and AgentsApi * ACS-8398 Unit tests for SearchAiService and AgentService * [ACS-8210] Agent basic details popup (#9956) * [ACS-8573] Allow user to ask question without file selection * [ACS-8312] Display warning about losing response (#10059) * [ACS-8312] Display warning about losing response * [ACS-8312] Display warning about losing response - fixes * [ACS-8432] Sending all file types to HX instead of only the text file types (#10087) * ACS-8201 Fixed issues after rebase * [ACS-8588] Navigation is triggered twice when leaving Knowledge Retrieval page (#10132) * [ACS-8588] Navigation is triggered twice when leaving Knowledge Retrieval page * [ACS-8588] Navigation is triggered twice when leaving Knowledge Retrieval page - review fixes * [ACS-8588] Navigation is triggered twice when leaving Knowledge Retrieval page - review fixes 2 * [ACS-8399] Integrate all changes with backend (#10163) * Answers endpoint fix (#10176) * [ACS-8664] generic question redirection to hx insight (#10174) * ACS-8664 Loading HX insight url * ACS-8664 Added documentation for loading config of Knowledge Retrieval * ACS-8664 Unit tests * ACS-8664 Fixed unit tests * ACS-8664 Fixed unit tests after rebase * ACS-8664 Addressed comment * ACS-8201 Fixed issues after rebase * [ACS-8695] Getting Agent avatar (#10189) * [ACS-8695] Getting Agent avatar * [ACS-8695] Getting Agent avatar - on image load error * [ACS-8695] Getting Agent avatar - removed getAgentAvatar call (#10209) * [ACS-8201] Review fixes --------- Co-authored-by: AleksanderSklorz <115619721+AleksanderSklorz@users.noreply.github.com> Co-authored-by: Aleksander Sklorz <Aleksander.Sklorz@hyland.com>
This commit is contained in:
71
lib/js-api/test/content-services/agentsApi.spec.ts
Normal file
71
lib/js-api/test/content-services/agentsApi.spec.ts
Normal file
@@ -0,0 +1,71 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AgentMock, EcmAuthMock } from '../mockObjects';
|
||||
import { AgentsApi, AlfrescoApi } from '../../src';
|
||||
import assert from 'assert';
|
||||
|
||||
describe('AgentsApi', () => {
|
||||
let agentMock: AgentMock;
|
||||
let agentsApi: AgentsApi;
|
||||
|
||||
beforeEach((done) => {
|
||||
const hostEcm = 'https://127.0.0.1:8080';
|
||||
const authResponseMock = new EcmAuthMock(hostEcm);
|
||||
agentMock = new AgentMock(hostEcm);
|
||||
authResponseMock.get201Response();
|
||||
const alfrescoJsApi = new AlfrescoApi({
|
||||
hostEcm
|
||||
});
|
||||
alfrescoJsApi.login('admin', 'admin').then(() => done());
|
||||
agentsApi = new AgentsApi(alfrescoJsApi);
|
||||
});
|
||||
|
||||
describe('getAgents', () => {
|
||||
it('should load list of agents', (done) => {
|
||||
agentMock.mockGetAgents200Response();
|
||||
|
||||
agentsApi.getAgents().then((paging) => {
|
||||
assert.deepStrictEqual(paging, {
|
||||
list: {
|
||||
pagination: {
|
||||
count: 2,
|
||||
hasMoreItems: false,
|
||||
skipCount: 0,
|
||||
maxItems: 100
|
||||
},
|
||||
entries: [
|
||||
{
|
||||
entry: {
|
||||
id: 'some id 1',
|
||||
name: 'some name 1'
|
||||
}
|
||||
},
|
||||
{
|
||||
entry: {
|
||||
id: 'some id 2',
|
||||
name: 'some name 2'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
99
lib/js-api/test/content-services/searchAiApi.spec.ts
Normal file
99
lib/js-api/test/content-services/searchAiApi.spec.ts
Normal file
@@ -0,0 +1,99 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AlfrescoApi, SearchAiApi } from '../../src';
|
||||
import { EcmAuthMock, SearchAiMock } from '../mockObjects';
|
||||
import assert from 'assert';
|
||||
|
||||
describe('SearchAiApi', () => {
|
||||
let searchAiApi: SearchAiApi;
|
||||
let searchAiMock: SearchAiMock;
|
||||
|
||||
beforeEach((done) => {
|
||||
const hostEcm = 'https://127.0.0.1:8080';
|
||||
const authResponseMock = new EcmAuthMock(hostEcm);
|
||||
searchAiMock = new SearchAiMock(hostEcm);
|
||||
authResponseMock.get201Response();
|
||||
const alfrescoJsApi = new AlfrescoApi({
|
||||
hostEcm
|
||||
});
|
||||
alfrescoJsApi.login('admin', 'admin').then(() => done());
|
||||
searchAiApi = new SearchAiApi(alfrescoJsApi);
|
||||
});
|
||||
|
||||
describe('ask', () => {
|
||||
it('should load question information', (done) => {
|
||||
searchAiMock.mockGetAsk200Response();
|
||||
|
||||
searchAiApi
|
||||
.ask([
|
||||
{
|
||||
question: 'some question 1',
|
||||
nodeIds: ['some node id 1'],
|
||||
agentId: 'id1'
|
||||
}
|
||||
])
|
||||
.then((questions) => {
|
||||
assert.deepStrictEqual(questions, {
|
||||
questionId: 'some id 1',
|
||||
question: 'some question 1',
|
||||
restrictionQuery: {
|
||||
nodesIds: ['some node id 1']
|
||||
}
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('getAnswer', () => {
|
||||
it('should load question answer', (done) => {
|
||||
searchAiMock.mockGetAnswer200Response();
|
||||
|
||||
searchAiApi.getAnswer('id1').then((answer) => {
|
||||
assert.deepStrictEqual(answer, {
|
||||
entry: {
|
||||
answer: 'Some answer 1',
|
||||
questionId: 'some id 1',
|
||||
references: [
|
||||
{
|
||||
referenceId: 'some reference id 1',
|
||||
referenceText: 'some reference text 1'
|
||||
}
|
||||
]
|
||||
}
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('getConfig', () => {
|
||||
it('should load knowledge retrieval configuration', (done) => {
|
||||
searchAiMock.mockGetConfig200Response();
|
||||
|
||||
searchAiApi.getConfig().then((config) => {
|
||||
assert.deepStrictEqual(config, {
|
||||
entry: {
|
||||
knowledgeRetrievalUrl: 'https://some-url'
|
||||
}
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user