Initial commit
This commit is contained in:
67
skills/deep-research/deep-research.test.ts
Normal file
67
skills/deep-research/deep-research.test.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* Deep Research Skill Tests
|
||||
*/
|
||||
|
||||
import { describe, test, expect } from 'bun:test';
|
||||
import { performDeepResearch, ResearchWorkflow, DeepResearchConfig } from './index';
|
||||
|
||||
describe('Deep Research Skill', () => {
|
||||
const defaultConfig: DeepResearchConfig = {
|
||||
maxSources: 5,
|
||||
requireCrossValidation: true,
|
||||
qualityThreshold: 0.7,
|
||||
includeSentiment: true,
|
||||
};
|
||||
|
||||
test('should perform company research workflow', async () => {
|
||||
const result = await performDeepResearch('Test Company', 'company-research', defaultConfig);
|
||||
|
||||
expect(result.title).toContain('COMPANY RESEARCH: Test Company');
|
||||
expect(result.summary).toBeTruthy();
|
||||
expect(result.findings.length).toBeGreaterThan(0);
|
||||
expect(result.sources.length).toBeGreaterThan(0);
|
||||
expect(result.confidence).toBeGreaterThan(0);
|
||||
expect(result.recommendations.length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
test('should perform market analysis workflow', async () => {
|
||||
const result = await performDeepResearch('Software Market', 'market-analysis', defaultConfig);
|
||||
|
||||
expect(result.title).toContain('MARKET ANALYSIS: Software Market');
|
||||
expect(result.methodology).toContain('market-analysis methodology');
|
||||
expect(result.limitations.length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
test('should include all required report sections', async () => {
|
||||
const result = await performDeepResearch('Test Query', 'tool-comparison', defaultConfig);
|
||||
|
||||
expect(result.title).toBeTruthy();
|
||||
expect(result.summary).toBeTruthy();
|
||||
expect(result.methodology).toBeTruthy();
|
||||
expect(result.findings).toBeArray();
|
||||
expect(result.sources).toBeArray();
|
||||
expect(typeof result.confidence).toBe('number');
|
||||
expect(result.limitations).toBeArray();
|
||||
expect(result.recommendations).toBeArray();
|
||||
expect(result.generatedAt).toBeInstanceOf(Date);
|
||||
});
|
||||
|
||||
test('should handle different workflows correctly', async () => {
|
||||
const workflows: ResearchWorkflow[] = [
|
||||
'company-research',
|
||||
'competitor-analysis',
|
||||
'market-analysis',
|
||||
'trend-analysis',
|
||||
'tool-comparison',
|
||||
'technical-analysis',
|
||||
];
|
||||
|
||||
for (const workflow of workflows) {
|
||||
const result = await performDeepResearch('Test Query', workflow, defaultConfig);
|
||||
|
||||
expect(result.title).toContain(workflow.replace('-', ' ').toUpperCase());
|
||||
expect(result.confidence).toBeGreaterThan(0);
|
||||
expect(result.confidence).toBeLessThanOrEqual(1);
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user