Skip to main content
Glama

Unleash MCP (Feature Toggle)

get-project-features.test.ts2.13 kB
import { getProjectFeatures } from '../src/unleash/get-project-features.js'; import { client } from '../src/unleash/unleash-client.js'; import { logger } from '../src/logger.js'; // Mock dependencies jest.mock('../src/unleash/unleash-client.js', () => ({ client: { get: jest.fn() } })); jest.mock('../src/logger.js', () => ({ logger: { info: jest.fn(), error: jest.fn() } })); describe('getProjectFeatures', () => { beforeEach(() => { jest.clearAllMocks(); }); test('should fetch project features successfully', async () => { // Sample feature data const mockFeatures = [ { name: 'feature-1', enabled: true }, { name: 'feature-2', enabled: false } ]; // Mock successful API response (client.get as jest.Mock).mockResolvedValue({ data: { features: mockFeatures } }); // Call the function const result = await getProjectFeatures('default'); // Verify API call expect(client.get).toHaveBeenCalledWith( '/api/admin/projects/default/features' ); // Verify result expect(result).toEqual(mockFeatures); expect(logger.info).toHaveBeenCalled(); }); test('should handle response format without features property', async () => { // Sample direct data format const mockData = [ { name: 'feature-1', enabled: true }, { name: 'feature-2', enabled: false } ]; // Mock successful API response with direct data format (client.get as jest.Mock).mockResolvedValue({ data: mockData }); // Call the function const result = await getProjectFeatures('default'); // Verify result expect(result).toEqual(mockData); }); test('should handle errors', async () => { // Mock API error const error = new Error('API Error'); (client.get as jest.Mock).mockRejectedValue(error); // Call the function const result = await getProjectFeatures('default'); // Verify API call expect(client.get).toHaveBeenCalled(); // Verify error handling expect(result).toBe(null); expect(logger.error).toHaveBeenCalled(); }); });

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/cuongtl1992/unleash-mcp'

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