import { describe, it, expect } from 'vitest';
import { formatLeadDate, firstLeadDate } from '../../resources/js/utils/leadDate';

describe('formatLeadDate', () => {
    it('formats ISO to "D MMMM" in Russian', () => {
        expect(formatLeadDate('2026-06-23T21:00:00+03:00')).toBe('23 июня');
    });
    it('returns empty string for null/invalid', () => {
        expect(formatLeadDate(null)).toBe('');
        expect(formatLeadDate('')).toBe('');
        expect(formatLeadDate('not-a-date')).toBe('');
    });
});

describe('firstLeadDate (порог 18:00 МСК)', () => {
    it('до 18:00 МСК → завтра', () => {
        // 2026-06-22 12:00 UTC = 15:00 МСК → завтра 23 июня
        expect(firstLeadDate(new Date('2026-06-22T12:00:00Z'))).toBe('23 июня');
    });
    it('после 18:00 МСК → послезавтра', () => {
        // 2026-06-22 16:00 UTC = 19:00 МСК → послезавтра 24 июня
        expect(firstLeadDate(new Date('2026-06-22T16:00:00Z'))).toBe('24 июня');
    });
});
