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)
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)
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())
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')
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})
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 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())
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))
def ver_carrinho(request): carrinho = carrinho_service.get_carrinho_usuario(request.user) return render(request, 'cliente/carrinho.html', {'carrinho': carrinho})
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('/')