T-101 - Manter o histórico recente e os atalhos da sidebar consistentes durante o fluxo da regra
Planejamento
- Dificuldade estimada: 3 — Médio.
- Prazo de conclusão: 24/09/2026.
- Bloqueada por: T-106, para concluir a integração e validar os contadores de Salvas e Arquivadas com a classificação corrigida. O desenvolvimento da sidebar pode começar em paralelo.
Contexto e impacto
Na revisão solicitada em #160, a PO encontrou regras na seção Recentes da sidebar em uma tela e a mensagem “Nenhuma regra criada ainda” na tela seguinte. Também relatou que não conseguiu abrir um item do histórico. Isso faz uma regra existente parecer perdida e dificulta retomar o trabalho.
Local
Sidebar compartilhada entre /nova-regra, /jobs/:id, /jobs/:id/finalizar, /salvas e /arquivadas.
Comportamento observado
- Durante a revisão da PO, a tela Nova regra exibia seis itens na seção Recentes.
- Ao avançar para a tela Simulação, a seção Recentes passava a exibir “Nenhuma regra criada ainda”, apesar dos itens que apareciam na tela anterior.
- A PO também informou que não conseguiu abrir os itens recentes. Essa falha precisa ser reproduzida no ambiente de destino: o código consultado já usa
RouterLink nos itens. Investigar o resulta- do da interação e o destino da navegação antes de atribuir a falha à ausência de um link.
Contexto técnico verificado no repositório
TheSidebar.vue recebe regrasRecentes, quantidadeSalvas e quantidadeArquivadas por propriedades e assume lista vazia/contadores zero quando elas não são passadas. FormularioRegraView.vue carrega esses dados de GET /jobs; HistoricoJobsView.vue também os fornece. SimulateView.vue e FinishView.vue renderizam a sidebar sem essas propriedades. O estado vazio nessas duas telas decorre diretamente dessa diferença. Os itens atuais apontam para /jobs/{id}.
Comportamento esperado
Para o mesmo usuário e o mesmo conjunto de jobs, a sidebar apresenta os mesmos itens recentes e contagens em todas as telas onde aparece. Cada item abre o job correspondente com mouse, toque e teclado. Estado de carregamento ou falha ao consultar o histórico não deve ser apresentado como “Nenhuma regra criada ainda”.
Passos para reprodução
- Abrir
/jobs/{id} por envio do formulário ou navegação direta.
- Comparar a seção Recentes e as contagens de Salvas/Arquivadas nas duas telas.
- Abrir
/jobs/{id}/finalizar, quando o estado do job permitir, e repetir a comparação.
- Tentar abrir um item recente com clique e com
Tab + Enter.
Critérios de aceite
- Os mesmos dados de histórico alimentam a sidebar em todas as telas do fluxo; navegar entre etapas não zera a lista nem os contadores.
- Um item recente com ID válido leva a
/jobs/{id} e a navegação funciona com teclado.
- A sidebar distingue lista realmente vazia, carregamento e erro de consulta, sem afirmar que nenhuma regra foi criada quando isso não foi confirmado.
- A lista e as contagens são atualizadas após criar ou finalizar uma regra, respeitando as categorias corrigidas na issue T-106.
- Cobrir com teste de componente ou de navegação pelo menos a transição entre formulário e simulação com um job existente e a abertura de um item.
Referências técnicas
frontend/src/components/TheSidebar.vue: propriedades da sidebar e links para os jobs.
frontend/src/features/formulario-regra/views/FormularioRegraView.vue: carregamento de recentes e contagens no formulário.
frontend/src/features/historico-jobs/views/HistoricoJobsView.vue: dados da sidebar nas listas.
frontend/src/features/simulate/views/SimulateView.vue e frontend/src/features/finish/views/FinishView.vue: pontos em que a sidebar é renderizada sem os dados de histórico.
T-101 - Manter o histórico recente e os atalhos da sidebar consistentes durante o fluxo da regra
Planejamento
Contexto e impacto
Na revisão solicitada em #160, a PO encontrou regras na seção Recentes da sidebar em uma tela e a mensagem “Nenhuma regra criada ainda” na tela seguinte. Também relatou que não conseguiu abrir um item do histórico. Isso faz uma regra existente parecer perdida e dificulta retomar o trabalho.
Local
Sidebar compartilhada entre
/nova-regra,/jobs/:id,/jobs/:id/finalizar,/salvase/arquivadas.Comportamento observado
RouterLinknos itens. Investigar o resulta- do da interação e o destino da navegação antes de atribuir a falha à ausência de um link.Contexto técnico verificado no repositório
TheSidebar.vuereceberegrasRecentes,quantidadeSalvasequantidadeArquivadaspor propriedades e assume lista vazia/contadores zero quando elas não são passadas.FormularioRegraView.vuecarrega esses dados deGET /jobs;HistoricoJobsView.vuetambém os fornece.SimulateView.vueeFinishView.vuerenderizam a sidebar sem essas propriedades. O estado vazio nessas duas telas decorre diretamente dessa diferença. Os itens atuais apontam para/jobs/{id}.Comportamento esperado
Para o mesmo usuário e o mesmo conjunto de jobs, a sidebar apresenta os mesmos itens recentes e contagens em todas as telas onde aparece. Cada item abre o job correspondente com mouse, toque e teclado. Estado de carregamento ou falha ao consultar o histórico não deve ser apresentado como “Nenhuma regra criada ainda”.
Passos para reprodução
/jobs/{id}por envio do formulário ou navegação direta./jobs/{id}/finalizar, quando o estado do job permitir, e repetir a comparação.Tab+Enter.Critérios de aceite
/jobs/{id}e a navegação funciona com teclado.Referências técnicas
frontend/src/components/TheSidebar.vue: propriedades da sidebar e links para os jobs.frontend/src/features/formulario-regra/views/FormularioRegraView.vue: carregamento de recentes e contagens no formulário.frontend/src/features/historico-jobs/views/HistoricoJobsView.vue: dados da sidebar nas listas.frontend/src/features/simulate/views/SimulateView.vueefrontend/src/features/finish/views/FinishView.vue: pontos em que a sidebar é renderizada sem os dados de histórico.