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

describe('Textarea [SR]', () => {
  it('announces labeled textarea and error copy', async () => {
    const { rerender } = render(
      <Field label="Bio">
        <Textarea />
      </Field>,
    )
    const fieldPhrase = await spokenPhraseUntil(document.body, (value) => value.toLowerCase().includes('bio'))
    expect(fieldPhrase.toLowerCase()).toContain('bio')

    rerender(
      <Field label="Bio" error="Bio is required">
        <Textarea />
      </Field>,
    )

    const errorPhrase = await spokenPhraseUntil(document.body, (value) => value.toLowerCase().includes('bio is required'))
    expect(errorPhrase.toLowerCase()).toContain('bio is required')
  })
})

