import { describe, expect, it, vi } from 'vitest'

describe('burndown query helpers', () => {
  it('builds daily burndown and fills missing dates', async () => {
    const db = {
      execute: vi
        .fn()
        .mockResolvedValueOnce([{ total: 82 }])
        .mockResolvedValueOnce([
          { day: '2026-05-20', logged: 4 },
          { day: '2026-05-22', logged: 10 },
        ]),
    }

    const { getProjectBurndown } = await import('../../src/queries/burndown')
    const result = await getProjectBurndown(
      db as never,
      'tenant-1',
      'project-1',
      '2026-05-20',
      '2026-05-22',
    )

    expect(result).toEqual({
      totalEstimatedHours: 82,
      days: [
        { date: '2026-05-20', loggedCumulative: 4, remaining: 78 },
        { date: '2026-05-21', loggedCumulative: 4, remaining: 78 },
        { date: '2026-05-22', loggedCumulative: 14, remaining: 68 },
      ],
    })
  })
})
