@translated/lara-mcp
Version:
Lara API official MCP server
28 lines (27 loc) • 1.08 kB
JavaScript
import { describe, it, expect, beforeEach } from 'vitest';
import { listLanguages, listLanguagesSchema } from '../../mcp/tools/list_languages.js';
import { getMockTranslator, setupTranslatorMock } from '../utils/mocks.js';
// Setup mocks
setupTranslatorMock();
describe('listLanguagesSchema', () => {
it('should validate empty object', () => {
expect(() => listLanguagesSchema.parse({})).not.toThrow();
});
});
describe('listLanguages', () => {
let mockTranslator;
beforeEach(() => {
mockTranslator = getMockTranslator();
});
it('should call lara.getLanguages and return the result', async () => {
const mockLanguages = [
{ code: 'en-US', name: 'English (US)' },
{ code: 'it-IT', name: 'Italian' },
{ code: 'fr-FR', name: 'French' }
];
mockTranslator.getLanguages.mockResolvedValue(mockLanguages);
const result = await listLanguages(mockTranslator);
expect(mockTranslator.getLanguages).toHaveBeenCalled();
expect(result).toEqual(mockLanguages);
});
});