Implementar uma tarefa do encurtador de links
Siga estas etapas em ordem. Pare e pergunte se a tarefa não estiver clara ou precisar de algo listado
sob "Pergunte a uma pessoa antes" em AGENTS.md.
-
Leia. Abra
AGENTS.md, a tarefa escolhida emdocs/TASKS.mdetests/AGENTS.md. Trabalhe apenas nessa tarefa. -
Inspecione. Leia
main.py(a tabela,encode(), o modelo de requisição e ambas as rotas) etests/test_main.py. Anote tudo com que a tarefa interage, por exemplo como os códigos são gerados ou como o banco de dados é compartilhado entre execuções. -
Declare o plano. Antes de editar, escreva:
- o comportamento esperado, incluindo códigos de status e corpos de resposta para sucesso e cada falha;
- os arquivos que você irá alterar;
- casos de borda (entrada vazia ou estranha, colisões com códigos existentes, valores que se repetem).
-
Escreva um teste que falha. Adicione testes comportamentais em
tests/test_main.pyseguindotests/AGENTS.md: pelo menos um caso de sucesso e um de falha. Execute-os e confirme que eles falham pelo motivo certo (a funcionalidade está faltando, não é um erro de digitação):pytest tests/test_main.py -k <novo_nome_do_teste> -
Implemente a menor mudança em
main.pyque faça os testes passarem. Mantenha o comportamento existente e os formatos de resposta. Se a tabela precisar de uma nova coluna, adicione-a de forma que umlinks.dbexistente ainda funcione (ou explique por que ele deve ser recriado). -
Execute tudo.
pytestTodos os testes originais e novos devem passar. Corrija e execute novamente até que passem.
-
Resuma neste formato:
Tarefa: Comportamento: Arquivos alterados: Testes adicionados: Resultado do pytest: Riscos remanescentes: