示例#1
0
def pagina_compra(request):
    produtos = carrinho_service.get_carrinho_usuario(request.user).produtocarrinho_set.all()
    compra = compras_service.gerar_compra(request.user.consumidor,
                                          produtos)
    carrinho_service.gerar_lista_de_compras(carrinho_service.get_carrinho_usuario(request.user))
    return redirect('marketapp.views.cliente.completar_compra',
                    compra_id=compra.id)
示例#2
0
 def test_limpar_carrinho(self):
     produto = gerar_produto_randomico(categoria=self.categoria)
     produto_supermercado = gerar_produto_supermercado(produto,
                                                       supermercado=self.supermercado)
     adicionar_produto(self.usuario, produto_supermercado)
     self.assertEqual(len(get_carrinho_usuario(self.usuario).produtos.all()), 1)
     limpar_carrinho(self.usuario)
     self.assertEqual(len(get_carrinho_usuario(self.usuario).produtos.all()), 0)
示例#3
0
 def test_adicionar_varios_produtos_carrinho(self):
     produtos = [gerar_produto_randomico(categoria=self.categoria) for x in xrange(10)]
     pss = [gerar_produto_supermercado(p,supermercado=self.supermercado) for p in produtos]
     for ps in pss:
         adicionar_produto(self.usuario, ps)
     self.assertEqual(len(get_carrinho_usuario(self.usuario).produtos.all()), 10)
     for ps in pss:
         self.assertTrue(ps in get_carrinho_usuario(self.usuario).produtos.all())
示例#4
0
def agendar_compra_frequencia(request):
    if request.method == 'POST':
        frequencia = request.POST['frequenciaAgendada']
        services.compras.gerar_compra_recorrente(request.user.consumidor,
                                               carrinho_service.get_carrinho_usuario(request.user).produtocarrinho_set.all(),
                                               frequencia)
    return render(request, 'cliente/agendamento_frequencia.html')
示例#5
0
def agendar_compra(request):
    form = DataAgendamento()
    if request.method == 'POST':
        form = DataAgendamento(request.POST)
        if form.is_valid():
            services.compras.gerar_compra_agendada(request.user.consumidor,
                                               carrinho_service.get_carrinho_usuario(request.user).produtocarrinho_set.all(),
                                               form.cleaned_data['data_agendamento'])
            return redirect('/home-cliente')
    return render(request,
                  'cliente/agendamento.html',
                  {'form': form})
示例#6
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)
示例#7
0
 def test_adicionar_produto_carrinho(self):
     produto = gerar_produto_randomico(categoria=self.categoria)
     produto_supermercado = gerar_produto_supermercado(produto,
                                                       supermercado=self.supermercado)
     adicionar_produto(self.usuario, produto_supermercado)
     self.assertTrue(produto_supermercado in get_carrinho_usuario(self.usuario).produtos.all())
示例#8
0
 def test_unicidade_carrinho(self):
     carrinho = get_carrinho_usuario(self.usuario)
     self.assertEqual(carrinho, get_carrinho_usuario(self.usuario))
     carrinho = get_carrinho_usuario(self.usuario)
     self.assertEqual(carrinho, get_carrinho_usuario(self.usuario))
示例#9
0
def ver_carrinho(request):
    carrinho = carrinho_service.get_carrinho_usuario(request.user)
    return render(request,
                  'cliente/carrinho.html',
                  {'carrinho': carrinho})
示例#10
0
def gerar_lista(request):
    nome_lista = request.POST.get('nome', '')
    carrinho_service.gerar_lista_de_compras(carrinho_service.get_carrinho_usuario(request.user),
                                            nome_lista)
    carrinho_service.limpar_carrinho(request.user)
    return redirect('/')