CAIXA DA LANCHONETE

Sistema de caixa registradora. utilizei de alguns padrões de projetos, Repository e "S" de SOLID

CARDÁPIO

codigo descrição valor
cafe Café R$ 3,00
chantily Chantily (extra do Café) R$ 1,50
suco Suco Natural R$ 6,20
sanduiche Sanduíche R$ 6,50
queijo Queijo (extra do Sanduíche) R$ 2,00
salgado Salgado R$ 7,25
combo1 1 Suco e 1 Sanduíche R$ 9,50
combo2 1 Café e 1 Sanduíche R$ 7,50

FORMAS DE PAGAMENTO

Atualmente a Lanchonete aceita as seguintes formas de pagamento:

  • dinheiro
  • debito
  • credito

O sistema deve receber essa informação como string, utilizando a grafia exatamente igual aos exemplos acima.

DESCONTOS E TAXAS

  • Pagamento em dinheiro tem 5% de desconto
  • Pagamento a crédito tem acréscimo de 3% no valor total

REGRAS

  • Caso item extra seja informado num pedido que não tenha o respectivo item principal, apresentar mensagem "Item extra não pode ser pedido sem o principal".
  • Combos não são considerados como item principal.
  • É possível pedir mais de um item extra sem precisar de mais de um principal.
  • Se não forem pedidos itens, apresentar mensagem "Não há itens no carrinho de compra!"
  • Se a quantidade de itens for zero, apresentar mensagem "Quantidade inválida!".
  • Se o código do item não existir, apresentar mensagem "Item inválido!"
  • Se a forma de pagamento não existir, apresentar mensagem "Forma de pagamento inválida!"

INSTALANDO E RODANDO NA SUA MÁQUINA

  1. Instalar o Node
  2. Instalar dependencias do projeto com o seguinte comando:
npm install

VALIDANDO A SOLUÇÃO

o projeto já contém alguns cenários de testes para auxiliar na validação da sua solução. você pode criar mais casos de teste para aumentar a confiabilidade de sua implementação. Para testar sua solução com os cenários já criados, basta rodar o seguinte comando:

npm test

Para saber mais consulte a Documentação do Jest.

IMAGENS

imagem 01 do projeto imagem 02 do projeto