test: atualizar specs do shell para CampaignPageChromeProvider

Co-authored-by: Francisco Solla <fsolla@users.noreply.github.com>
This commit is contained in:
Cursor Agent 2026-08-02 18:11:11 +00:00
parent ccfbf592a8
commit 24e35d5a14
No known key found for this signature in database
2 changed files with 70 additions and 54 deletions

View file

@ -2,6 +2,7 @@ import { cleanup, render, screen, within } from '@testing-library/react'
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
vi.mock('next/navigation', () => ({
usePathname: () => '/campanha/acoes/atualizar-votos',
useRouter: () => ({
push: vi.fn(),
replace: vi.fn(),
@ -9,6 +10,7 @@ vi.mock('next/navigation', () => ({
}))
import { CampaignWizardShell } from '@/components/campaign/shared/CampaignWizardShell'
import { CampaignPageChromeProvider } from '@/components/campaign/shell/CampaignPageChromeContext'
import { CampaignMobileTopBar } from '@/components/campaign/shell/CampaignMobileTopBar'
import { CampaignWizardChromeProvider } from '@/components/campaign/shell/CampaignWizardChromeContext'
import { SidebarProvider } from '@/components/ui/Sidebar'
@ -18,10 +20,12 @@ import { stubMatchMedia } from '../helpers/matchMedia'
const renderWizardShell = (props: React.ComponentProps<typeof CampaignWizardShell>) =>
render(
<SidebarProvider>
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell {...props} />
</CampaignWizardChromeProvider>
<CampaignPageChromeProvider role="coordinator">
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell {...props} />
</CampaignWizardChromeProvider>
</CampaignPageChromeProvider>
</SidebarProvider>,
)
@ -104,35 +108,39 @@ describe('CampaignWizardShell', () => {
it('skips title focus when contentFocus is none', () => {
const { rerender } = render(
<SidebarProvider>
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell
flowTitle="Ajustar votos"
stepTitle="Passo 1"
isEntryStep
previousHref="/campanha"
contentFocus="none"
>
<input aria-label="Primeiro campo" />
</CampaignWizardShell>
</CampaignWizardChromeProvider>
<CampaignPageChromeProvider role="coordinator">
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell
flowTitle="Ajustar votos"
stepTitle="Passo 1"
isEntryStep
previousHref="/campanha"
contentFocus="none"
>
<input aria-label="Primeiro campo" />
</CampaignWizardShell>
</CampaignWizardChromeProvider>
</CampaignPageChromeProvider>
</SidebarProvider>,
)
rerender(
<SidebarProvider>
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell
flowTitle="Ajustar votos"
stepTitle="Passo 2"
isEntryStep
previousHref="/campanha"
contentFocus="none"
>
<input aria-label="Primeiro campo" />
</CampaignWizardShell>
</CampaignWizardChromeProvider>
<CampaignPageChromeProvider role="coordinator">
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell
flowTitle="Ajustar votos"
stepTitle="Passo 2"
isEntryStep
previousHref="/campanha"
contentFocus="none"
>
<input aria-label="Primeiro campo" />
</CampaignWizardShell>
</CampaignWizardChromeProvider>
</CampaignPageChromeProvider>
</SidebarProvider>,
)
@ -144,33 +152,37 @@ describe('CampaignWizardShell', () => {
it('moves focus to the step title when stepTitle changes', () => {
const { rerender } = render(
<SidebarProvider>
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell
flowTitle="Ajustar votos"
stepTitle="Passo 1"
isEntryStep
previousHref="/campanha"
>
Corpo
</CampaignWizardShell>
</CampaignWizardChromeProvider>
<CampaignPageChromeProvider role="coordinator">
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell
flowTitle="Ajustar votos"
stepTitle="Passo 1"
isEntryStep
previousHref="/campanha"
>
Corpo
</CampaignWizardShell>
</CampaignWizardChromeProvider>
</CampaignPageChromeProvider>
</SidebarProvider>,
)
rerender(
<SidebarProvider>
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell
flowTitle="Ajustar votos"
stepTitle="Passo 2"
isEntryStep
previousHref="/campanha"
>
Corpo
</CampaignWizardShell>
</CampaignWizardChromeProvider>
<CampaignPageChromeProvider role="coordinator">
<CampaignWizardChromeProvider>
<CampaignMobileTopBar />
<CampaignWizardShell
flowTitle="Ajustar votos"
stepTitle="Passo 2"
isEntryStep
previousHref="/campanha"
>
Corpo
</CampaignWizardShell>
</CampaignWizardChromeProvider>
</CampaignPageChromeProvider>
</SidebarProvider>,
)

View file

@ -9,6 +9,7 @@ const routerState = vi.hoisted(() => ({
vi.mock('next/navigation', async (importActual) => ({
...(await importActual()),
usePathname: () => '/campanha/acoes/atualizar-votos',
useRouter: () => ({
push: (...args: unknown[]) => routerState.push(...args),
replace: vi.fn(),
@ -17,6 +18,7 @@ vi.mock('next/navigation', async (importActual) => ({
import { CampaignListPendingBoundary } from '@/components/campaign/shared/CampaignListPending'
import { CampaignWizardShell } from '@/components/campaign/shared/CampaignWizardShell'
import { CampaignPageChromeProvider } from '@/components/campaign/shell/CampaignPageChromeContext'
import { CampaignMobileTopBar } from '@/components/campaign/shell/CampaignMobileTopBar'
import { CampaignWizardChromeProvider } from '@/components/campaign/shell/CampaignWizardChromeContext'
import { SidebarProvider } from '@/components/ui/Sidebar'
@ -26,10 +28,11 @@ import { stubMatchMedia } from '../helpers/matchMedia'
const mountWizardNavigation = () =>
render(
<SidebarProvider>
<CampaignWizardChromeProvider>
<CampaignListPendingBoundary>
<CampaignMobileTopBar />
<CampaignWizardShell
<CampaignPageChromeProvider role="coordinator">
<CampaignWizardChromeProvider>
<CampaignListPendingBoundary>
<CampaignMobileTopBar />
<CampaignWizardShell
flowTitle="Ajustar votos"
stepTitle="Quantos votos?"
isEntryStep={false}
@ -41,6 +44,7 @@ const mountWizardNavigation = () =>
</CampaignWizardShell>
</CampaignListPendingBoundary>
</CampaignWizardChromeProvider>
</CampaignPageChromeProvider>
</SidebarProvider>,
)