Spaces:
Sleeping
Sleeping
File size: 2,897 Bytes
da2e594 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | #!/usr/bin/env npx tsx
import { createDatabaseAdapter } from '../database/database-adapter';
import { NodeRepository } from '../database/node-repository';
import { NodeSimilarityService } from '../services/node-similarity-service';
import path from 'path';
async function testSummary() {
const dbPath = path.join(process.cwd(), 'data/nodes.db');
const db = await createDatabaseAdapter(dbPath);
const repository = new NodeRepository(db);
const similarityService = new NodeSimilarityService(repository);
const testCases = [
{ invalid: 'HttpRequest', expected: 'nodes-base.httpRequest' },
{ invalid: 'HTTPRequest', expected: 'nodes-base.httpRequest' },
{ invalid: 'Webhook', expected: 'nodes-base.webhook' },
{ invalid: 'WebHook', expected: 'nodes-base.webhook' },
{ invalid: 'slack', expected: 'nodes-base.slack' },
{ invalid: 'googleSheets', expected: 'nodes-base.googleSheets' },
{ invalid: 'telegram', expected: 'nodes-base.telegram' },
{ invalid: 'htpRequest', expected: 'nodes-base.httpRequest' },
{ invalid: 'webook', expected: 'nodes-base.webhook' },
{ invalid: 'slak', expected: 'nodes-base.slack' },
{ invalid: 'http', expected: 'nodes-base.httpRequest' },
{ invalid: 'sheet', expected: 'nodes-base.googleSheets' },
{ invalid: 'nodes-base.openai', expected: 'nodes-langchain.openAi' },
{ invalid: 'n8n-nodes-base.httpRequest', expected: 'nodes-base.httpRequest' },
{ invalid: 'foobar', expected: null },
{ invalid: 'xyz123', expected: null },
];
let passed = 0;
let failed = 0;
console.log('Test Results Summary:');
console.log('='.repeat(60));
for (const testCase of testCases) {
const suggestions = await similarityService.findSimilarNodes(testCase.invalid, 3);
let result = '❌';
let status = 'FAILED';
if (testCase.expected === null) {
// Should have no suggestions
if (suggestions.length === 0) {
result = '✅';
status = 'PASSED';
passed++;
} else {
failed++;
}
} else {
// Should have the expected suggestion
const found = suggestions.some(s => s.nodeType === testCase.expected);
if (found) {
const suggestion = suggestions.find(s => s.nodeType === testCase.expected);
const isAutoFixable = suggestion && suggestion.confidence >= 0.9;
result = '✅';
status = isAutoFixable ? 'PASSED (auto-fixable)' : 'PASSED';
passed++;
} else {
failed++;
}
}
console.log(`${result} "${testCase.invalid}" → ${testCase.expected || 'no suggestions'}: ${status}`);
}
console.log('='.repeat(60));
console.log(`\nTotal: ${passed}/${testCases.length} tests passed`);
if (failed === 0) {
console.log('🎉 All tests passed!');
} else {
console.log(`⚠️ ${failed} tests failed`);
}
}
testSummary().catch(console.error); |