import { render, screen } from '@testing-library/react' import { describe, expect, it } from 'vitest' import { CampaignFormActionMessage } from '@/components/campaign/shared/CampaignFormActionMessage' /** * P3-G pin: the primitive owns the live region — 10 of 15 hand-spelled * feedback blocks were mute for assistive tech, so both variants MUST render * inside an `aria-live` region (the a11y assertion the plan asks for). */ describe('CampaignFormActionMessage (P3-G)', () => { it('announces errors inside a live region with the optional title', () => { const { container } = render( , ) expect(screen.getByText('Verifique os dados.')).toBeTruthy() expect(screen.getByText('Não foi possível salvar')).toBeTruthy() expect(container.querySelector('[aria-live="polite"]')).not.toBeNull() }) it('announces success with the fallback message, and renders nothing when mute', () => { const { container, rerender } = render( , ) expect(screen.getByText('Registro salvo.')).toBeTruthy() expect(container.querySelector('[aria-live="polite"]')).not.toBeNull() rerender() expect(container.querySelector('[aria-live="polite"]')).toBeNull() }) })