コード例 #1
0
 def test_metodo_add_item_fail(self):
     msg_erro = 'Não foi passado um objeto produto'
     with pytest.raises(TypeError) as error:
         cliente = Cliente('José da Silva')
         pedido = Pedido(cliente)
         pedido.add_item('string não produto')
     assert str(error.value) == msg_erro
コード例 #2
0
 def test_checkout_fail2(self):
     msg_erro = 'Informe um meio de pagamento'
     with pytest.raises(Exception) as error:
         pedido = Pedido(Cliente('José da Silva'))
         pedido.add_item(Produto(ean='123', preco=10))
         pedido.checkout()
     assert str(error.value) == msg_erro
コード例 #3
0
 def test_metodo_add_item(self):
     cliente = Cliente('José da Silva')
     pedido = Pedido(cliente)
     produto = Produto(ean='12345678911')
     produto2 = Produto(ean='123546')
     pedido.add_item(produto)
     pedido.add_item(produto2)
     assert len(pedido.itens) == 2
コード例 #4
0
 def test_checkout_fail(self):
     msg_erro = 'Forma de pagamento não aceita'
     with pytest.raises(Exception) as error:
         cliente = Cliente('José da Silva')
         pedido = Pedido(cliente)
         produto1 = Produto(ean='123', preco=10)
         pedido.add_item(produto1)
         pedido.checkout('marcar')
     assert str(error.value) == msg_erro
コード例 #5
0
 def test_devolver_carrinho(self):
     loja = Loja('Lojão Tabajara')
     loja.add_estoque('123', 15, 10)
     loja.add_estoque('1234', 20, 5)
     assert len(loja.estoque) == 15
     cliente = Cliente('John Doe')
     pedido = Pedido(cliente)
     pedido.add_item(loja.comprar('1234'))
     pedido.add_item(loja.comprar('123'))
     assert len(pedido.itens) == 2
     assert len(loja.estoque) == 13
     assert loja.quantidade_produtos('1234') == 4
     assert loja.quantidade_produtos('123') == 9
     loja.devolver_carrinho(pedido)
     assert len(pedido.itens) == 0
     assert len(loja.estoque) == 15
コード例 #6
0
 def test_checkout(self):
     cliente = Cliente('José da Silva')
     pedido = Pedido(cliente)
     pedido.add_item(Produto(ean='123', preco=10))
     pedido.add_item(Produto(ean='123546', preco=5))
     pedido.add_item(Produto(ean='123', preco=10))
     checkout = pedido.checkout('dinheiro')
     assert len(checkout) == 2
     assert checkout[1] == 25
コード例 #7
0
 def test_nota_fiscal(self):
     cliente = Cliente('José da Silva')
     pedido = Pedido(cliente)
     pedido.add_item(Produto(ean='123', preco=10))
     pedido.add_item(Produto(ean='123546', preco=5))
     pedido.add_item(Produto(ean='123', preco=10))
     nota_fiscal = pedido.nota_fiscal()
     assert len(nota_fiscal) == 2
     assert type(nota_fiscal[0]) == tuple
コード例 #8
0
 def test_quantidade_produto_no_pedido(self):
     cliente = Cliente('José da Silva')
     pedido = Pedido(cliente)
     pedido.add_item(Produto(ean='123'))
     pedido.add_item(Produto(ean='123546'))
     pedido.add_item(Produto(ean='123'))
     pedido.add_item(Produto(ean='123'))
     assert pedido.quantidade_produto_no_pedido('123') == 3
     assert pedido.quantidade_produto_no_pedido('123546') == 1
     assert pedido.quantidade_produto_no_pedido('9999') == 0
コード例 #9
0
 def test_valor_total_pagar(self):
     cliente = Cliente('José da Silva')
     pedido = Pedido(cliente)
     pedido.add_item(Produto(ean='123', preco=20))
     pedido.add_item(Produto(ean='1234', preco=40))
     assert pedido.valor_total_pagar() == 60