import { describe, expect, it } from 'vitest'
import { render, fireEvent, screen, waitFor } from '@testing-library/react'
import { Tooltip } from './Tooltip'
import { spokenPhraseUntil } from './sr-test-utils'

describe('Tooltip [SR]', () => {
  it('announces tooltip content on focus', async () => {
    render(
      <Tooltip content="Auto-save enabled">
        <button type="button">Save</button>
      </Tooltip>,
    )

    fireEvent.focus(screen.getByRole('button', { name: 'Save' }))
    await waitFor(() => expect(screen.getByRole('tooltip')).toBeTruthy())

    const phrase = await spokenPhraseUntil(document.body, (value) =>
      value.toLowerCase().includes('auto-save enabled')
    )
    expect(phrase.toLowerCase()).toContain('auto-save enabled')
  })
})

