A API DBBank simula um módulo financeiro, possibilitando registros de contas de usuário que também funcionam como contas bancárias capazes de efetuar transferências de valores monetários para outras contas também registradas.
Note
Em ambientes Windows, confirmar também o correto funcionamento do Git Bash.
O boilerplate Java para automação de testes de APIs contém um conjunto inicial de recursos que possibilitam um rápido e simplificado início de construção de testes automatizados.
Ele é obtido via o script get_boilerplate.sh
, que também atualiza este arquivo README com as informações sobre configurações necessárias e instruções de execução.
Tornar o script get_boilerplate.sh
executável
chmod +x get_boilerplate.sh
Executar o script get_boilerplate.sh
./get_boilerplate.sh
Executar o script get_boilerplate.sh
./get_boilerplate.sh
Registro de uma nova conta de usuário
Validar o registro de uma nova conta de usuário através de uma tentativa de acesso bem sucedida.
- A API deve estar acessível
- O usuário ainda não deve ter uma conta registrada
- Efetuar o registro enviando uma requisição POST para o endpoint de contas com informações válidas do usuário (E-mail, Nome, Senha e Confirmação senha)
- Certificar-se também de setar a informação de saldo inicial com um valor superior a 0 (zero)
- Efetuar o acesso da conta do usuário enviando uma requisição POST para o endpoint de acesso com informações válidas da mesma (E-mail e Senha)
- A resposta para a requisição de registro deve conter um HTTP status code 201
- A resposta para a requisição de acesso deve conter um HTTP status code 200, e o payload da resposta deve conter em sua estrutura JSON uma propriedade saldo, contendo o mesmo valor apontado na requisição de registro
- O usuário deve estar com a nova conta registrada e ter a acessado com sucesso
Transferência de valores monetários entre contas de usuário
Validar em uma conta de usuário destinatária a entrada de um valor monetário proveniente de uma conta de usuário originária.
- A API deve estar acessível
- Devem haver duas contas de usuário já registradas (originária e destinatária), tendo a conta originária um saldo de R$ 1000,00, e a conta destinatária um saldo de R$ 0,00
- Efetuar o acesso da conta de usuário originária enviando uma requisição POST para o endpoint de acesso com informações válidas da mesma (E-mail e Senha)
- Realizar uma transferência enviando uma requisição POST para o endpoint de transferências com informações válidas para a sua realização (Número da conta de usuário destinatária, Dígito da conta de usuário destinatária, Valor e Descrição) - O valor deve ser de R$ 500,00
- Efetuar a obtenção dos detalhes da conta de usuário originária enviando uma requisição GET para o endpoint de contas
- Efetuar o acesso da conta de usuário destinatária enviando uma requisição POST para o endpoint de acesso com informações válidas da mesma (E-mail e Senha)
- Efetuar a obtenção dos detalhes da conta de usuário destinatária enviando uma requisição GET para o endpoint de contas
Note
- A resposta das requisições de acesso contém na estrutura JSON do seu payload um token (propriedade accessToken) que deve ser enviado em requisições para endpoints protegidos, através de um Authorization header de esquema do tipo bearer
- Endpoints protegidos:
- GET - Obtenção de detalhes da conta
- POST - Realização de transferências
- O saldo contido na estrutura JSON do payload da resposta da requisição de obtenção dos detalhes da conta de usuário originária deve ser de R$ 500,00
- O saldo contido na estrutura JSON do payload da resposta da requisição de obtenção dos detalhes da conta de usuário destinatária deve ser de R$ 500,00
- As duas contas de usuário devem estar com valores iguais de saldo