import { describe, it, expect } from 'vitest'; import { buildSearchTabs } from '../build-search-tabs'; describe('buildSearchTabs', () => { it('null/пусто → только таб all', () => { expect(buildSearchTabs(null)).toEqual([{ title: 'all', value: '' }]); expect(buildSearchTabs({})).toEqual([{ title: 'all', value: '' }]); }); it('по табу на каждый непустой ключ, all в начале', () => { const result = buildSearchTabs({ categories: ['a'], models: ['b'] }); expect(result).toEqual([ { title: 'all', value: '' }, { title: 'categories', value: 'categories' }, { title: 'models', value: 'models' }, ]); }); it('searchPhrases отображается как videos (value сохраняется)', () => { const result = buildSearchTabs({ searchPhrases: ['a'] }); expect(result).toContainEqual({ title: 'videos', value: 'searchPhrases' }); }); it('ключи с falsy-значением отбрасываются', () => { const result = buildSearchTabs({ models: ['b'], categories: null }); expect(result.map(t => t.value)).toEqual(['', 'models']); }); });