UNPKG

@translated/lara-mcp

Version:

Lara API official MCP server

30 lines (29 loc) 1.31 kB
import { describe, it, expect, beforeEach } from 'vitest'; import { createGlossary, createGlossarySchema } from '../../mcp/tools/create_glossary.js'; import { getMockTranslator, setupTranslatorMock } from '../utils/mocks.js'; // Setup mocks setupTranslatorMock(); describe('createGlossarySchema', () => { it('should validate valid input', () => { expect(() => createGlossarySchema.parse({ name: 'brand_terms' })).not.toThrow(); }); it('should reject missing name', () => { expect(() => createGlossarySchema.parse({})).toThrow(); }); it('should reject name longer than 250 characters', () => { expect(() => createGlossarySchema.parse({ name: 'a'.repeat(251) })).toThrow(); }); }); describe('createGlossary', () => { let mockTranslator; beforeEach(() => { mockTranslator = getMockTranslator(); }); it('should call lara.glossaries.create with correct name', async () => { const mockResult = { id: 'gls_abc123', name: 'brand_terms' }; mockTranslator.glossaries.create.mockResolvedValue(mockResult); const result = await createGlossary({ name: 'brand_terms' }, mockTranslator); expect(mockTranslator.glossaries.create).toHaveBeenCalledWith('brand_terms'); expect(result).toEqual(mockResult); }); });