import { render, screen } from '@testing-library/react'
import { describe, expect, it } from 'vitest'
import { FRESH_HARNESS_STATUS, STALE_HARNESS_STATUS } from './fixtures/stale'
import { StaleBadge } from './StaleBadge'

describe('StaleBadge', () => {
  it('renders nothing when the adapter status is not stale', () => {
    const { container } = render(<StaleBadge status={FRESH_HARNESS_STATUS} />)
    expect(container).toBeEmptyDOMElement()
  })

  it('renders a stale pill with the age since lastSuccess when stale', () => {
    render(<StaleBadge status={STALE_HARNESS_STATUS} now={1_000_000 + 90_000} />)
    expect(screen.getByText('stale · 2m')).toBeInTheDocument()
  })

  it('renders bare "stale" when lastSuccess is unknown', () => {
    render(<StaleBadge status={{ id: 'x', interval: 5000, stale: true }} />)
    expect(screen.getByText('stale')).toBeInTheDocument()
  })
})
