From 399eac351b1bc29d5047dbac96486c281be1b05c Mon Sep 17 00:00:00 2001 From: Murilo Ijanc Date: Mon, 27 Jul 2026 20:38:27 -0300 Subject: Report the municipality a missing CEP would have belonged to A CEP that fails a lookup is rarely a random number: it is usually someone who knows the city and guessed, and the classic guess is the -000 that 957 municipalities never received. The API now answers those 404s with a faixa naming the municipality that owns the band the number fell into, which is the difference between telling a user "invalid CEP" and "no such CEP in Areal/RJ". It is context for an error and never an address, so it rides on the cepis_not_found condition instead of turning the failure into a success, and cep_ini/cep_fim are the endpoints that exist rather than the range the Correios publish - the interval between them is sparse, which is what ceps counts. Parsing is deliberately unable to signal: a faixa that is null, an array, a string or half a body leaves a clean not-found behind, because the caller asked for the CEP, not for the decoration on its absence. --- tests/helper/utils.R | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests/helper/utils.R') diff --git a/tests/helper/utils.R b/tests/helper/utils.R index 3c24a2f..94a15ff 100644 --- a/tests/helper/utils.R +++ b/tests/helper/utils.R @@ -16,6 +16,17 @@ SE_ADDRESS <- list( siafi = "7107" ) +AREAL_FAIXA <- list( + localidade = "Areal", + uf = "RJ", + estado = "Rio de Janeiro", + regiao = "Sudeste", + ibge = "3300225", + cep_ini = "25845001", + cep_fim = "25849899", + ceps = 118L +) + CSV_HEADER <- paste0( "cep,logradouro,complemento,unidade,bairro,localidade,uf,estado,regiao,", "ibge,gia,ddd,siafi" -- cgit v1.3