teqo-backup/tests/unit/wizardSignalUi.unit.spec.ts
Francisco Ignácio Fontoura Solla 3f16998716 chore: format B63 wizard signal files.
2026-07-30 04:03:11 -03:00

45 lines
1.6 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { CAMPAIGN_HOME } from '@/lib/campaignPaths'
import {
municipalitySignalTypeMeta,
municipalitySignalTypeMetaByType,
} from '@/lib/municipalitySignalTypeMeta'
import { municipalitySignalTypes } from '@/lib/schemas/municipalityUpdate'
import {
resolveWizardSignalSkip,
shouldShowWizardSignalSkip,
WIZARD_SIGNAL_SKIP_LABEL,
} from '@/lib/wizardSignalUi'
describe('wizardSignalUi', () => {
it('hides skip for standalone register-signal entry', () => {
expect(shouldShowWizardSignalSkip(undefined)).toBe(false)
expect(shouldShowWizardSignalSkip('register-signal')).toBe(false)
expect(resolveWizardSignalSkip(undefined)).toBeUndefined()
expect(resolveWizardSignalSkip('register-signal')).toBeUndefined()
})
it('shows skip when embedded from another wizard action', () => {
expect(shouldShowWizardSignalSkip('update-votes')).toBe(true)
expect(shouldShowWizardSignalSkip('change-trend')).toBe(true)
expect(resolveWizardSignalSkip('update-votes')).toEqual({
label: WIZARD_SIGNAL_SKIP_LABEL,
href: CAMPAIGN_HOME,
})
})
})
describe('municipalitySignalTypeMeta', () => {
it('covers every signal type with icon and info copy', () => {
expect(municipalitySignalTypeMeta).toHaveLength(municipalitySignalTypes.length)
for (const type of municipalitySignalTypes) {
const entry = municipalitySignalTypeMetaByType[type]
expect(entry?.label.length).toBeGreaterThan(0)
expect(entry?.shortDescription.length).toBeGreaterThan(0)
expect(entry?.infoContent.length).toBeGreaterThan(20)
expect(entry?.icon).toBeTruthy()
}
})
})