import { describe, expect, it } from 'vitest'; import { documentStatusLabel, documentTypeLabel, fileStatusLabel, periodLabel } from './labels'; describe('labels', () => { it('тип документа', () => { expect(documentTypeLabel('OSV', '60.01')).toBe('ОСВ 60.01'); expect(documentTypeLabel('OSV', null)).toBe('ОСВ'); expect(documentTypeLabel('BALANCE', null)).toBe('Бух. баланс'); expect(documentTypeLabel('INCOME', null)).toBe('ОФР'); expect(documentTypeLabel('DISCLOSURE', null)).toBe('Расшифровка'); expect(documentTypeLabel('OTHER', null)).toBe('Прочее'); }); it('период', () => { expect(periodLabel(2024, 'Q1', false)).toBe('2024 К1'); expect(periodLabel(2024, 'Q3', true)).toBe('2024 · 9 мес.'); expect(periodLabel(2024, 'Q4', true)).toBe('2024 · 12 мес.'); expect(periodLabel(2024, null, null)).toBe('период не определён'); expect(periodLabel(null, null, null)).toBe('период не определён'); }); it('статусы', () => { expect(documentStatusLabel('NEEDS_CHECK')).toBe('Требуется проверка'); expect(documentStatusLabel('RECOGNIZED')).toBe('Требуется проверка'); expect(documentStatusLabel('CONFIRMED')).toBe('Загружен'); expect(documentStatusLabel('ERROR')).toBe('Ошибка'); expect(fileStatusLabel('UPLOADED')).toBe('Обработка'); expect(fileStatusLabel('PROCESSING')).toBe('Обработка'); expect(fileStatusLabel('PROCESSED')).toBe('Обработан'); expect(fileStatusLabel('ERROR')).toBe('Ошибка'); expect(fileStatusLabel('SUPERSEDED')).toBe('Заменён'); }); });