From 2d0fae1b75e899c6ac89dcbe58101f69daa26f9d Mon Sep 17 00:00:00 2001 From: Roxanie Fernandes Date: Tue, 19 Sep 2023 22:10:34 -0300 Subject: [PATCH 1/2] exercicio finalizado --- .../entregas/roxanie-fernandes/BankAccount.js | 65 +++++++++++++++++++ .../roxanie-fernandes/BankAccount.test.js | 44 +++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.js create mode 100644 exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.test.js diff --git a/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.js b/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.js new file mode 100644 index 0000000..aec78ce --- /dev/null +++ b/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.js @@ -0,0 +1,65 @@ +// No caso de saque é necessário verificar se existe saldo +// suficiente para retirada, caso o cliente não tenha +// saldo suficiente para a operação, mas possua limite disponível +// (e suficiente), o saque poderá ocorrer, nesses casos o saldo +// do cliente ficará negativo após o saque. Além disso, +// o limite de uma conta pode ser reajustado +// (para mais e para menos) ou desativado. + +// // Use a abordagem Red - Green - Refactor para desenvolver essa aplicação. + +class BankAccount { + constructor(nome, saldo, limite) { + this.nome = nome; + this.saldo = saldo; + this.limite = limite; + } + + consultarSaldo() { + return this.saldo + } + + consultarLimite() { + return this.limite + } + + saque(valor) { + if(valor <= this.saldo){ + this.saldo -= valor; + } else if(valor <= this.saldo + this.limite) { + this.saldo -= valor + this.limite -= (valor - this.saldo) + } else { + throw new Error('Você não possui saldo ou limite suficiente') + } + return this.consultarSaldo() + } + + deposito(valor) { + this.saldo = this.saldo + valor + return this.consultarSaldo() + } + + novoLimite(novoLimite) { + this.limite = novoLimite + return this.consultarLimite() + } + + desativaLimite() { + this.limite = 0 + return this.consultarLimite() + } +} + +const conta = new BankAccount("Roxanie", 5000, 1000) + +// console.log(conta); +// console.log(consultarSaldo.saldo); +// console.log(conta.saque(5500)); +// console.log(conta); +// console.log(conta.deposito(200)); +// console.log(conta.novoLimite(7000)); +// console.log(conta.desativaLimite()); + + +module.exports = BankAccount; \ No newline at end of file diff --git a/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.test.js b/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.test.js new file mode 100644 index 0000000..87298a8 --- /dev/null +++ b/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.test.js @@ -0,0 +1,44 @@ +const BankAccount = require('./BankAccount'); + +describe("Contabancária", () => { + let conta; + + beforeEach(() => { + conta = new BankAccount ('roxanie fernandes', 5000, 1000) + }) + + test("Verifica consulta de saldo", () => { + expect(conta.consultarSaldo()).toEqual(5000) + }) + + test("Realiza saque com saldo suficiente", () => { + expect(conta.saque(500)).toEqual(4500) + }) + + test("Realiza saque com limite", () => { + expect(conta.saque(5500)).toEqual(-500) + }) + + test("Tenta realizar saque sem saldo sufifiente", () => { + expect(() => conta.saque(8000)).toThrow('Você não possui saldo ou limite suficiente') + }) + + test("Realiza depósito", () => { + expect(conta.deposito(200)).toEqual(5200) + }) + + test("Ajusta limite para mais (+)", () => { + expect(conta.novoLimite(7000)).toEqual(7000) + }) + + test("Ajusta limite para menos (-)", () => { + expect(conta.novoLimite(500)).toEqual(500) + }) + + test("Desativa limite", () => { + expect(conta.desativaLimite()).toEqual(0) + }) + +}) + + From 951cc51ff7b544bb5f91bc5e3503b1af21a645da Mon Sep 17 00:00:00 2001 From: Roxanie Fernandes Date: Thu, 21 Sep 2023 10:38:15 -0300 Subject: [PATCH 2/2] =?UTF-8?q?=20revis=C3=A3o=20-=20altera=C3=A7=C3=A3o?= =?UTF-8?q?=20de=20nome=20de=20fun=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entregas/roxanie-fernandes/BankAccount.js | 18 ++++-------------- .../roxanie-fernandes/BankAccount.test.js | 14 +++++++------- exercicios/para-sala/TDD/soma.test.js | 11 +++++++---- 3 files changed, 18 insertions(+), 25 deletions(-) diff --git a/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.js b/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.js index aec78ce..7cb30e7 100644 --- a/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.js +++ b/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.js @@ -1,13 +1,3 @@ -// No caso de saque é necessário verificar se existe saldo -// suficiente para retirada, caso o cliente não tenha -// saldo suficiente para a operação, mas possua limite disponível -// (e suficiente), o saque poderá ocorrer, nesses casos o saldo -// do cliente ficará negativo após o saque. Além disso, -// o limite de uma conta pode ser reajustado -// (para mais e para menos) ou desativado. - -// // Use a abordagem Red - Green - Refactor para desenvolver essa aplicação. - class BankAccount { constructor(nome, saldo, limite) { this.nome = nome; @@ -23,7 +13,7 @@ class BankAccount { return this.limite } - saque(valor) { + sacarValor(valor) { if(valor <= this.saldo){ this.saldo -= valor; } else if(valor <= this.saldo + this.limite) { @@ -35,17 +25,17 @@ class BankAccount { return this.consultarSaldo() } - deposito(valor) { + depositarValor(valor) { this.saldo = this.saldo + valor return this.consultarSaldo() } - novoLimite(novoLimite) { + ajustarLimite(novoLimite) { this.limite = novoLimite return this.consultarLimite() } - desativaLimite() { + desativarLimite() { this.limite = 0 return this.consultarLimite() } diff --git a/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.test.js b/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.test.js index 87298a8..ab5a4e5 100644 --- a/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.test.js +++ b/exercicios/para-casa/entregas/roxanie-fernandes/BankAccount.test.js @@ -12,31 +12,31 @@ describe("Contabancária", () => { }) test("Realiza saque com saldo suficiente", () => { - expect(conta.saque(500)).toEqual(4500) + expect(conta.sacarValor(500)).toEqual(4500) }) test("Realiza saque com limite", () => { - expect(conta.saque(5500)).toEqual(-500) + expect(conta.sacarValor(5500)).toEqual(-500) }) test("Tenta realizar saque sem saldo sufifiente", () => { - expect(() => conta.saque(8000)).toThrow('Você não possui saldo ou limite suficiente') + expect(() => conta.sacarValor(8000)).toThrow('Você não possui saldo ou limite suficiente') }) test("Realiza depósito", () => { - expect(conta.deposito(200)).toEqual(5200) + expect(conta.depositarValor(200)).toEqual(5200) }) test("Ajusta limite para mais (+)", () => { - expect(conta.novoLimite(7000)).toEqual(7000) + expect(conta.ajustarLimite(7000)).toEqual(7000) }) test("Ajusta limite para menos (-)", () => { - expect(conta.novoLimite(500)).toEqual(500) + expect(conta.ajustarLimite(500)).toEqual(500) }) test("Desativa limite", () => { - expect(conta.desativaLimite()).toEqual(0) + expect(conta.desativarLimite()).toEqual(0) }) }) diff --git a/exercicios/para-sala/TDD/soma.test.js b/exercicios/para-sala/TDD/soma.test.js index 9d8f688..3745888 100755 --- a/exercicios/para-sala/TDD/soma.test.js +++ b/exercicios/para-sala/TDD/soma.test.js @@ -1,9 +1,12 @@ -const sum = require('./soma') +const sum = require("./soma"); // A função soma dois números, caso os números sejam iguais, a soma é triplicada describe("soma de 2 números", () => { - it('soma de 2 + 3 = 5', () => { - + it("soma de 2 + 3 = 5", () => { expect(sum(2, 3)).toEqual(5); - }) + }); + + it("soma de 2 + 2 = 12", () => { + expect(sum(2, 2)).toEqual(12); + }); });