testes/.agent/project/WORKSPACE_FRONTEND_TESTING_...

14 KiB

Guia de Testes Frontend - Workspace

Este documento fornece um guia completo para testar o ambiente Workspace focando exclusivamente no frontend, já que o ambiente ainda não possui comunicação com o backend.


Contexto

O ambiente Workspace utiliza dados mockados armazenados nos hooks (useContasReceber, useContasPagar, useConciliacaoV2). Todas as operações (criar, editar, deletar) são realizadas localmente no estado do React, sem chamadas à API.


Ambiente de Teste

  • URL: https://dev.workspace.itguys.com.br/plataforma/workspace/login
  • Login: itguys
  • Senha: itguys@2026

Checklist de Testes Frontend

1. Autenticação (Validação Local)

1.1 Login

  • Acessar URL de login
  • Verificar que campos de usuário e senha estão presentes
  • Verificar que botão "Entrar" está desabilitado quando campos estão vazios
  • Preencher apenas usuário → botão continua desabilitado
  • Preencher apenas senha → botão continua desabilitado
  • Preencher ambos os campos → botão fica habilitado
  • Clicar no ícone de olho → senha é mostrada/ocultada
  • Inserir credenciais válidas (itguys / itguys@2026)
  • Clicar em "Entrar"
  • Verificar que spinner de loading aparece
  • Verificar redirecionamento para tela principal após ~800ms
  • Verificar que sidebar aparece
  • Verificar que conteúdo principal aparece

1.2 Validação de Erro

  • Fazer logout (se possível) ou limpar sessionStorage
  • Tentar login com credenciais inválidas
  • Verificar que mensagem de erro aparece: "Usuário ou senha de acesso inválida."
  • Verificar que mensagem tem estilo visual de erro (vermelho, ícone de alerta)
  • Verificar que campos não são limpos após erro
  • Corrigir credenciais e tentar novamente → login deve funcionar

2. Navegação e Layout

2.1 Sidebar

  • Verificar que sidebar está visível após login
  • Verificar largura da sidebar (280px expandida)
  • Clicar no botão de colapsar → sidebar reduz para 100px
  • Verificar que apenas ícones são mostrados quando colapsada
  • Expandir novamente → sidebar volta para 280px
  • Verificar que conteúdo principal ajusta margem (ml-[280px] ou ml-[100px])

2.2 Navegação entre Módulos

  • Clicar em "Receitas (Entradas)" → view muda para ContasReceberView
  • Verificar que header mostra "Financeiro / Receitas"
  • Clicar em "Despesas (Saídas)" → view muda para ContasPagarView
  • Verificar que header mostra "Financeiro / Despesas"
  • Clicar em "Conciliação Bancária" → view muda para ConciliacaoView
  • Verificar que header mostra "Financeiro / Conciliação"
  • Verificar que transições são suaves (sem travamentos)

2.3 Header

  • Verificar que header está fixo no topo (sticky top-0)
  • Verificar que header mostra breadcrumb correto
  • Verificar que toggle de tema (dark/light) funciona
  • Verificar que header não sobrepõe conteúdo ao fazer scroll

3. Módulo Receitas (Entradas)

3.1 Navegação entre Sub-módulos

  • Verificar que sub-navegação aparece abaixo do título
  • Clicar em "CRUZAMENTO" → conteúdo muda
  • Clicar em "ENTRADAS PLANEJADAS" → conteúdo muda
  • Clicar em "BOLETOS" → conteúdo muda
  • Clicar em "CLIENTES" → conteúdo muda
  • Clicar em "SERVIÇOS" → conteúdo muda
  • Verificar que botão ativo tem estilo diferente (fundo, borda)

3.2 Entradas Planejadas

  • Verificar que tabela de estimativas é exibida
  • Verificar que dados mockados aparecem na tabela
  • Clicar em uma linha da tabela → painel detalhado abre
  • Verificar que painel ocupa 50% da tela em desktop
  • Verificar que painel ocupa 100% da tela em mobile
  • Verificar que tabela permanece parcialmente visível em desktop
  • Clicar no botão "X" → painel fecha
  • Clicar no backdrop (mobile) → painel fecha
  • Clicar em "Novo" → dialog de criação abre
  • Preencher formulário de estimativa
  • Verificar que botão "Salvar" está desabilitado se campos obrigatórios vazios
  • Preencher todos os campos obrigatórios
  • Clicar em "Salvar" → dialog fecha, nova estimativa aparece na tabela
  • Clicar em uma estimativa existente → dialog de edição abre com dados preenchidos
  • Modificar dados e salvar → tabela atualiza
  • Testar filtro por status (Rascunho, Enviada, Aprovada)
  • Testar busca por texto (filtra localmente)

3.3 Clientes

  • Navegar para sub-módulo "CLIENTES"
  • Verificar que tabela de clientes é exibida
  • Clicar em um cliente → painel detalhado abre
  • Verificar que painel mostra todas as abas (Visão Geral, Comentários, Transações, E-mails, Extrato, Faturas, Serviços/Produtos)
  • Navegar entre abas → conteúdo muda
  • Verificar que dados do cliente são exibidos corretamente
  • Clicar em "Editar" → dialog de edição abre
  • Modificar dados e salvar → painel atualiza
  • Testar busca de clientes (filtra localmente)

3.4 Serviços

  • Navegar para sub-módulo "SERVIÇOS"
  • Verificar que tabela de serviços é exibida
  • Clicar em "Novo" → dialog de criação abre
  • Preencher formulário e salvar → novo serviço aparece na tabela
  • Clicar em "Editar" em um serviço → dialog de edição abre
  • Modificar e salvar → tabela atualiza
  • Clicar em "Deletar" → confirmação aparece, serviço é removido

3.5 Boletos

  • Navegar para sub-módulo "BOLETOS"
  • Verificar que tabela de boletos é exibida
  • Verificar que filtros por tipo funcionam
  • Testar busca de boletos
  • Verificar que ações (Download, Enviar, Agendar) estão presentes

4. Módulo Despesas (Saídas)

4.1 Navegação entre Sub-módulos

  • Verificar sub-navegação (Fornecedores, Despesas, Cruzamento)
  • Navegar entre sub-módulos → conteúdo muda

4.2 Fornecedores

  • Navegar para "FORNECEDORES"
  • Verificar que tabela de fornecedores é exibida
  • Clicar em um fornecedor → painel detalhado abre
  • Verificar que painel mostra abas (Visão Geral, Despesas, etc.)
  • Clicar em "Novo" → dialog de criação abre
  • Preencher formulário e salvar → novo fornecedor aparece
  • Testar busca de fornecedores

4.3 Despesas

  • Navegar para "DESPESAS"
  • Verificar que tabela de despesas é exibida
  • Clicar em uma despesa → painel detalhado abre
  • Verificar que painel mostra lançamentos contábeis (diário)
  • Verificar que seção de upload de recibos está presente
  • Clicar em "Novo" → dialog de criação abre
  • Preencher formulário (data, conta, fornecedor, montante, etc.)
  • Verificar que botão salvar valida campos obrigatórios
  • Salvar → nova despesa aparece na tabela
  • Testar filtro por status (Faturável, Não Faturável, Pendente, Pago)
  • Testar busca de despesas

4.4 Cruzamento de Despesas

  • Navegar para "CRUZAMENTO"
  • Verificar que gráfico "Planejado vs Executado" é exibido
  • Verificar que gráfico tem altura adequada (não muito grande)
  • Verificar que tabelas comparativas são exibidas
  • Verificar que dados são calculados corretamente

5. Módulo Conciliação

5.1 Navegação Hierárquica

  • Navegar para "Conciliação"
  • Verificar que sub-navegação aparece (Transações Conciliadas, Não Categorizadas, Gerenciamento)
  • Clicar em "Transações Conciliadas"
  • Verificar que nível 0 (Caixas) é exibido
  • Verificar que gráfico de Pizza é exibido
  • Clicar em um caixa → nível 1 (Categorias) é exibido
  • Verificar que gráfico muda para Bar Chart
  • Clicar em uma categoria → nível 2 (Regras/Beneficiários) é exibido
  • Verificar que gráfico muda para Horizontal Bar Chart
  • Clicar em uma regra → nível 3 (Transações) é exibido
  • Verificar que gráfico muda para Area Chart (timeline)
  • Clicar em "Voltar" → retorna ao nível anterior
  • Verificar que breadcrumb mostra caminho atual

5.2 Gráficos Dinâmicos

  • Verificar que gráficos renderizam corretamente
  • Verificar que tooltips aparecem ao passar mouse
  • Verificar que legendas são legíveis
  • Verificar que cores têm bom contraste
  • Verificar que gráficos têm largura máxima (max-w-2xl)
  • Verificar que gráficos não quebram layout

5.3 Transações Não Categorizadas

  • Clicar em "Não Categorizadas"
  • Verificar que tabela de transações é exibida
  • Clicar em "Categorizar" em uma transação
  • Verificar que dialog de categorização abre
  • Preencher formulário e salvar → transação é categorizada (localmente)

5.4 Gerenciamento

  • Clicar em "Gerenciamento"
  • Verificar que abas aparecem (Caixas, Categorias, Regras)
  • Navegar entre abas → conteúdo muda
  • Testar CRUD de caixas
  • Testar CRUD de categorias
  • Testar CRUD de regras

6. Responsividade

6.1 Mobile (375px - iPhone SE)

  • Redimensionar janela para 375px
  • Verificar que sidebar colapsa automaticamente ou fica oculta
  • Verificar que tabelas têm scroll horizontal
  • Verificar que painéis detalhados ocupam 100% da tela
  • Verificar que textos são legíveis
  • Verificar que botões são clicáveis (tamanho adequado)
  • Verificar que formulários empilham campos verticalmente
  • Verificar que dialogs são responsivos

6.2 Tablet (768px - iPad)

  • Redimensionar para 768px
  • Verificar que layout adapta corretamente
  • Verificar que grids mudam número de colunas
  • Verificar que painéis detalhados têm largura adequada

6.3 Desktop (1920px)

  • Redimensionar para 1920px
  • Verificar que layout expande bem
  • Verificar que não há espaços vazios excessivos
  • Verificar que conteúdo não fica muito largo

7. Formulários e Validações

7.1 Campos Obrigatórios

  • Abrir qualquer formulário de criação
  • Tentar salvar sem preencher campos obrigatórios
  • Verificar que botão "Salvar" está desabilitado
  • Preencher campos obrigatórios
  • Verificar que botão fica habilitado

7.2 Formatação de Dados

  • Inserir valor monetário → verificar formatação BRL
  • Inserir data → verificar formatação brasileira (DD/MM/YYYY)
  • Verificar que CPF/CNPJ são exibidos formatados (se aplicável)

7.3 Estados de Loading

  • Realizar qualquer ação que simule loading
  • Verificar que spinner aparece
  • Verificar que botões ficam desabilitados durante loading
  • Verificar que loading desaparece após ação

7.4 Feedback Visual

  • Realizar ação de sucesso (criar, editar)
  • Verificar se há mensagem de sucesso (toast, alert)
  • Realizar ação que gera erro
  • Verificar se há mensagem de erro visível

8. Performance Visual

8.1 Transições

  • Navegar entre views → verificar que transições são suaves
  • Abrir/fechar painéis → verificar animações
  • Abrir/fechar dialogs → verificar animações
  • Verificar que não há travamentos ou "lag"

8.2 Renderização

  • Carregar página inicial → verificar tempo de carregamento
  • Navegar entre módulos → verificar que conteúdo aparece rapidamente
  • Abrir tabelas grandes → verificar que renderização é rápida
  • Verificar console do navegador → não deve haver erros

8.3 Memória

  • Navegar extensivamente entre módulos
  • Abrir/fechar múltiplos painéis
  • Verificar que não há aumento drástico de uso de memória
  • Verificar que não há memory leaks (performance tab do DevTools)

Problemas Comuns e Como Testar

Problema: Painel detalhado não abre

Teste: Clicar em item da tabela → verificar que selectedItem é setado → verificar que drawer renderiza

Problema: Formulário não valida

Teste: Tentar salvar com campos vazios → verificar que botão está desabilitado → verificar lógica de validação

Problema: Dados não atualizam após ação

Teste: Criar item → verificar que estado local é atualizado → verificar que tabela re-renderiza

Problema: Layout quebra em mobile

Teste: Redimensionar para 375px → verificar que elementos não saem da tela → verificar scroll horizontal


Ferramentas de Teste Recomendadas

  1. DevTools do Navegador:

    • Console (erros JavaScript)
    • Network (verificar que não há chamadas de API)
    • Performance (medir renderização)
    • Lighthouse (métricas gerais)
  2. Responsive Design Mode:

    • Chrome DevTools → Toggle device toolbar
    • Testar em diferentes resoluções
  3. React DevTools:

    • Verificar estado dos componentes
    • Verificar props passadas
    • Verificar re-renders

Critérios de Sucesso

Um teste é considerado bem-sucedido quando:

  1. Interface responde corretamente às interações
  2. Validações de formulário funcionam no frontend
  3. Estados visuais (loading, erro, sucesso) são exibidos
  4. Dados são atualizados localmente após ações
  5. Layout não quebra em diferentes resoluções
  6. Não há erros no console do navegador
  7. Performance é aceitável (sem travamentos)

Notas Importantes

  • Não há comunicação com backend: Todas as ações são locais (estado React)
  • Dados são mockados: Os dados vêm dos hooks, não de API
  • Persistência: Dados não persistem após refresh (são mockados)
  • Foco: Testar UI/UX, interações, validações e responsividade

Guia criado para testes frontend do ambiente Workspace. Última atualização: 2026-01-24