mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 15:13:07 +00:00
Home abre no agradecimento pelos 152.049 votos com board 1+3, trajetória, bandeiras do mandato, galeria de fotos e rodapé institucional; chrome novo (header home/interno, lockup de nome, menu mobile acessível) e /artigos//fotos com título compacto. As superfícies de campanha saem do ar (308 de /conteudos, /jingles e /cards), junto com newsletter, estúdio público de cards e UI da Central/jingles; download de foto e .ics perdem o 1313. Sem migration, sem Consent novo e sem apagar dados do CMS.
52 lines
2.1 KiB
TypeScript
52 lines
2.1 KiB
TypeScript
import { cleanup, render, screen, within } from '@testing-library/react'
|
|
import { afterEach, describe, expect, it, vi } from 'vitest'
|
|
|
|
import { CampaignPageHeader } from '@/components/CampaignPageHeader'
|
|
|
|
type MockImageProps = React.ImgHTMLAttributes<HTMLImageElement> & { priority?: boolean }
|
|
|
|
vi.mock('next/image', () => ({
|
|
default: ({ alt, priority: _priority, ...props }: MockImageProps) => (
|
|
// eslint-disable-next-line @next/next/no-img-element
|
|
<img alt={alt} {...props} />
|
|
),
|
|
}))
|
|
|
|
afterEach(cleanup)
|
|
|
|
describe('CampaignPageHeader', () => {
|
|
it('home: lockup negativo, nav Mandato/Bandeiras/Fotos e nenhum 1313', () => {
|
|
render(<CampaignPageHeader variant="home" />)
|
|
|
|
const nav = screen.getByRole('navigation', { name: 'Navegação principal' })
|
|
expect(within(nav).getByRole('link', { name: 'Mandato' }).getAttribute('href')).toBe('/artigos')
|
|
expect(within(nav).getByRole('link', { name: 'Bandeiras' }).getAttribute('href')).toBe(
|
|
'#bandeiras',
|
|
)
|
|
expect(within(nav).getByRole('link', { name: 'Fotos' }).getAttribute('href')).toBe('/fotos')
|
|
expect(screen.getByAltText('Jorge Solla — Deputado Federal').getAttribute('src')).toContain(
|
|
'jorge-solla-negativo.png',
|
|
)
|
|
expect(screen.queryByText(/1313/)).toBeNull()
|
|
})
|
|
|
|
it('interna: lockup positivo, nav com Início e marca a seção atual', () => {
|
|
render(<CampaignPageHeader current="fotos" />)
|
|
|
|
const nav = screen.getByRole('navigation', { name: 'Navegação principal' })
|
|
expect(within(nav).getByRole('link', { name: 'Artigos' }).getAttribute('href')).toBe('/artigos')
|
|
expect(within(nav).getByRole('link', { name: 'Fotos' }).getAttribute('aria-current')).toBe(
|
|
'page',
|
|
)
|
|
expect(within(nav).getByRole('link', { name: 'Início' }).getAttribute('href')).toBe('/')
|
|
expect(screen.getByAltText('Jorge Solla — Deputado Federal').getAttribute('src')).toContain(
|
|
'jorge-solla-positivo.png',
|
|
)
|
|
})
|
|
|
|
it('mostra o badge de estado quando recebido', () => {
|
|
render(<CampaignPageHeader badge="Ao vivo" />)
|
|
|
|
expect(screen.getByText('Ao vivo')).toBeTruthy()
|
|
})
|
|
})
|