teqo-backup/tests/unit/wizardLeadershipStep.unit.spec.ts
Cursor Agent 2fa6e7298a
B104 — Wizard: label genérica "Pular" nas ações encadeadas
Substitui as quatro labels longas de skip (votos, tendência, sinal,
liderança) por uma constante compartilhada WIZARD_CHAIN_SKIP_LABEL.
Resolvers e condições de exibição permanecem intactos (B96/B98).

Closes #131

Co-authored-by: Francisco Solla <fsolla@users.noreply.github.com>
2026-08-01 17:57:12 +00:00

37 lines
1.3 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { CAMPAIGN_HOME } from '@/lib/campaignPaths'
import { WIZARD_CHAIN_SKIP_LABEL } from '@/lib/campaignWizardCopy'
import {
resolveWizardLeadershipSkip,
showLeadershipWizardSkip,
} from '@/lib/wizardLeadershipContract'
describe('showLeadershipWizardSkip', () => {
it('hides skip for standalone entry (implicit update-leadership)', () => {
expect(showLeadershipWizardSkip(undefined)).toBe(false)
})
it('hides skip when entry is update-leadership', () => {
expect(showLeadershipWizardSkip('update-leadership')).toBe(false)
})
it('shows skip when embedded from another wizard action', () => {
expect(showLeadershipWizardSkip('update-votes')).toBe(true)
})
})
describe('resolveWizardLeadershipSkip', () => {
it('returns undefined for standalone entry', () => {
expect(resolveWizardLeadershipSkip(undefined, 'cairu')).toBeUndefined()
expect(resolveWizardLeadershipSkip('update-leadership', 'cairu')).toBeUndefined()
})
it('points skip to Início when leadership is the last chained step', () => {
// In the v1 matrix, leadership is always the final chained elo.
expect(resolveWizardLeadershipSkip('update-votes', 'cairu')).toEqual({
label: WIZARD_CHAIN_SKIP_LABEL,
href: CAMPAIGN_HOME,
})
})
})