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 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)
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
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)
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)
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))
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 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 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 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
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)
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)
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)
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())