Payload de API (cru, 11 dígitos)
- Entrada
- 12034567899
- Saída esperada
- {"pis": "12034567899"}
Sem pontuação: é o formato que a maioria dos endpoints de RH e eSocial espera no corpo da requisição, então use este valor direto na fixture de payload.
PIS/PASEP para fixtures de teste
Suíte de teste que valida cadastro de folha de pagamento ou eSocial precisa de um PIS/PASEP com formato correto sem sortear o número de uma pessoa real. Este gerador produz os 11 dígitos com o verificador calculado, prontos para entrar numa fixture ou num seed de banco de homologação.
Sem pontuação: é o formato que a maioria dos endpoints de RH e eSocial espera no corpo da requisição, então use este valor direto na fixture de payload.
A máscara agrupa em 3, 5 e 2 dígitos com um hífen antes do verificador; use este valor para testar o input com máscara ativa no navegador, sem que o teste precise reimplementar a formatação.
Vale a pena ter esta fixture separada: é o caso de fronteira em que o dígito verificador fecha em 0, e um parser que trata "0" como campo vazio quebra só neste caso.
Eles aparecem em contextos diferentes, mas muitos sistemas usam a mesma estrutura numérica de 11 dígitos com verificador.
A chance é a mesma de qualquer sorteio de 10 dígitos, mas isso não importa para o objetivo: a fixture não é enviada ao INSS nem a nenhum órgão, ela só precisa passar no dígito verificador para exercitar o parser do seu sistema em ambiente de teste.
Copie o número gerado numa rodada e cole direto na fixture do repositório (arquivo JSON, constante de teste), em vez de chamar o gerador dentro do pipeline; assim o valor fica fixo no controle de versão e a auditoria de dígito verificador roda uma vez só, na hora de gerar.
Um só cobre o caso feliz; para cobertura de borda, gere um segundo com dígito verificador 0 (a fórmula produz 0 sempre que o resto da divisão por 11 é 0 ou 1) e um terceiro com dígitos repetidos rejeitado de propósito, se seu validador tiver essa regra extra.
Confira se o formulário está lendo os 11 dígitos crus ou o valor com pontuação: um parser que espera string sem máscara e recebe `120.34567.89-9` sem remover os símbolos antes de validar o dígito verificador é a causa mais comum de rejeição nesse cenário.
A geração acontece localmente no navegador. Analytics recebe apenas ação, status, tipo e formato, nunca o PIS/PASEP gerado.