import { describe, it, expect } from 'vitest'; import { cleanCategoryCard } from '../clean-category-card'; describe('cleanCategoryCard', () => { it('полные данные', () => { const raw = { name: 'teen', title: 'Teen', videosCount: 100, video_thumb_urls: { webp: { '320x180': 'https://img.com/small.webp' }, }, guid: 'abc-123', description: 'Test desc', icon: 'icon.svg', }; const result = cleanCategoryCard(raw as any); expect(result).toEqual({ name: 'teen', title: 'Teen', videosCount: 100, thumbUrls: { webp: { '320x180': 'https://img.com/small.webp' } }, guid: 'abc-123', description: 'Test desc', icon: 'icon.svg', }); }); it('пустые данные → дефолты', () => { const result = cleanCategoryCard({} as any); expect(result.name).toBe(''); expect(result.title).toBe(''); expect(result.videosCount).toBe(0); expect(result.thumbUrls).toBeUndefined(); expect(result.guid).toBe(''); expect(result.description).toBe(''); expect(result.icon).toBe(''); }); it('thumbUrls без нужного размера', () => { const raw = { video_thumb_urls: { webp: {} } }; const result = cleanCategoryCard(raw as any); expect(result.thumbUrls).toEqual({ webp: { '320x180': '' } }); }); });