import { render, screen } from '@testing-library/react'
import { describe, expect, it } from 'vitest'
import { KV_CI_RUNNERS } from './fixtures/kv'
import { KvPanel } from './KvPanel'

describe('KvPanel', () => {
  it('renders every row label and value', () => {
    render(<KvPanel rows={KV_CI_RUNNERS} />)
    for (const row of KV_CI_RUNNERS) {
      expect(screen.getByText(row.label)).toBeInTheDocument()
      expect(screen.getByText(row.value)).toBeInTheDocument()
    }
  })

  it('applies the err intent color to a failing row', () => {
    render(<KvPanel rows={KV_CI_RUNNERS} />)
    expect(screen.getByText('✗ e2e · 14m')).toHaveClass('text-danger')
  })

  it('defaults to neutral color when intent is omitted', () => {
    render(<KvPanel rows={KV_CI_RUNNERS} />)
    expect(screen.getByText('0 waiting')).toHaveClass('text-fg')
  })
})
