NotasBackEndJavaHexagonal
Projeto criado para teste de uso de arquitetura hexagonal.
Usando testes integrados e relatório de cobertura de testes.
Banco MongoDB com objetos dentro de objetos.
-Requisitos:
*Java11;
*MongoDB;
*Maven instalado e configurado;
-Sobre os Testes
*Os testes de adapters e outros rodam sem necessidade de iniciar
instancia do spring.
*Os testes referentes ao adapter in/ controller precisam de atenção.
Certifique-se de ter lançados registros condizentes com as necessidades dos teste.
*Para rodar o relatório de cobertura acesse via dos como administrador da maquina
a pasta do projeto.
Então rode o comando mvn test e aguarde.
Vai baixar dependencias e executar os testes e gerar o relatório.
Ele vai estar na pasta dentro de \target\site\jacoco\index.html
-Metodos disponiveis até o momento:
Lista tudo sem paginação.
-[GET] http://localhost:8080/notas/todas_em_lista
exemplo de curl:
curl --location --request GET 'http://localhost:8080/notas/todas_em_lista'
--header 'Authorization: MTIzNjU0Nzg5'
-[POST] http://localhost:8080/notas/nova_nota
curl de Exemplo:
curl --location --request POST 'http://localhost:8080/notas/nova_nota'
--header 'Authorization: MTIzNjU0Nzg5'
--header 'Content-Type: application/json'
--data-raw '{ "tipoLancamento":"123", "cnjpNossoCliente":"123", "cnjpCliente":"123654897953", "cnpjemissor":"123654897953", "valorTotal":"999", "valorTotalProdutos":"999", "valorFaturar":"999", "lancamentos":[ { "idlancamento":"1", "quantidade":"999", "valorUnitario":"999", "nomeItem":"999", "cfop":"999", "totalLancamento":"999" }, { "idlancamento":"2", "quantidade":"999", "valorUnitario":"999", "nomeItem":"999", "cfop":"999", "totalLancamento":"999" } ] }'
-[GET] ListaPorNossoCNPJ/CNPJEMissor
curl de Exemplo:
curl --location --request GET 'http://localhost:8080/notas/lista_notas_nosso_cliente?cnpj=123'
--header 'Authorization: MTIzNjU0Nzg5'
-[GET] Find por id
curl de Exemplo:
curl --location --request GET 'http://localhost:8080/notas/findbyid?id=613107884540935102969600'
--header 'Authorization: MTIzNjU0Nzg5'