Skip to content

Instantly share code, notes, and snippets.

@joaovictorino
Last active January 19, 2024 02:24
Show Gist options
  • Save joaovictorino/7b3fc68e66d64ac950c402b92db40f41 to your computer and use it in GitHub Desktop.
Save joaovictorino/7b3fc68e66d64ac950c402b92db40f41 to your computer and use it in GitHub Desktop.
Criando a transferência

Criando a transferência

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.

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