Skip to main content
Glama
config-finder.integration.test.ts3.1 kB
import { describe, it, expect, beforeAll, afterAll } from 'vitest'; import { findVitestConfig, hasVitestConfig } from '../config-finder.js'; import { writeFileSync, rmSync, mkdirSync } from 'fs'; import { join } from 'path'; import { tmpdir } from 'os'; describe('config-finder integration', () => { const testDir = join(tmpdir(), `vitest-mcp-test-${Date.now()}`); beforeAll(() => { // Create test directory mkdirSync(testDir, { recursive: true }); }); afterAll(() => { // Clean up test directory rmSync(testDir, { recursive: true, force: true }); }); it('should prioritize vitest.mcp.config.ts over other configs in real filesystem', async () => { // Create both config files writeFileSync( join(testDir, 'vitest.mcp.config.ts'), 'export default { test: { name: "mcp" } }' ); writeFileSync( join(testDir, 'vitest.config.ts'), 'export default { test: { name: "regular" } }' ); const result = await findVitestConfig(testDir); expect(result).toBe(join(testDir, 'vitest.mcp.config.ts')); }); it('should find regular vitest.config.ts when mcp config not present', async () => { const testDir2 = join(tmpdir(), `vitest-mcp-test2-${Date.now()}`); mkdirSync(testDir2, { recursive: true }); try { writeFileSync( join(testDir2, 'vitest.config.ts'), 'export default { test: {} }' ); const result = await findVitestConfig(testDir2); expect(result).toBe(join(testDir2, 'vitest.config.ts')); } finally { rmSync(testDir2, { recursive: true, force: true }); } }); it('should detect vite.config.ts as fallback', async () => { const testDir3 = join(tmpdir(), `vitest-mcp-test3-${Date.now()}`); mkdirSync(testDir3, { recursive: true }); try { writeFileSync( join(testDir3, 'vite.config.ts'), 'export default { test: {} }' ); const result = await findVitestConfig(testDir3); expect(result).toBe(join(testDir3, 'vite.config.ts')); } finally { rmSync(testDir3, { recursive: true, force: true }); } }); it('should return null for directory with no config', async () => { const testDir4 = join(tmpdir(), `vitest-mcp-test4-${Date.now()}`); mkdirSync(testDir4, { recursive: true }); try { const result = await findVitestConfig(testDir4); expect(result).toBeNull(); } finally { rmSync(testDir4, { recursive: true, force: true }); } }); it('hasVitestConfig should correctly detect presence of config', async () => { const testDir5 = join(tmpdir(), `vitest-mcp-test5-${Date.now()}`); mkdirSync(testDir5, { recursive: true }); try { // Initially no config expect(await hasVitestConfig(testDir5)).toBe(false); // Add a config writeFileSync( join(testDir5, 'vitest.config.mjs'), 'export default { test: {} }' ); // Now should detect it expect(await hasVitestConfig(testDir5)).toBe(true); } finally { rmSync(testDir5, { recursive: true, force: true }); } }); });

Latest Blog Posts

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/djankies/vitest-mcp'

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