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)
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