Skip to content

dbserver/desafio-automacao-api-dbbank-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Logo

Desafio Automação DBBank

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.

Getting started

Pré-requisitos

Note

Em ambientes Windows, confirmar também o correto funcionamento do Git Bash.

Obtendo o boilerplate Java

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.

1. Via terminal de comandos (Linux e MacOS)

Tornar o script get_boilerplate.sh executável

chmod +x get_boilerplate.sh

Executar o script get_boilerplate.sh

./get_boilerplate.sh

2. Via Git Bash (Windows)

Executar o script get_boilerplate.sh

./get_boilerplate.sh

Desafio

1. Automation Request

Caso de Teste (TC - Test Case):

Registro de uma nova conta de usuário

Descrição:

Validar o registro de uma nova conta de usuário através de uma tentativa de acesso bem sucedida.

Pré-Condições:

  • A API deve estar acessível
  • O usuário ainda não deve ter uma conta registrada

Passos:

  1. 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)
  2. 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)

Resultados Esperados:

  • 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

Pós-Condições:

  • O usuário deve estar com a nova conta registrada e ter a acessado com sucesso

2. Automation Request

Caso de Teste (TC - Test Case):

Transferência de valores monetários entre contas de usuário

Descrição:

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.

Pré-Condições:

  • 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

Passos:

  1. 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)
  2. 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
  3. Efetuar a obtenção dos detalhes da conta de usuário originária enviando uma requisição GET para o endpoint de contas
  4. 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)
  5. 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

Resultados Esperados:

  • 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

Pós-Condições:

  • As duas contas de usuário devem estar com valores iguais de saldo

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages