import { render, screen } from '@testing-library/react'
import { describe, expect, it } from 'vitest'
import { VerdictBadge, verdictBadgeVariant } from './VerdictBadge'

describe('VerdictBadge', () => {
  it('renders the uppercased label for a verdict', () => {
    render(<VerdictBadge verdict="unverified" />)
    expect(screen.getByText('UNVERIFIED')).toBeInTheDocument()
  })

  it('maps verdicts to the badge variants that carry their colors', () => {
    expect(verdictBadgeVariant).toEqual({
      works: 'success',
      broken: 'error',
      missing: 'neutral',
      unverified: 'warning',
    })
  })

  it('distinguishes works from broken by variant', () => {
    const works = render(<VerdictBadge verdict="works" />)
    const broken = render(<VerdictBadge verdict="broken" />)
    expect(works.container.querySelector('span')).not.toBe(broken.container.querySelector('span'))
  })
})