import { describe, it, expect } from 'vitest'; import { groupObjectsByFirstLetter } from '../group-objects-by-first-letter'; describe('groupObjectsByFirstLetter', () => { const items = [ { name: 'Alice' }, { name: 'Anna' }, { name: 'Bob' }, { name: '123test' }, ]; it('группирует по первой букве', () => { const result = groupObjectsByFirstLetter(items, 'name'); expect(result['A']).toHaveLength(2); expect(result['B']).toHaveLength(1); }); it('цифры попадают в POST', () => { const result = groupObjectsByFirstLetter(items, 'name'); expect(result['POST']).toHaveLength(1); expect(result['POST'][0]).toEqual({ name: '123test' }); }); it('кастомный nonLetterKey', () => { const result = groupObjectsByFirstLetter(items, 'name', 'OTHER'); expect(result['OTHER']).toHaveLength(1); }); it('пустой массив', () => { const result = groupObjectsByFirstLetter([], 'name'); expect(result).toEqual({}); }); });