mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 23:53:05 +00:00
test: atualizar specs do shell para CampaignPageChromeProvider
Co-authored-by: Francisco Solla <fsolla@users.noreply.github.com>
This commit is contained in:
parent
ccfbf592a8
commit
24e35d5a14
2 changed files with 70 additions and 54 deletions
|
|
@ -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>,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -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>,
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue