Skip to content

Instantly share code, notes, and snippets.

@joaovictorino
Last active February 27, 2024 00:54
Show Gist options
  • Save joaovictorino/3a65e5e6d8f42256b63492e75eb51642 to your computer and use it in GitHub Desktop.
Save joaovictorino/3a65e5e6d8f42256b63492e75eb51642 to your computer and use it in GitHub Desktop.
Depósitos não podem ser zerados

Depósitos não podem ser zerados

Vamos implementar uma condição de segurança para que não seja feitos depósitos de valores zerados ou inválidos. Crie um teste na conta com o seguinte código

test("depositar com valor zerado", async () => {
  const conta: Conta = new Conta("123456", 5000.0);
  expect(() => { conta.depositar(0); }).toThrow("valor não pode ser igual ou menor que zero");
});

Agora rode o teste e veja que irá falhar

npx jest

Hora de alterar o método depositar da classe conta conforme abaixo

public depositar(valor: number): void {
  if(valor == 0)
    throw new NegocioErro("valor não pode ser igual ou menor que zero");

  this._saldo += valor;
}

Rode o teste novamente

npx jest

Perceba que estamos praticando o fluxo do TDD, criando o teste e posteriormente implementando a funcionalidade que atende unicamente ao teste.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment