mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 15:05:19 +00:00
Collections speech/speechSegment no grupo Comunicação, papel communicator (leitura restrita) e índice trigram normalizado para a busca por segmento. Import idempotente da Câmara (discurso→evento→trecho→VOD→ASR) com facetas gazetteer+LLM, proveniência e preservação de curadoria manual; parser de quem presidia; reusa a lógica pura do piloto C152 via scripts/lib. Related #955
23 lines
814 B
TypeScript
23 lines
814 B
TypeScript
// @vitest-environment node
|
|
|
|
import { describe, expect, it } from 'vitest'
|
|
|
|
import { normalizeForSearch, uniqueByNormalizedForm } from '@/lib/speechSearch'
|
|
|
|
describe('normalizeForSearch', () => {
|
|
it('strips accents, lowercases and collapses whitespace', () => {
|
|
expect(normalizeForSearch(' Saúde Pública ')).toBe('saude publica')
|
|
expect(normalizeForSearch('São Félix do Coribe')).toBe('sao felix do coribe')
|
|
expect(normalizeForSearch('')).toBe('')
|
|
})
|
|
})
|
|
|
|
describe('uniqueByNormalizedForm', () => {
|
|
it('dedupes by normalized form keeping the first spelling', () => {
|
|
expect(uniqueByNormalizedForm(['Saúde', 'saude', 'SUS', ' sus '])).toEqual(['Saúde', 'SUS'])
|
|
})
|
|
|
|
it('drops empty values', () => {
|
|
expect(uniqueByNormalizedForm(['', ' ', 'Bahia'])).toEqual(['Bahia'])
|
|
})
|
|
})
|