mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-12 22:13:05 +00:00
- formatElectionNumber -> src/lib/electionFormat.ts (13 importers); computeVoteTrend + tipos -> src/lib/voteTrend.ts - ~52 exports sem consumidor deletados (limiares 35/20/10 da era nucleos, gap vs 2022, conversao, mobilizacao, ticket flip/leverage) - decisao D2; formulas no git history; E10 nasce em modulo novo (nota no plano classificacao-territorial-relativa.md) - specs: voteTrend.unit.spec.ts (pins vivos + pin do defeito E18 de fracao), electionPartySpectrum.unit.spec.ts sem os blocos de ticket; electionInsights.unit.spec.ts deletado - fix de regressao W2 pega pelo knip: scripts/import-projecao.mjs importava voteEstimate/slug nos paths antigos (knip agora roda sem pipe mascarando exit code) - knip unused exports: 157 -> 140
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
// @vitest-environment node
|
|
|
|
import { describe, expect, it } from 'vitest'
|
|
|
|
import {
|
|
BA_2022_FEDERAL_PARTIES,
|
|
normalizePartySigla,
|
|
partySpectrum,
|
|
} from '@/lib/electionPartySpectrum'
|
|
|
|
describe('partySpectrum', () => {
|
|
it('classifies left-wing parties from the 2022 survey', () => {
|
|
expect(partySpectrum('PT')).toBe('esquerda')
|
|
expect(partySpectrum('PSOL')).toBe('esquerda')
|
|
expect(partySpectrum('PCdoB')).toBe('esquerda')
|
|
})
|
|
|
|
it('classifies right-wing parties from the 2022 survey', () => {
|
|
expect(partySpectrum('PL')).toBe('direita')
|
|
expect(partySpectrum('PSDB')).toBe('direita')
|
|
expect(partySpectrum('MDB')).toBe('direita')
|
|
})
|
|
|
|
it('normalizes TSE aliases before lookup', () => {
|
|
expect(normalizePartySigla('UNIAO')).toBe('UNIÃO')
|
|
expect(partySpectrum('UNIAO')).toBe('direita')
|
|
expect(partySpectrum('PC DO B')).toBe('esquerda')
|
|
})
|
|
|
|
it('returns null for unknown siglas', () => {
|
|
expect(partySpectrum('PARTIDO NOVO DESCONHECIDO')).toBeNull()
|
|
})
|
|
|
|
it('covers parties present in the BA 2022 federal fixture', () => {
|
|
for (const party of BA_2022_FEDERAL_PARTIES) {
|
|
expect(partySpectrum(party)).not.toBeNull()
|
|
}
|
|
})
|
|
})
|