Temos um trecho de código na classe conta que pode ser melhorado, ou seja refatorado, tornando o código mais fácil de manter e mantendo o mesmo comportamento. Crie o método abaixo dentro da classe conta
private validarValor(valor: number): void {
if(valor <= 0)
throw new NegocioErro("valor não pode ser igual ou menor que zero");
}
E altere os métodos de saque e depósito conforme abaixo
public sacar(valor: number): void {
this.validarValor(valor);
this._saldo -= valor;
}
public depositar(valor: number): void {
this.validarValor(valor);
this._saldo += valor;
}
Agora rode os testes para garantir que não mudamos o comportamento do código.
npx jest
Perceba a importância e liberdade que os testes automatizados nos trazem, podemos alterar/refatorar a aplicação com a garantia que nada foi impactado.