Skip to main content
Glama

NervusDB MCP Server

Official
by nervusdb
relatedFilesScorer.spec.ts1.75 kB
import { describe, it, expect, vi, beforeEach } from 'vitest'; import { RelatedFilesScorer } from '../../src/services/relatedFilesScorer.js'; import type { QueryService } from '../../src/domain/query/queryService.js'; describe('RelatedFilesScorer', () => { let scorer: RelatedFilesScorer; let mockQueryService: QueryService; beforeEach(() => { mockQueryService = { findRelatedFiles: vi.fn(), findFacts: vi.fn(), } as unknown as QueryService; scorer = new RelatedFilesScorer({ queryService: mockQueryService }); }); it('should find and score related files', async () => { vi.mocked(mockQueryService.findFacts).mockResolvedValue([]); const result = await scorer.scoreRelatedFiles({ projectPath: '/project', filePath: '/project/src/target.ts', }); expect(result).toBeDefined(); expect(result.targetFile).toBe('/project/src/target.ts'); expect(mockQueryService.findFacts).toHaveBeenCalled(); }); it('should handle no related files', async () => { vi.mocked(mockQueryService.findFacts).mockResolvedValue([]); const result = await scorer.scoreRelatedFiles({ projectPath: '/project', filePath: '/project/src/isolated.ts', }); expect(result.scoredFiles).toEqual([]); }); it('should sort files by score', async () => { vi.mocked(mockQueryService.findFacts).mockResolvedValue([]); const result = await scorer.scoreRelatedFiles({ projectPath: '/project', filePath: '/project/src/target.ts', }); // Check if sorted in descending order for (let i = 0; i < result.scoredFiles.length - 1; i++) { expect(result.scoredFiles[i].score).toBeGreaterThanOrEqual(result.scoredFiles[i + 1].score); } }); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nervusdb/nervusdb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server