def testProdutoEmDoisSupermercadosProdutosDiferentes(self): produto1 = gerar_produto_randomico(categoria=self.categoria) produto2 = gerar_produto_randomico(categoria=self.categoria) gerar_produto_supermercado(produto1, supermercado=self.super1) gerar_produto_supermercado(produto2, supermercado=self.super2) dados = list(get_produtos_que_estejam_em_dois_supermercados(self.super1, self.super2)) self.assertEqual(len(dados), 0)
def testProdutoEmDoisSupermercadosUmProduto(self): produto1 = gerar_produto_randomico(categoria=self.categoria) gerar_produto_supermercado(produto1, preco=20, supermercado=self.super1) gerar_produto_supermercado(produto1, preco=10, supermercado=self.super2) dados = list(get_produtos_que_estejam_em_dois_supermercados(self.super1, self.super2)) self.assertEqual(len(dados), 1) self.assertEqual(dados[0]['produto'], produto1) self.assertEqual(dados[0]['ps1'].preco, 20) self.assertEqual(dados[0]['ps2'].preco, 10)
def testProdutoEmDoisSupermercadosAlgunsProduto(self): produto1 = gerar_produto_randomico(categoria=self.categoria) produto2 = gerar_produto_randomico(categoria=self.categoria) produto3 = gerar_produto_randomico(categoria=self.categoria) produto4 = gerar_produto_randomico(categoria=self.categoria) produto5 = gerar_produto_randomico(categoria=self.categoria) gerar_produto_supermercado(produto1, supermercado=self.super1) gerar_produto_supermercado(produto2, supermercado=self.super1) gerar_produto_supermercado(produto3, supermercado=self.super1) gerar_produto_supermercado(produto2, supermercado=self.super2) gerar_produto_supermercado(produto3, supermercado=self.super2) gerar_produto_supermercado(produto4, supermercado=self.super2) gerar_produto_supermercado(produto5, supermercado=self.super2) dados = list(get_produtos_que_estejam_em_dois_supermercados(self.super1, self.super2)) self.assertEqual(len(dados), 2) for da in dados: self.assertTrue(da['produto'] in [produto2, produto3])
def comparar_supermercados(request): if 'ids' in request.GET: try: supermercados = request.GET.getlist('ids') supermercado_1 = Supermercado.objects.get(id=int(supermercados[0])) supermercado_2 = Supermercado.objects.get(id=int(supermercados[1])) except (KeyError, Supermercado.DoesNotExist): supermercados = Supermercado.objects.all()[:2] supermercado_1 = supermercados[0] supermercado_2 = supermercados[1] else: supermercados = Supermercado.objects.all()[:2] supermercado_1 = supermercados[0] supermercado_2 = supermercados[1] produtos = produto_repository.get_produtos_que_estejam_em_dois_supermercados(supermercado_1, supermercado_2) return render(request, 'cliente/comparacao_supermercados.html', {'produtos': produtos, 's1': supermercado_1, 's2': supermercado_2})
def testProdutoEmDoisSupermercadosVazio(self): dados = list(get_produtos_que_estejam_em_dois_supermercados(self.super1, self.super2)) self.assertEqual(len(dados), 0)