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
- Instalar o Node
- 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.