teqo/tests/unit/campaignHome.unit.spec.tsx
Francisco Solla 0aec0d5040
Some checks failed
CI / e2e (1) (push) Successful in 11m3s
CI / static (push) Successful in 2m8s
CI / int (push) Successful in 2m15s
CI / build (push) Successful in 2m58s
CI / e2e (2) (push) Successful in 4m41s
CI / checks (push) Successful in 2s
CI / deploy homeserver (teqo-1313) (push) Failing after 5s
feat(PUB5): slogan 'Mais saúde mais futuro' no hero e rodapé
2026-08-18 01:31:28 +00:00

47 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { cleanup, render, screen } from '@testing-library/react'
import { afterEach, describe, expect, it, vi } from 'vitest'
import HomePage from '@/app/(frontend)/(home)/page'
type MockImageProps = React.ImgHTMLAttributes<HTMLImageElement> & {
fill?: boolean
priority?: boolean
}
vi.mock('next/image', () => ({
default: ({ alt, fill: _fill, priority: _priority, ...props }: MockImageProps) => (
// eslint-disable-next-line @next/next/no-img-element
<img alt={alt} {...props} />
),
}))
afterEach(cleanup)
describe('Campaign home', () => {
it('monta as quatro seções previstas e o rodapé eleitoral', async () => {
render(await HomePage())
expect(screen.getByRole('heading', { level: 1, name: 'MAIS SAÚDE MAIS FUTURO' })).toBeTruthy()
expect(screen.getByText('3.333')).toBeTruthy()
expect(screen.getByText('1.031')).toBeTruthy()
expect(screen.getByText('3º')).toBeTruthy()
expect(screen.getByRole('heading', { name: /Eleger deputado é coisa séria/i })).toBeTruthy()
expect(
screen.getByRole('heading', {
name: /Junto com o trabalhador e do lado de quem mais precisa, sempre/i,
}),
).toBeTruthy()
expect(screen.getByText(/CNPJ: 68\.430\.467\/0001-05/)).toBeTruthy()
})
it('usa exatamente as seis bandeiras aprovadas', async () => {
render(await HomePage())
expect(screen.getByText('Defender o SUS e valorizar quem cuida')).toBeTruthy()
expect(screen.getByText('Fim da escala 6×1 e jornada de 40h')).toBeTruthy()
expect(screen.getByText('Educação em tempo integral e federais no interior')).toBeTruthy()
expect(screen.getByText('Recomprar a Refinaria de Mataripe')).toBeTruthy()
expect(screen.getByText('Salário mínimo forte, emprego e moradia')).toBeTruthy()
expect(screen.getByText('Defesa intransigente da democracia')).toBeTruthy()
})
})