From 8475c38a23231aca9f99a844099a36b0b184730c Mon Sep 17 00:00:00 2001 From: Matheus Nespolo Date: Tue, 6 Oct 2026 14:02:07 -0300 Subject: [PATCH] Documenta arquitetura e testes do projeto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Atualiza a documentação principal do repositório para refletir a nova estrutura do firmware Arduino/ESP32, os módulos de teste e os documentos de arquitetura, frontend e divulgação. Também registra no changelog a expansão da cobertura E2E do dashboard, incluindo os novos casos de comandos recusados, sem estoque, reconexão e API status. A nota menciona que uma execução parcial registrou 31 testes passando com 2 falhas, e que a suíte completa ainda não foi revalidada após a última correção. --- README.md | 20 +++++++++++++++----- docs/CHANGELOG.md | 2 ++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2a790c3..9322f42 100644 --- a/README.md +++ b/README.md @@ -172,11 +172,17 @@ Diferente do modo real, os tempos de verificação/acionamento/entrega são temp DataFlowInventory/ ├── arduino/ │ └── data_flow_inventory/ -│ └── data_flow_inventory.ino # Código Arduino (FSM + Serial JSON) +│ ├── data_flow_inventory.ino # Sketch do Arduino (setup/loop) +│ ├── config.h # Pinos, prazos por esteira e constantes +│ └── src/ +│ ├── logica/ # FSM, supervisor de entrega, protocolo, filtro, telas (testável em g++) +│ └── hw/ # Motores, sensores, LCD, comunicação e diagnóstico │ ├── esp32/ -│ └── gateway_mqtt/ -│ └── gateway_mqtt.ino # Código ESP32 (Serial ↔ MQTT) +│ ├── gateway_mqtt/ +│ │ ├── gateway_mqtt.ino # Código ESP32 (Serial ↔ MQTT) +│ │ └── secrets.h.example # Modelo das credenciais (secrets.h não versionado) +│ └── test_mqtt_cloud/ # Sketch de teste de conexão com o HiveMQ Cloud │ ├── server/ │ ├── package.json # Dependências Node.js @@ -208,8 +214,9 @@ DataFlowInventory/ │ ├── esteira_peca_b/ # Teste 5: duas esteiras (A+B) com FSM completa │ ├── mqtt_probe/ # Sonda MQTT (escuta dataflow/# com timestamp) │ ├── server_metrics/ # Testes das métricas e da infra de observabilidade (sem Docker) -│ ├── frontend/ # Testes unitários do frontend -│ └── frontend_smoke/ # Testes de fumaça com Playwright +│ ├── firmware_uno/ # Testes da lógica do Uno (g++ + Makefile, tempo simulado) +│ ├── frontend/ # Testes unitários do frontend (node --test) +│ └── frontend_smoke/ # Testes E2E com Playwright (portas 3100–3102) │ ├── docs/ │ ├── ARCHITECTURE.md # Referência técnica única (arquitetura, tópicos, mensagens, observabilidade) @@ -217,6 +224,9 @@ DataFlowInventory/ │ ├── CI-CD.md, CHANGELOG.md # Pipelines e histórico de mudanças │ ├── INTEGRATION_GUIDE.md # Integração Beckhoff CX9240 │ ├── broker_local_mosquitto.md # Teste local com Mosquitto (sem nuvem) +│ ├── FRONTEND.md # Guia do dashboard e da estrutura do frontend +│ ├── DIVULGACAO.md # Material de divulgação do projeto +│ ├── cards_comments/ # Comentários dos cards de planejamento │ ├── grafana/ # Dashboards versionados │ ├── artigo/ │ │ └── Projeto de pesquisa - Final.docx # Documentação acadêmica diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 46f5025..2b99acb 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -15,6 +15,8 @@ Convenção de seções: `Adicionado`, `Alterado`, `Corrigido`, `Segurança`, `R ### Adicionado - **Cobertura E2E do dashboard (card #27):** Playwright agora valida feedback de comandos ocupados/inválidos/limitados, estoque esgotado e recuperação por reset, reconexão WebSocket sincronizando estado, e `/api/status` nos modos servidor sem broker e simulador. O simulador aceita `ESTOQUE_INICIAL` (padrão 15) para testes isolados; execução documentada em `docs/CI-CD.md` e `CONTRIBUTING.md`. + - 8 testes novos: 3 em `comandos-recusados` (sistema ocupado, peça inválida, rate limit), 1 em `sem-estoque`, 1 de reconexão em `resiliencia` e 3 em `api-status` (503 do servidor sem broker, recusa com broker offline, 404 do simulador). Suíte serial (`workers: 1`), portas 3100–3102; em CI, 1 retentativa e `maxFailures: 3` + - **Validação parcial:** uma execução registrou 31 testes passando e 2 falhas; os testes novos e o cenário de rate limit passaram isoladamente. A suíte completa **ainda não foi reexecutada** após a última correção, portanto não há confirmação de execução totalmente verde ### Alterado