mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-15 18:53:06 +00:00
- Remove prose subtitles from list routes, Quadro and create/edit chrome - Keep subtitles on Organizações, Conceitos, Perfil, Contatos (out of scope) - MunicipalityListPageChrome: saved filter name as header subtitle when URL matches - Edit pages: title-only chrome override - Impl plan: docs/plans/listas-sem-subtitulo-prosa-impl.md Closes #283 Co-authored-by: Francisco Solla <fsolla@users.noreply.github.com>
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
|
|
import {
|
|
campaignPageMetadata,
|
|
campaignPageMetadataFromCatalog,
|
|
resolveCampaignPageChrome,
|
|
} from '@/lib/campaignPageChrome'
|
|
|
|
describe('campaignPageChrome', () => {
|
|
it('returns null for home', () => {
|
|
expect(resolveCampaignPageChrome('/campanha', 'coordinator')).toBeNull()
|
|
expect(resolveCampaignPageChrome('/campanha/', 'advisor')).toBeNull()
|
|
})
|
|
|
|
it('resolves section list chrome without prose subtitle', () => {
|
|
expect(resolveCampaignPageChrome('/campanha/municipios', 'coordinator')).toEqual({
|
|
title: 'Municípios',
|
|
})
|
|
expect(resolveCampaignPageChrome('/campanha/liderancas', 'advisor')).toEqual({
|
|
title: 'Lideranças',
|
|
})
|
|
})
|
|
|
|
it('resolves detail pages with section title only', () => {
|
|
expect(resolveCampaignPageChrome('/campanha/municipios/cairu', 'coordinator')).toEqual({
|
|
title: 'Municípios',
|
|
})
|
|
})
|
|
|
|
it('resolves quadro without role-based prose subtitle', () => {
|
|
expect(resolveCampaignPageChrome('/campanha/quadro', 'advisor')).toEqual({ title: 'Quadro' })
|
|
expect(resolveCampaignPageChrome('/campanha/quadro', 'coordinator')).toEqual({
|
|
title: 'Quadro',
|
|
})
|
|
})
|
|
|
|
it('keeps prose subtitle on out-of-scope sections', () => {
|
|
expect(resolveCampaignPageChrome('/campanha/conceitos', 'coordinator')?.subtitle).toContain(
|
|
'cada número',
|
|
)
|
|
expect(resolveCampaignPageChrome('/campanha/perfil', 'coordinator')?.subtitle).toContain(
|
|
'biometria',
|
|
)
|
|
})
|
|
|
|
it('builds tab metadata from catalog', () => {
|
|
expect(campaignPageMetadataFromCatalog('contatos').title).toBe('Contatos')
|
|
expect(campaignPageMetadata(null).title).toBe('Início')
|
|
})
|
|
})
|