chore: fix formatting issues
This commit is contained in:
committed by
Ralph Khreish
parent
2063dc4b7d
commit
a2de49dd90
@@ -4,74 +4,74 @@ import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
describe('analyze-complexity with generateObject', () => {
|
||||
const testTasksFile = path.join(process.cwd(), 'test-tasks.json');
|
||||
const testComplexityFile = path.join(process.cwd(), 'test-complexity.json');
|
||||
|
||||
beforeEach(() => {
|
||||
// Create a test tasks file
|
||||
const testTasks = {
|
||||
projectName: "Test Project",
|
||||
tasks: [
|
||||
{
|
||||
id: 1,
|
||||
title: "Setup project structure",
|
||||
description: "Initialize the project with proper folder structure",
|
||||
status: "pending",
|
||||
dependencies: [],
|
||||
priority: "high"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Implement authentication",
|
||||
description: "Add user authentication with JWT tokens",
|
||||
status: "pending",
|
||||
dependencies: [1],
|
||||
priority: "high"
|
||||
}
|
||||
]
|
||||
};
|
||||
fs.writeFileSync(testTasksFile, JSON.stringify(testTasks, null, 2));
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// Clean up test files
|
||||
if (fs.existsSync(testTasksFile)) {
|
||||
fs.unlinkSync(testTasksFile);
|
||||
}
|
||||
if (fs.existsSync(testComplexityFile)) {
|
||||
fs.unlinkSync(testComplexityFile);
|
||||
}
|
||||
});
|
||||
|
||||
test('should return structured complexity analysis', async () => {
|
||||
const result = await analyzeTaskComplexity({
|
||||
file: testTasksFile,
|
||||
output: testComplexityFile,
|
||||
threshold: 5
|
||||
});
|
||||
const testTasksFile = path.join(process.cwd(), 'test-tasks.json');
|
||||
const testComplexityFile = path.join(process.cwd(), 'test-complexity.json');
|
||||
|
||||
expect(result).toHaveProperty('report');
|
||||
expect(result.report).toHaveProperty('complexityAnalysis');
|
||||
expect(Array.isArray(result.report.complexityAnalysis)).toBe(true);
|
||||
|
||||
if (result.report.complexityAnalysis.length > 0) {
|
||||
const analysis = result.report.complexityAnalysis[0];
|
||||
expect(analysis).toHaveProperty('taskId');
|
||||
expect(analysis).toHaveProperty('taskTitle');
|
||||
expect(analysis).toHaveProperty('complexityScore');
|
||||
expect(analysis).toHaveProperty('recommendedSubtasks');
|
||||
expect(analysis).toHaveProperty('expansionPrompt');
|
||||
expect(analysis).toHaveProperty('reasoning');
|
||||
|
||||
// Check that the values are of the correct type
|
||||
expect(typeof analysis.taskId).toBe('number');
|
||||
expect(typeof analysis.taskTitle).toBe('string');
|
||||
expect(typeof analysis.complexityScore).toBe('number');
|
||||
expect(analysis.complexityScore).toBeGreaterThanOrEqual(1);
|
||||
expect(analysis.complexityScore).toBeLessThanOrEqual(10);
|
||||
expect(typeof analysis.recommendedSubtasks).toBe('number');
|
||||
expect(typeof analysis.expansionPrompt).toBe('string');
|
||||
expect(typeof analysis.reasoning).toBe('string');
|
||||
}
|
||||
}, 30000); // Increase timeout for AI call
|
||||
});
|
||||
beforeEach(() => {
|
||||
// Create a test tasks file
|
||||
const testTasks = {
|
||||
projectName: 'Test Project',
|
||||
tasks: [
|
||||
{
|
||||
id: 1,
|
||||
title: 'Setup project structure',
|
||||
description: 'Initialize the project with proper folder structure',
|
||||
status: 'pending',
|
||||
dependencies: [],
|
||||
priority: 'high'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: 'Implement authentication',
|
||||
description: 'Add user authentication with JWT tokens',
|
||||
status: 'pending',
|
||||
dependencies: [1],
|
||||
priority: 'high'
|
||||
}
|
||||
]
|
||||
};
|
||||
fs.writeFileSync(testTasksFile, JSON.stringify(testTasks, null, 2));
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// Clean up test files
|
||||
if (fs.existsSync(testTasksFile)) {
|
||||
fs.unlinkSync(testTasksFile);
|
||||
}
|
||||
if (fs.existsSync(testComplexityFile)) {
|
||||
fs.unlinkSync(testComplexityFile);
|
||||
}
|
||||
});
|
||||
|
||||
test('should return structured complexity analysis', async () => {
|
||||
const result = await analyzeTaskComplexity({
|
||||
file: testTasksFile,
|
||||
output: testComplexityFile,
|
||||
threshold: 5
|
||||
});
|
||||
|
||||
expect(result).toHaveProperty('report');
|
||||
expect(result.report).toHaveProperty('complexityAnalysis');
|
||||
expect(Array.isArray(result.report.complexityAnalysis)).toBe(true);
|
||||
|
||||
if (result.report.complexityAnalysis.length > 0) {
|
||||
const analysis = result.report.complexityAnalysis[0];
|
||||
expect(analysis).toHaveProperty('taskId');
|
||||
expect(analysis).toHaveProperty('taskTitle');
|
||||
expect(analysis).toHaveProperty('complexityScore');
|
||||
expect(analysis).toHaveProperty('recommendedSubtasks');
|
||||
expect(analysis).toHaveProperty('expansionPrompt');
|
||||
expect(analysis).toHaveProperty('reasoning');
|
||||
|
||||
// Check that the values are of the correct type
|
||||
expect(typeof analysis.taskId).toBe('number');
|
||||
expect(typeof analysis.taskTitle).toBe('string');
|
||||
expect(typeof analysis.complexityScore).toBe('number');
|
||||
expect(analysis.complexityScore).toBeGreaterThanOrEqual(1);
|
||||
expect(analysis.complexityScore).toBeLessThanOrEqual(10);
|
||||
expect(typeof analysis.recommendedSubtasks).toBe('number');
|
||||
expect(typeof analysis.expansionPrompt).toBe('string');
|
||||
expect(typeof analysis.reasoning).toBe('string');
|
||||
}
|
||||
}, 30000); // Increase timeout for AI call
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user