Skip to content

T-101 - Manter o histórico recente e os atalhos da sidebar consistentes durante o fluxo da regra #170

Description

@pedro-fs-garcia

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.
Image Image

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

  1. Abrir /jobs/{id} por envio do formulário ou navegação direta.
  2. Comparar a seção Recentes e as contagens de Salvas/Arquivadas nas duas telas.
  3. Abrir /jobs/{id}/finalizar, quando o estado do job permitir, e repetir a comparação.
  4. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions