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])
Beispiel #4
0
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)