示例#1
0
 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)
示例#2
0
 def test_mesmo_produto_em_apenas_2supermercados(self):
     supermercado1 = gerar_supermercado("Super1")
     supermercado2 = gerar_supermercado("Super2")
     supermercado3 = gerar_supermercado("Super3")
     produto_aleatorio1 = gerar_produto_randomico(categoria=self.categoria)
     produto_aleatorio2 = gerar_produto_randomico(categoria=self.categoria)
     ps1 = gerar_produto_supermercado(produto_aleatorio1, supermercado=supermercado1)
     ps2 = gerar_produto_supermercado(produto_aleatorio1, supermercado=supermercado2)
     ps3 = gerar_produto_supermercado(produto_aleatorio2, supermercado=supermercado3)
     dados = list(get_supermercados_produto(produto_aleatorio1))
     self.assertTrue(ps1 in dados)
     self.assertTrue(ps2 in dados)
     self.assertFalse(ps3 in dados)
示例#3
0
 def test_supermercado_errado_produto_novo(self):
     produto1 = gerar_produto_randomico(categoria=self.categoria)
     produto2 = gerar_produto_randomico(categoria=self.categoria)
     ps1 = gerar_produto_supermercado(produto1,
                                      supermercado=self.supermercado)
     supermercado2 = Supermercado.objects.create(usuario=gerar_usuario_cliente("ola"))
     ps2 = gerar_produto_supermercado(produto2, supermercado=supermercado2)
     adicionar_produto(self.usuario, ps1)
     try:
         adicionar_produto(self.usuario, ps2)
         self.fail("Excecao deveria ter sido gerada")
     except CarrinhoComOutroSupermercado:
         pass
示例#4
0
 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)
示例#5
0
 def test_supermercado_errado_pessoas_diferentes(self):
     produto1 = gerar_produto_randomico(categoria=self.categoria)
     ps1 = gerar_produto_supermercado(produto1, supermercado=self.supermercado)
     supermercado2 = Supermercado.objects.create(usuario=gerar_usuario_cliente("ola"))
     ps2 = gerar_produto_supermercado(produto1, supermercado=supermercado2)
     adicionar_produto(self.usuario, ps1)
     adicionar_produto(supermercado2.usuario, ps2)
示例#6
0
 def test_mesmo_produto_em_2supermercados(self):
     supermercado1 = gerar_supermercado("Super1")
     supermercado2 = gerar_supermercado("Super2")
     produto_aleatorio1 = gerar_produto_randomico(categoria=self.categoria)
     ps1 = gerar_produto_supermercado(produto_aleatorio1, supermercado=supermercado1)
     ps2 = gerar_produto_supermercado(produto_aleatorio1, supermercado=supermercado2)
     self.assertTrue(ps1 in get_supermercados_produto(produto_aleatorio1))
     self.assertTrue(ps2 in get_supermercados_produto(produto_aleatorio1))
示例#7
0
 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])
示例#8
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)
示例#9
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())
示例#10
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)
示例#11
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 setUp(self):
     super(TestAdicaoProduto, self).setUp()
     self.driver = webdriver.Firefox()
     self.driver.implicitly_wait(30)
     self.base_url = self.live_server_url
     self.verificationErrors = []
     gerar_produto_supermercado(gerar_produto_randomico(nome='Cafe',
                                                        categoria=self.categoria),
                                supermercado=self.supermercado)
     self.accept_next_alert = True
示例#13
0
 def test_dois_clientes_promocao(self):
     supermercado = gerar_supermercado("A")
     categoria = gerar_categoria("a", "B")
     produto = gerar_produto_randomico(categoria=categoria)
     produtosupemercado = ProdutoSupermercado.objects.create(supermercado=supermercado,
                                                             produto=produto,
                                                             preco=10,
                                                             quantidade=10)
     promocao = PromocaoCombinacao.objects.create(supermercado=supermercado,
                                                  desconto_percentual=10)
     promocao.produtos.add(produtosupemercado)
     cons = list(consumidores_promocao(promocao))
     self.assertEqual(len(cons), 0)
示例#14
0
 def test_um_cliente_promocao(self):
     supermercado = gerar_supermercado("Q")
     RegiaoAtendida.objects.create(cep_inicio="00000-000",
                                   cep_final=" 99999-999",
                                   supermercado=supermercado,
                                   preco=5,
                                   tempo=5)
     gerar_usuario_cliente("testador")
     categoria = gerar_categoria("L", "B")
     produto = gerar_produto_randomico(categoria=categoria)
     produtosupemercado = ProdutoSupermercado.objects.create(supermercado=supermercado,
                                                             produto=produto,
                                                             preco=10,
                                                             quantidade=10)
     promocao = PromocaoCombinacao.objects.create(supermercado=supermercado,
                                                  desconto_percentual=10)
     promocao.produtos.add(produtosupemercado)
     cons = list(consumidores_promocao(promocao))
     self.assertEqual(len(cons), 0)
示例#15
0
 def teste_cria_supermercado_e_produto(self):
     supermercado1 = gerar_supermercado("Super1")
     produto_aleatorio1 = gerar_produto_randomico(categoria=self.categoria)
     produto = gerar_produto_supermercado(produto_aleatorio1, supermercado=supermercado1)
     self.assertEqual("Super1", produto.supermercado.nome_exibicao)
     self.assertEqual(produto_aleatorio1, produto.produto)
示例#16
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())