import { describe, it, expect } from 'vitest'; import { isNotEmpty, formatPrice } from '@/helpers.js'; describe('helpers.js', () => { describe('isNotEmpty', () => { it('должен возвращать false для null', () => { expect(isNotEmpty(null)).toBe(false); }); it('должен возвращать false для undefined', () => { expect(isNotEmpty(undefined)).toBe(false); }); it('должен возвращать false для пустой строки', () => { expect(isNotEmpty('')).toBe(false); expect(isNotEmpty(' ')).toBe(false); }); it('должен возвращать true для непустой строки', () => { expect(isNotEmpty('test')).toBe(true); expect(isNotEmpty(' test ')).toBe(true); }); it('должен возвращать false для пустого массива', () => { expect(isNotEmpty([])).toBe(false); }); it('должен возвращать true для непустого массива', () => { expect(isNotEmpty([1, 2, 3])).toBe(true); }); it('должен возвращать false для пустого объекта', () => { expect(isNotEmpty({})).toBe(false); }); it('должен возвращать true для непустого объекта', () => { expect(isNotEmpty({ key: 'value' })).toBe(true); }); it('должен возвращать true для чисел', () => { expect(isNotEmpty(0)).toBe(true); expect(isNotEmpty(42)).toBe(true); expect(isNotEmpty(-10)).toBe(true); }); it('должен возвращать true для булевых значений', () => { expect(isNotEmpty(true)).toBe(true); expect(isNotEmpty(false)).toBe(true); }); }); describe('formatPrice', () => { it('должен возвращать пустую строку для null', () => { expect(formatPrice(null)).toBe(''); }); it('должен возвращать пустую строку для undefined', () => { expect(formatPrice(undefined)).toBe(''); }); it('должен форматировать положительные числа', () => { expect(formatPrice(1000)).toBe('1 000'); expect(formatPrice(1234567)).toBe('1 234 567'); expect(formatPrice(42)).toBe('42'); }); it('должен форматировать отрицательные числа', () => { expect(formatPrice(-1000)).toBe('-1 000'); expect(formatPrice(-42)).toBe('-42'); }); it('должен обрабатывать строки с числами', () => { expect(formatPrice('1000')).toBe('1 000'); expect(formatPrice(' 1234 ')).toBe('1 234'); }); it('должен возвращать пустую строку для нуля', () => { expect(formatPrice(0)).toBe(''); expect(formatPrice('0')).toBe(''); }); it('должен обрабатывать десятичные числа (округляет)', () => { expect(formatPrice(1234.56)).toBe('1 235'); expect(formatPrice(999.99)).toBe('1 000'); }); it('должен возвращать пустую строку для невалидных значений', () => { expect(formatPrice('abc')).toBe(''); expect(formatPrice('')).toBe(''); }); }); });