feat: vincular Report a um TestRunStep e clonar report por completo #12
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/report-run-step-link-and-clone-fix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Report.run_step_id(nullable, FK paratest_run_steps, migration2ba5fb4ae623). NoRunDetail, steps com status "Falhou" ganham um botão "Abrir defeito" que navega para o formulário de novo report já preenchido com build_version, ambiente e manufaturas do run (sem round-trip extra ao backend — o contexto vai via router state). O rascunho autosalvo desse formulário usa uma chave própria por step, então não colide com um rascunho de report avulso que já estivesse em andamento. ORunDetailtambém mostra, embaixo de cada step, os reports já abertos a partir dele (Defeito #N (status)).POST /api/reports/{id}/duplicatenão clonava de verdade — perdia achados (issues), comentários gerais, dados de revisão/aprovação,hubspot_url, tags de rastreamento e reports relacionados, além de um bug que descartavatemplate_versiondos cenários copiados. Agora clona todos os campos e relações do report; as duas únicas exceções continuam sendo o status dos passos de cenário (resetado para "Não testado") e os anexos (gerais, de achados e de passos — nunca copiados).Test plan
pytest(36 testes, incluindo os 2 novos emtest_report_duplicate_and_run_link.py) passandonpm run builddo frontend sem errosdevelopantes de mergear (sem secrets/infra novos necessários — só migration + código)Adiciona Report.run_step_id (nullable, FK -> test_run_steps) para permitir "Abrir defeito" a partir de um step reprovado num Run: o RunDetail agora mostra esse botão nos steps com status Falhou, navega para o novo report já preenchido com build_version/ambiente/manufaturas do run, e mostra de volta quais reports foram abertos a partir de cada step. Também corrige /api/reports/{id}/duplicate, que não clonava de verdade (perdia achados, comentários, revisão/aprovação, tags de rastreamento e reports relacionados). Agora clona todos os campos e relações do report; as únicas exceções continuam sendo o status dos passos de cenário (volta para "Não testado") e os anexos (nunca copiados).