import { describe, it, expect } from 'vitest'; import { cleanPlaylistCard } from '../clean-playlist-card'; describe('cleanPlaylistCard', () => { it('полные данные', () => { const raw = { created: 1700000000, id: 'pl-1', name: 'My Playlist', username: 'user1', playlist_type: 'public', thumbs: [ { urls: { webp: { '320x180': 'https://img.com/s1.webp', '480x270': 'https://img.com/m1.webp' } } }, ], videos_count: 5, first_video_id: 'v-1', search_tags: 'tag1,tag2', views: 100, likes: 10, dislikes: 2, }; const result = cleanPlaylistCard(raw as any); expect(result.id).toBe('pl-1'); expect(result.name).toBe('My Playlist'); expect(result.playlistType).toBe('public'); expect(result.videosCount).toBe(5); expect(result.thumbUrls).toHaveLength(1); expect(result.thumbUrls![0]).toEqual({ webp: { '320x180': 'https://img.com/s1.webp', '480x270': 'https://img.com/m1.webp', }, }); }); it('пустые данные → дефолты', () => { const result = cleanPlaylistCard({} as any); expect(result.id).toBe(''); expect(result.name).toBe(''); expect(result.videosCount).toBe(0); expect(result.views).toBe(0); expect(result.likes).toBe(0); expect(result.dislikes).toBe(0); }); });