Semente completa de 9 dígitos
- Entrada
- createUsPassportNumber('987654321')
- Saída esperada
- 987654321
Uma semente já com 9 dígitos passa direto, sem preenchimento nem corte, pronta pra um teste que precisa de um valor fixo e previsível.
número de passaporte dos EUA para fixtures de teste
Formulário de embarque ou API de reserva que espera número de passaporte de 9 dígitos pode testar sem tocar num documento real: esta página mostra como o gerador produz esse valor sintético, o que acontece com uma semente curta e como reproduzir o mesmo número entre execuções de CI.
Uma semente já com 9 dígitos passa direto, sem preenchimento nem corte, pronta pra um teste que precisa de um valor fixo e previsível.
Semente de 2 dígitos vira 9 preenchendo o resto à direita com zero, então o valor significativo fica no início da string, não no fim.
Esse padrão nunca sai de `generateUsPassportNumber` porque o sorteio aleatório descarta dígito repetido, mas `createUsPassportNumber` aceita porque não faz essa checagem, útil pra testar borda de propósito.
Não há um checksum público simples para validar emissão apenas pelo número.
É removida antes de gerar: `createUsPassportNumber` mantém só dígitos da entrada, então uma semente tipo 'AB123' vira apenas '123' e o resto é preenchido com zero até completar 9.
Dá, passe o valor literal de 9 dígitos direto pra `createUsPassportNumber`; como não há sorteio nesse caminho, o retorno é sempre o mesmo texto que você passou, sem transformação além do preenchimento de zero.
Não pelo caminho aleatório: `generateUsPassportNumber` descarta sequência de dígito repetido e tenta de novo; mas dá pra forçar esse valor manualmente com `createUsPassportNumber` pra testar como o formulário reage a esse caso de borda.
Alimente uma string mais curta, tipo 8 dígitos, direto na validação (`isValidUsPassportFormat`), que devolve falso; isso serve pra confirmar o caminho de erro sem precisar montar um número completo só pra falhar de propósito.
A geração acontece localmente no navegador. Analytics recebe apenas ação, status, tipo e formato, nunca o passaporte gerado.