94 lines
3.3 KiB
JavaScript
94 lines
3.3 KiB
JavaScript
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('');
|
||
});
|
||
});
|
||
});
|
||
|