import { DateTime } from 'luxon';
import { describe, expect, it } from 'vitest';
import { reportRange } from '../../src/services/jalali.js';

describe('مرز گزارش در تهران', () => {
  const now = DateTime.fromISO('2026-08-14T10:15:30', { zone: 'Asia/Tehran' });
  it('امروز را از نیمه‌شب تهران تا لحظه جاری می‌سازد', () => {
    const range = reportRange({ preset: 'today', now });
    expect(DateTime.fromJSDate(range.startUtc, { zone: 'utc' }).setZone('Asia/Tehran').toFormat('HH:mm:ss')).toBe('00:00:00');
    expect(range.endUtc.toISOString()).toBe(now.toUTC().toJSDate().toISOString());
  });
  it('دیروز را یک روز کامل تهران می‌سازد', () => {
    const range = reportRange({ preset: 'yesterday', now });
    expect(DateTime.fromJSDate(range.startUtc, { zone: 'utc' }).setZone('Asia/Tehran').toFormat('yyyy-MM-dd HH:mm:ss')).toBe('2026-08-13 00:00:00');
    expect(DateTime.fromJSDate(range.endUtc, { zone: 'utc' }).setZone('Asia/Tehran').toFormat('yyyy-MM-dd HH:mm:ss')).toBe('2026-08-13 23:59:59');
  });
});

