V3- Aprimoramento Testes Integracao #16
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Esta solicitação de pull request visa aprimorar a confiabilidade dos testes de integração, o tratamento de erros e a configuração do ambiente de teste para o SDK Node.js da NFE.io. As alterações garantem que os testes de integração sejam executados apenas com chaves de API válidas, simplificam a lógica de omissão de testes e tornam o tratamento de erros nos testes mais robusto. Também foram feitas pequenas melhorias nos metadados do SDK e nas funções utilitárias de teste.
Melhorias na confiabilidade e no ambiente de teste:
Refatoramos a lógica de omissão de testes de integração para usar a função utilitária
skipIfNoApiKey(), garantindo que os testes sejam executados apenas quando uma chave de API real estiver presente e não para chaves de teste/placeholder. Isso afeta tanto os testes de integração da empresa quanto os de tratamento de erros, tornando-os mais robustos e menos propensos a serem executados involuntariamente em CI ou com credenciais inválidas. [1] [2] [3] [4]Adicionado um manipulador global em
tests/setup.tspara suprimir avisos de rejeição de promessas não tratadas para erros esperados de polling e timeout durante os testes, melhorando a clareza da saída dos testes.Introduzida uma função auxiliar
hasRealApiKeypara distinguir entre chaves de API reais e de teste para o controle de testes de integração.Aprimoramentos nos testes de integração e unitários:
Todos os testes de integração foram atualizados para usar a nova lógica de omissão e chamadas redundantes de
.skipIf()foram removidas de casos de teste individuais, simplificando a manutenção dos testes. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]Melhorias no tratamento e limpeza de temporizadores nos testes unitários do utilitário de polling para evitar instabilidade nos testes e garantir a limpeza adequada de recursos.
Ignorou-se um teste de integração de polling que requer implementação adicional para lógica de repetição, com uma nota TODO para trabalho futuro.
Atualizou-se o teste de polling para usar os nomes corretos dos parâmetros de tempo limite e melhorou-se a correspondência das mensagens de erro para tempos limite.
Metadados e empacotamento do SDK:
package.json, incluindo a formatação do arraykeywords, a correção do formato da URL do repositório e a atualização do campoexportspara melhor suporte ao TypeScript. [1] [2]prepublishOnlyemprepublishOnlyeprepublish:testpara etapas de pré-publicação mais claras.Tratamento de erros:
statusCodeà classeNfeErrorpara melhorar a compatibilidade com testes e a inspeção de erros.