import { fireEvent, render, screen } from '@testing-library/react'
import { describe, expect, it, vi } from 'vitest'
import { AgentModeToggle } from './AgentModeToggle'

describe('AgentModeToggle', () => {
  it('switches between live and historical views', () => {
    const onModeChange = vi.fn()
    render(<AgentModeToggle mode="live" liveAvailable onModeChange={onModeChange} />)

    expect(screen.getByRole('button', { name: 'Live' })).toHaveAttribute('aria-pressed', 'true')
    fireEvent.click(screen.getByRole('button', { name: 'Historical' }))
    expect(onModeChange).toHaveBeenCalledWith('historical')
  })

  it('disables live mode for an ended attempt', () => {
    render(<AgentModeToggle mode="historical" liveAvailable={false} onModeChange={vi.fn()} />)
    expect(screen.getByRole('button', { name: 'Live' })).toBeDisabled()
  })
})
