Files
n8n-enterprise-unlocked/packages/nodes-base/nodes/Perplexity/test/chat/complete.test.ts

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 });
});