def testSemPromocao(self):
     produto1 = gerar_produto_randomico(categoria=self.categoria)
     produto_supermercado1 = gerar_produto_supermercado(produto1,
                                                       supermercado=self.supermercado)
     produto2 = gerar_produto_randomico(categoria=self.categoria)
     produto_supermercado2 = gerar_produto_supermercado(produto2,
                                                       supermercado=self.supermercado)
     produto3 = gerar_produto_randomico(categoria=self.categoria)
     produto_supermercado3 = gerar_produto_supermercado(produto3,
                                                       supermercado=self.supermercado)
     a = list(promocoes_aplicaveis([produto_supermercado1,
                                    produto_supermercado2,
                                    produto_supermercado3],
                                   self.supermercado))
     self.assertEqual(len(a), 0)
 def testUmaPromocaoVazia(self):
     produto1 = gerar_produto_randomico(categoria=self.categoria)
     produto_supermercado1 = gerar_produto_supermercado(produto1,
                                                       supermercado=self.supermercado)
     produto2 = gerar_produto_randomico(categoria=self.categoria)
     produto_supermercado2 = gerar_produto_supermercado(produto2,
                                                       supermercado=self.supermercado)
     produto3 = gerar_produto_randomico(categoria=self.categoria)
     produto_supermercado3 = gerar_produto_supermercado(produto3,
                                                       supermercado=self.supermercado)
     pc1 = adicionar_produto(self.usuario, produto_supermercado1)
     pc2 = adicionar_produto(self.usuario, produto_supermercado2)
     pc3 = adicionar_produto(self.usuario, produto_supermercado3)
     promocao1 = PromocaoCombinacao.objects.create(supermercado=self.supermercado,
                                                   desconto_percentual=50)
     a = list(promocoes_aplicaveis(get_carrinho_usuario(self.usuario).produtos.all(),
                                   self.supermercado))
     self.assertEqual(len(a), 1)
Beispiel #3
0
 def total(self):
     preco = sum((p.quantidade * p.produto.preco for p in self.produtocarrinho_set.all()))
     promocoes = list(promocoes_aplicaveis(self.produtocarrinho_set.all(),
                                           self.supermercado))
     desconto = desconto_promocoes(promocoes, self.produtocarrinho_set.all())
     return float(preco) - desconto