fix(feriados): reclassifica Carnaval e Corpus Christi como pontos facultativos (Lei 9.093/1995) by lucianopf · Pull Request #899 · BrasilAPI/BrasilAPI · GitHub
Skip to content

fix(feriados): reclassifica Carnaval e Corpus Christi como pontos facultativos (Lei 9.093/1995) - #899

Open
lucianopf wants to merge 1 commit into
mainfrom
fix/411-feriados-facultativos
Open

lucianopf wants to merge 1 commit into
mainfrom
fix/411-feriados-facultativos

Conversation

@lucianopf

Copy link
Copy Markdown
Member

Closes #411

Mudança

Carnaval (2 dias, segunda e terça) e Corpus Christi passam de type: "national" para type: "facultative" no /api/feriados/v1/{ano} — legalmente são pontos facultativos (Lei 9.093/1995), não feriados nacionais.

  • services/holidays/index.js: reclassifica os 3 registros (Carnaval ×2 + Corpus Christi). Páscoa e Sexta-feira Santa permanecem national.
  • Datas inalteradas — apenas o type muda.
  • Doc holydays.json: enum do campo type atualizado (national, state, facultative) — edição cirúrgica.

Compatibilidade

  • /diasuteis/v1 casa feriado por data (não por type) → sem quebra.
  • Nenhum consumidor interno filtra por type === 'national' (verificado por grep em services/ pages/ lib/ util/).
  • Quem usa type === 'national' para calcular dias úteis passa a tratar Carnaval/Corpus Christi corretamente (comportamento legalmente correto).

Testes (TDD)

  • Unit (tests/feriados/getHolidays.test.js): Carnaval/Corpus Christi → facultative; Páscoa/Sexta Santa → national.
  • E2E de rota (tests/feriados-v1.test.js): mesmo contrato via HTTP.
  • Fixture tests/helpers/feriados/index.js sincronizada (E2E compara contra ela com toEqual).
  • Docs refs (tests/docs-spec-refs.test.js) verde; ESLint verde nos arquivos modificados quanto às linhas novas.

Obs. (não relacionado a esta PR): 2 falhas locais de /diasuteis/v1 vêm de bug de fuso pré-existente (getDay/getDate locais vs toISOString UTC — falha só em host UTC-3, CI roda UTC) e 1 do provider ISBN (ambiental). Fica o registro para PR de estabilidade separada.

…ultativos

Carnaval (2 dias) e Corpus Christi deixam de ser 'national' e passam a
'facultative', alinhado à Lei 9.093/1995 (pontos facultativos). Páscoa e
Sexta-feira Santa permanecem 'national'. Datas inalteradas e enum atualizado
na doc. /diasuteis casa feriado por data (não por type), então não quebra.

Co-authored-by: Hermes Agent <noreply@nousresearch.com>
@vercel

vercel Bot commented Aug 19, 2026 •

Copy link
Copy Markdown

@sonarqubecloud

Copy link
Copy Markdown

This branch was successfully deployed

1 active deployment
Preview — a0903f79 Deployed Aug 19, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: Feriados facultativos na listagem de feriados nacionais

1 participant