Esempio n. 1
0
    def _cadastro(preco=random.randint(10, 30000)):
        """Cria um produto e realiza o cadastro no servidor

        Args:
            preco (int, optional): Preço do produto (aleátorio por padrão)

        Returns:
            (dict) = Dicionário com os dados do produto cadastrado
        """
        produto = Produto(preco)

        headers = {"Authorization": f"{get_auth_token()}"}
        response = requests.post(url_produtos, json={
            "nome": produto.nome,
            "preco": produto.preco,
            "descricao": produto.descricao,
            "quantidade": produto.quantidade
        }, headers=headers)

        return {
            "nome": produto.nome,
            "preco": produto.preco,
            "descricao": produto.descricao,
            "quantidade": produto.quantidade,
            '_id': response.json()['_id']
        }
Esempio n. 2
0
def produto():
    query = Produto.select().dicts()
    itens = []
    for item in query:
        itens.append(item)

    return jsonify(itens)
Esempio n. 3
0
    def salvar(self):
        try:
            self.produto_atual = Produto()
            self.atualizar_dados_produto_atual()
            ProdutoService.salvar_ou_atualizar(self.produto_atual)
            messagebox.showinfo("Sucesso", "Produto salvo com sucesso!")
            self.app_main.destroy()

        except peewee.IntegrityError:
            messagebox.showerror(
                "Cadastro duplicado!",
                "Já existe um produto cadastrado com esses dados!")
        except Exception as e:
            messagebox.showerror("Erro", e)
Esempio n. 4
0
def produto_editar(produto_id):
    if request.method == 'GET':
        query = Produto.select().where(Produto.id == produto_id).dicts()
        itens = []
        for item in query:
            itens.append(item)

        print(itens)

        return jsonify(itens)

    else:
        info_frontend = request.get_json()
        q = (Produto.update({
            Produto.produto_nome:
            info_frontend['produto_nome'],
            Produto.produto_descricao:
            info_frontend['produto_descricao'],
            Produto.produto_valor:
            info_frontend['produto_valor'],
        }).where(Produto.id == produto_id))
        q.execute()
    return None
Esempio n. 5
0
    def test_cadastrar_produto_com_token_invalido(self, faker, url_produtos):
        produto = Produto()

        headers = {"Authorization": f"{faker.uuid4()}"}

        resposta = requests.post(
            url_produtos, json={
                "nome": produto.nome,
                "preco": produto.preco,
                "descricao": produto.descricao,
                "quantidade": produto.quantidade
            }, headers=headers)

        resposta_de_erro = resposta.json()
        assert resposta.status_code == 401
        assert resposta_de_erro["message"] == "Token de acesso ausente, inválido, expirado ou usuário do token não existe mais"
Esempio n. 6
0
    def test_cadastrar_produto(self, url_produtos, get_auth_token):
        produto = Produto()

        headers = {"Authorization": f"{get_auth_token()}"}

        resposta = requests.post(url_produtos, json={
            "nome": produto.nome,
            "preco": produto.preco,
            "descricao": produto.descricao,
            "quantidade": produto.quantidade
        }, headers=headers)

        resposta_de_sucesso = resposta.json()
        assert resposta.status_code == 201
        assert resposta_de_sucesso["message"] == "Cadastro realizado com sucesso"
        assert "_id" in resposta_de_sucesso
Esempio n. 7
0
    def test_editar_produto_com_id_nao_encontrado(self, faker, url_produtos,
                                                  get_auth_token):
        produto = Produto()
        produto_id = faker.uuid4()

        headers = {"Authorization": f"{get_auth_token()}"}

        resposta = requests.put(url_produtos + f'/{produto_id}',
                                json={
                                    "nome": produto.nome,
                                    "preco": produto.preco,
                                    "descricao": produto.descricao,
                                    "quantidade": produto.quantidade
                                },
                                headers=headers)

        resposta_de_sucesso = resposta.json()
        assert resposta.status_code == 201
        assert resposta_de_sucesso[
            "message"] == "Cadastro realizado com sucesso"
Esempio n. 8
0
    def test_cadastrar_produto_com_usuario_comum(self, url_produtos, url_login):
        resposta = requests.post(url_login, json={
            "email": self.usuario["email"],
            "password": self.usuario["password"]
        })
        resposta_de_sucesso = resposta.json()

        produto = Produto()

        headers = {"Authorization": f'{resposta_de_sucesso["authorization"]}'}

        resposta = requests.post(
            url_produtos, json={
                "nome": produto.nome,
                "preco": produto.preco,
                "descricao": produto.descricao,
                "quantidade": produto.quantidade
            }, headers=headers)

        resposta_de_erro = resposta.json()
        assert resposta.status_code == 403
        assert resposta_de_erro["message"] == "Rota exclusiva para administradores"
Esempio n. 9
0
 def pesquisar_produto_pelo_id(id_produto):
     return Produto.get_by_id(id_produto)
Esempio n. 10
0
 def pesquisar_produto_pelo_codigo(codigo_produto):
     try:
         return Produto.select().where(
             Produto.codigo_sap == codigo_produto).get()
     except peewee.DoesNotExist:
         return None
Esempio n. 11
0
 def listar_produtos():
     return Produto.select()
Esempio n. 12
0
def produto_excluir(produto_id):
    Produto.delete_by_id(produto_id)

    return None
Esempio n. 13
0
def produto_criar():
    Produto.create(**request.get_json()).save()

    return None