Vamos agora criar a funcionalidade de transferência de valores entre contas.
Portanto, crie uma pasta chamada "service" dentro de "model" em "__tests__" e crie o arquivo "TransferenciaValor.test.ts" com o conteúdo abaixo
import { Conta } from "../../../src/model/Conta";
import { TransferenciaValor } from "../../../src/model/service/TransferenciaValor";
describe("Transferência Valor", () => {
test("transferencia de valor entre contas com sucesso", async () => {
const contaOrigem: Conta = new Conta("123456", 1000.0);
const contaDestino: Conta = new Conta("654321", 1000.0);
const transferenciaValor: TransferenciaValor = new TransferenciaValor();
transferenciaValor.transferir(contaOrigem, contaDestino, 100.0);
expect(contaOrigem.saldo).toBe(900.0);
expect(contaDestino.saldo).toBe(1100.0);
});
});
Rode os testes
npx jest
Agora crie o arquivo de transferência, portanto na pasta "src/model", crie a pasta "service" e o arquivo "TransferenciaValor.ts" com o conteúdo abaixo
import { Conta } from "../Conta";
export class TransferenciaValor {
public transferir(contaOrigem: Conta, contaDestino: Conta, valor: number): void {
contaOrigem.sacar(valor);
contaDestino.depositar(valor);
}
}
Rode os testes
npx jest
Acabamos de criar um serviço que fará a transferência de valor entre contas e já coberto por um primeiro teste.