mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
56 lines
1.2 KiB
TypeScript
56 lines
1.2 KiB
TypeScript
import { NodeTestHarness } from '@nodes-testing/node-test-harness';
|
|
import nock from 'nock';
|
|
|
|
const credentials = {
|
|
perplexityApi: {
|
|
apiKey: 'test-api-key',
|
|
baseUrl: 'https://api.perplexity.ai',
|
|
},
|
|
};
|
|
|
|
describe('Perplexity Node - Chat Completions', () => {
|
|
beforeEach(() => {
|
|
nock.disableNetConnect();
|
|
nock('https://api.perplexity.ai')
|
|
.post('/chat/completions', (body) => {
|
|
return (
|
|
body?.model?.value === 'sonar' &&
|
|
body?.model?.mode === 'id' &&
|
|
Array.isArray(body?.messages) &&
|
|
body.messages.length === 3 &&
|
|
body.messages[0].role === 'user' &&
|
|
body.messages[1].role === 'assistant' &&
|
|
body.messages[2].role === 'user'
|
|
);
|
|
})
|
|
.reply(200, {
|
|
id: '6bb24c98-3071-4691-9a7b-dc4bc18c3c2c',
|
|
model: 'sonar',
|
|
created: 1743161086,
|
|
object: 'chat.completion',
|
|
usage: {
|
|
prompt_tokens: 4,
|
|
completion_tokens: 4,
|
|
total_tokens: 8,
|
|
},
|
|
choices: [
|
|
{
|
|
index: 0,
|
|
finish_reason: 'length',
|
|
message: {
|
|
role: 'assistant',
|
|
content: '<think>\nOkay,',
|
|
},
|
|
},
|
|
],
|
|
});
|
|
});
|
|
|
|
afterEach(() => {
|
|
nock.cleanAll();
|
|
nock.enableNetConnect();
|
|
});
|
|
|
|
new NodeTestHarness().setupTests({ credentials });
|
|
});
|