API de gerenciamento de tarefas com Flask, operações CRUD e testes automatizados com pytest.
Funcionalidade:
- Adicionar tarefas com titulo, descrição, status (concluída ou não).
- Buscar todas as tarefas ou uma específica por ID.
- Atualizar tarefas.
- Deletar tarefas.
-
Certifique-se de ter o Python instalado.
-
Clone este repositório:
git clone https://github.com/devnatanaelsantos/flask-task-api.git
-
Pelo terminal, acesse o diretório do projeto.
-
Instale as dependências:
pip install -r requirements.txt
- Execute a aplicação:
python app.py
- Com a aplicação em execução, abra um novo terminal, acesse o diretório do projeto e execute o comando:
pytest tests.py -v
Os testes automatizados serão executados e os resultados serão exibidos no terminal.
Recomendo testar os endpoints da API usando o Postman. Aqui estão as instruções para cada endpoint:
Método: POST
URL: http://127.0.0.1:5000/tasks
Corpo da Requisição (JSON):
{
"title": "Nova Tarefa",
"description": "Descrição da nova tarefa"
}
Retorno esperado:
{
"id": 1,
"message": "Nova tarefa criada com sucesso"
}
Método: GET
URL: http://127.0.0.1:5000/tasks
Retorno esperado:
{
"tasks": [
{
"completed": false,
"description": "Descrição da nova tarefa",
"id": 1,
"title": "Nova Tarefa"
}
],
"total_tasks": 1
}
Método: GET
URL: http://127.0.0.1:5000/tasks/{id} Substitua '{id}' pelo ID da tarefa desejada.
Retorno esperado:
{
"completed": false,
"description": "Descrição da nova tarefa",
"id": 1,
"title": "Nova Tarefa"
}
Método: PUT
URL: http://127.0.0.1:5000/tasks/{id}Substitua {id} pelo ID da tarefa a ser atualizada.
Corpo da Requisição (JSON):
{
"title": "Título atualizado",
"description": "Descrição atualizada",
"completed": true
}
Retorno esperado:
{
"message": "Tarefa atualizada com sucesso"
}
Método: DELETE
URL: http://127.0.0.1:5000/tasks/{id}Substitua {id} pelo ID da tarefa a ser deletada.
Retorno esperado:
{
"message": "Tarefa deletada com sucesso"
}