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
 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
 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
 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
 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
 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
 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
 def test_instanciar_objeto_somente_ean(self):
     objeto = Produto(ean='12345678911')
     assert objeto.ean, '12345678911'
     assert objeto._preco == 0
Exemple #9
0
 def add_estoque(self, ean, preco, quantidade):
     if not self._produto_exist(ean):
         if quantidade < 0:
             quantidade = 0
         self._estoque.update(
             {ean: Produto(ean=ean, preco=preco, quantidade=quantidade)})
 def test_str_repr(self):
     objeto = Produto(ean='123')
     assert str(objeto) == '123'
     assert repr(objeto) == 'Produto:123'
 def test_setters(self):
     objeto = Produto(ean='123')
     assert objeto.ean == '123'
     assert objeto.preco == 0
     objeto.preco = 100
     assert objeto.preco == 100
 def test_instanciar_objeto_preco_negativo(self):
     with pytest.raises(ValueError) as error:
         Produto(ean='12345678911', preco=-1)
     assert str(error.value) == 'Preço negativo'
Exemple #13
0
 def test_setters(self):
     objeto = Produto(ean='123')
     assert objeto.ean == '123'
     assert objeto.preco == 0 # Acessando pelo getter
     objeto.preco = 100 # Alterando o valor pelo setter
     assert objeto.preco == 100
Exemple #14
0
 def add_estoque(self, ean, preco, quantidade):
     for i in range(quantidade):
         self._estoque.append(
             Produto(ean=ean, preco=preco, quantidade=quantidade))
 def test_instanciar_objeto_sem_estoque(self):
     with pytest.raises(ValueError) as error:
         Produto(ean='12345678911', preco=10, quantidade=0)
     assert str(error.value) == 'Sem estoque'
 def test_class_declared(self):
     objeto = Produto()
     assert isinstance(objeto, Produto)
Exemple #17
0
 def comprar(self, ean):
     if ean in self._estoque and self._estoque[ean].quantidade > 0:
         self._estoque[ean].quantidade -= 1
         produto = Produto(preco=self._estoque[ean].preco, ean=ean)
         return produto
     return None