Skip to main content
Glama

tv-recommender-mcp-server

genreMap.test.ts3.19 kB
import { mapGenreToId, getGenreNameById, genreList } from '../../utils/genreMap'; describe('Genre Mapping Utils', () => { describe('mapGenreToId', () => { it('应该正确映射英文类型名称', () => { expect(mapGenreToId('Comedy')).toBe(35); expect(mapGenreToId('Action & Adventure')).toBe(10759); expect(mapGenreToId('Sci-Fi & Fantasy')).toBe(10765); }); it('应该正确映射中文类型名称', () => { expect(mapGenreToId('喜剧')).toBe(35); expect(mapGenreToId('动作冒险')).toBe(10759); expect(mapGenreToId('科幻奇幻')).toBe(10765); }); it('应该处理大小写不敏感的映射', () => { expect(mapGenreToId('comedy')).toBe(35); expect(mapGenreToId('COMEDY')).toBe(35); expect(mapGenreToId('Comedy')).toBe(35); }); it('应该处理带有空格的输入', () => { expect(mapGenreToId(' Comedy ')).toBe(35); expect(mapGenreToId('喜剧 ')).toBe(35); }); it('应该处理类型别名', () => { // 英文别名 expect(mapGenreToId('funny')).toBe(35); // 喜剧别名 expect(mapGenreToId('crime story')).toBe(80); // 犯罪别名 // 中文别名 expect(mapGenreToId('搞笑')).toBe(35); // 喜剧别名 expect(mapGenreToId('科幻')).toBe(10765); // 科幻奇幻别名 }); it('应该使用别名和常见表达方式', () => { // 由于当前genreMap实现不支持部分模糊匹配,使用实际支持的别名测试 expect(mapGenreToId('科幻')).toBe(10765); // "科幻"是"科幻奇幻"的别名 expect(mapGenreToId('搞笑')).toBe(35); // "搞笑"是"喜剧"的别名 }); it('对于未知类型应该返回undefined', () => { expect(mapGenreToId('不存在的类型')).toBeUndefined(); expect(mapGenreToId('')).toBeUndefined(); }); }); describe('getGenreNameById', () => { it('应该正确返回类型ID对应的中文名称', () => { expect(getGenreNameById(35)).toBe('喜剧'); expect(getGenreNameById(10759)).toBe('动作冒险'); expect(getGenreNameById(10765)).toBe('科幻奇幻'); }); it('对于未知ID应该返回undefined', () => { expect(getGenreNameById(9999)).toBeUndefined(); }); }); describe('genreList', () => { it('应该包含完整的类型映射列表', () => { // 验证列表结构 expect(genreList).toBeInstanceOf(Array); expect(genreList.length).toBeGreaterThan(0); // 验证每个项目的结构 for (const genre of genreList) { expect(genre).toHaveProperty('id'); expect(genre).toHaveProperty('englishName'); expect(genre).toHaveProperty('chineseName'); expect(typeof genre.id).toBe('number'); expect(typeof genre.englishName).toBe('string'); expect(typeof genre.chineseName).toBe('string'); } // 验证几个关键类型是否存在 const hasComedy = genreList.some(genre => genre.id === 35); const hasSciFi = genreList.some(genre => genre.id === 10765); expect(hasComedy).toBe(true); expect(hasSciFi).toBe(true); }); }); });

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/terryso/tv-recommender-mcp-server'

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