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'] }
def produto(): query = Produto.select().dicts() itens = [] for item in query: itens.append(item) return jsonify(itens)
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)
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
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"
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
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"
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"
def pesquisar_produto_pelo_id(id_produto): return Produto.get_by_id(id_produto)
def pesquisar_produto_pelo_codigo(codigo_produto): try: return Produto.select().where( Produto.codigo_sap == codigo_produto).get() except peewee.DoesNotExist: return None
def listar_produtos(): return Produto.select()
def produto_excluir(produto_id): Produto.delete_by_id(produto_id) return None
def produto_criar(): Produto.create(**request.get_json()).save() return None