UNPKG

mcp-rand

Version:

MCP server providing random generation utilities including UUID, numbers, strings, passwords, Gaussian distribution, dice rolling, and card drawing

61 lines 2.34 kB
import { generateRandomNumberHandler } from '../generate-random-number.handler.js'; describe('generateRandomNumberHandler', () => { it('should generate a random number within the specified range', async () => { const request = { method: 'tools/call', params: { name: 'generate_random_number', arguments: { min: 1, max: 100 } } }; const result = await generateRandomNumberHandler(request); const number = parseInt(result.content[0].text); expect(number).toBeGreaterThanOrEqual(1); expect(number).toBeLessThanOrEqual(100); }); it('should generate different numbers on subsequent calls', async () => { const request = { method: 'tools/call', params: { name: 'generate_random_number', arguments: { min: 1, max: 1000000 // Large range to minimize chance of random same numbers } } }; const result1 = await generateRandomNumberHandler(request); const result2 = await generateRandomNumberHandler(request); expect(result1.content[0].text).not.toBe(result2.content[0].text); }); it('should handle default values when no arguments provided', async () => { const request = { method: 'tools/call', params: { name: 'generate_random_number', arguments: {} } }; const result = await generateRandomNumberHandler(request); const number = parseInt(result.content[0].text); expect(number).toBeGreaterThanOrEqual(0); expect(number).toBeLessThanOrEqual(100); }); it('should throw error if min is greater than max', async () => { const request = { method: 'tools/call', params: { name: 'generate_random_number', arguments: { min: 100, max: 1 } } }; await expect(generateRandomNumberHandler(request)).rejects.toThrow('Min value cannot be greater than max value'); }); }); //# sourceMappingURL=generate-random-number.handler.test.js.map