import { describe, it, expect } from 'vitest'; import { cleanModelInfo } from '../clean-model-info'; describe('cleanModelInfo', () => { it('полные данные', () => { const raw = { title: 'Model Name', description: 'desc', social: '@model', videos_count: 50, video_thumb_urls: { webp: { '320x180': 'https://img.com/s.webp' } }, parameters: 'height: 170', long_description: 'long desc', bio: 'bio text', relatedNames: ['Model B'], aka_names: ['Alias A', 'Alias B'], birth_summary: 'Born 1990, USA', nationality_iso_codes: ['US', 'CA'], seo: { title: 'Model Name Videos | Brand', description: 'meta desc', h1: 'Model Name Porn Videos', keywords: 'a, b', }, }; const result = cleanModelInfo(raw as any); expect(result.title).toBe('Model Name'); expect(result.description).toBe('desc'); expect(result.social).toBe('@model'); expect(result.videosCount).toBe(50); expect(result.img).toBe('https://img.com/s.webp'); expect(result.parameters).toBe('height: 170'); expect(result.fullDescription).toBe('long desc'); expect(result.relatedNames).toEqual(['Model B']); expect(result.akaNames).toBe('Alias A, Alias B'); expect(result.birthSummary).toBe('Born 1990, USA'); expect(result.nationalityIsoCodes).toEqual(['US', 'CA']); expect(result.seo).toEqual({ title: 'Model Name Videos | Brand', description: 'meta desc', h1: 'Model Name Porn Videos', keywords: 'a, b', }); }); it('пустые данные → дефолты', () => { const result = cleanModelInfo({} as any); expect(result.title).toBe(''); expect(result.description).toBe(''); expect(result.social).toBeUndefined(); expect(result.videosCount).toBe(0); expect(result.img).toBe(''); expect(result.parameters).toEqual([]); expect(result.fullDescription).toBe(''); expect(result.relatedNames).toEqual([]); expect(result.akaNames).toBe(''); expect(result.birthSummary).toBe(''); expect(result.nationalityIsoCodes).toEqual([]); expect(result.seo).toBeNull(); }); });