Skip to content

Entrega exercício da semana 1 - Teste Drive Developmente (TDD)#29

Open
carolmarquezini wants to merge 5 commits into
reprograma:mainfrom
carolmarquezini:main
Open

Entrega exercício da semana 1 - Teste Drive Developmente (TDD)#29
carolmarquezini wants to merge 5 commits into
reprograma:mainfrom
carolmarquezini:main

Conversation

@carolmarquezini

@carolmarquezini carolmarquezini commented Jun 29, 2023

Copy link
Copy Markdown

Exercício da semana 1 - Teste Drive Developmente (TDD)

Conta bancária - implementando TDD

  • Verificar saldo:
    • Verifica se o consultar salto retorna saldo + limite.
  • Verificar saque:
    • Quando o saldo for maior que o valor do saque, subtrai do saldo e mantem o limite.
    • Quando o saldo for menor e limete maior que o valor do saque, subtrai do limite.
  • Verificar deposito:
    • Atualiza o saldo quando o limite ainda não foi usado.
    • Atualiza o valor do limite quando o saldo está zerado e o limite já foi usado.
    • Atualiza o valor do limite e o saldo.

Como executar teste

npm test-conta-bancaria

Resultado:

Test Suites: 1 failed, 1 total
Tests:       1 failed, 5 passed, 6 total
Snapshots:   0 total
Time:        0.617 s, estimated 1 s

@debbsgomes debbsgomes left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Parabéns em finalizar o exercício :)

(para mais e para menos) ou desativado. Use a abordagem Red - Green - Refactor para desenvolver
essa aplicação.
*/
function ContaBancaria(nome, saldo, limite) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eu teria feito uma const ContaBancaria ao invés de uma função, e sem passar os parâmetros na função. Mas curti a lógica usada aqui também.

this.limite = limite;
}

const limiteMax = 300;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Acho que os limites como valores eram pra ser definidos no teste em si, aqui seria somente um código de como funciona uma conta bancária, mas sem os valores.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

boa, não tinha pensado por esse lado, acabei atribuindo o valor na variável para conseguir trabalhar com as condições. Vou repensar como fazer a partir daqui ...

obrigada pelo toque!!!

const limiteMax = 300;
const limiteMin = 0;

function depositar(conta, valorDeposito) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curti que a lógica que você usou para o deposito é a mesma que usei para o saque e meio que as duas coisas funcionam, rs.


function sacar(conta, valorSaque) {

if (conta.saldo >= valorSaque) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Acredito que faltou o else também de caso usasse o limite e o saldo juntos, tipo, limite é 50, saldo é 50, mas se faz uma compra de 70. Não sei se não vi, mas acho q teria q ter isso.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

esse é um ponto que fiquei presa porque não estou conseguindo pensar como fazer o else, as formas como eu estava tentando não estavam dando certo.

function consultarSaldo(conta) {
return conta.saldo + conta.limite
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Não tinha que ter uma função de desabilitar o limite também? Fora isso boa lógica no código e sério, adorei a lógica que fiz pro saque sendo usada no deposito.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tinha sim, eu esqueci desse item rss mandei mal ...

muito obrigada pelos comentários, gostei bastante.

@debbsgomes debbsgomes left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:)


const { ContaBancaria, consultarSaldo, sacar, depositar } = require('./contaBancaria')

describe("Verificar saldo", () => {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mas saldo não é diferente de limite? Mas se a intenção era testar os 2 juntos ok.

})
})

describe("Verificar saque", () => {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curti o jeito que fez a lógica no código, o que você escreveu em 3 linhas acho que fiz 5.

})
})

describe("Verificar deposito", () => {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nossa, código mega limpo de novo, congrats...

@Marianaliima Marianaliima left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

olá, primeiramente parabéns pela entrega, sua colega de turma comentou alguns pontos que concordo sobre seu código. Também seria interessante o uso de beforeEach porque ai não iria precisar instanciar sempre a função em cada teste.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants