-
-
Notifications
You must be signed in to change notification settings - Fork 0
Flowchart 1 Venda Producao E2E Smokes
Documentação técnica do programa de smokes E2E amarrados ao flowchart publicado no admin (id=1, flowKey=sales-production, título Venda / produção).
Issue pai: ControleOnline/app-community#601
Fonte operacional canônica (admin): https://admin.controleonline.com/admin/flowcharts/1
API: GET https://api.controleonline.com/flowcharts/1 (e coleção /flowcharts) com headers api-token + app-domain: admin.controleonline.com. Credencial de runtime: Drive admin-api.json. Nunca versionar o token.
Esta página não substitui o catálogo genérico de fluxos de negócio. Ela documenta o vínculo operacional com o diagrama publicado e o inventário de jornadas cobertas por smoke.
- Catálogo genérico (
fluxo: <id>): Smoke Test Flows · skill smoke-test-flows.md - Gate QA de
flowchartIds+ prints: agents-mcp#177
- QA lê os flowcharts do admin e só aceita smoke de UI que declare um ou mais
flowchartIdsexistentes e enabled e tenha prints de cada etapa relevante. - Playground de smokes expõe no JSON
flowchartIdseflowchartLinks(https://admin.controleonline.com/admin/flowcharts/{id}). - Cada jornada real do diagrama id=1 tem smoke E2E executável (login ADMIN → device → troca de app → pedido no modo certo → PCP/conferência → saída/cobrança), com evidência visual persistida e manifesto.
O diagrama atravessa várias visões. Fronteiras oficiais: MODOS_OPERACAO.md.
| Visão / trecho | Papel no flowchart 1 | Módulos típicos | O que não deve assumir |
|---|---|---|---|
| MANAGER / ADMIN | Configura empresa, usuários, permissões, menus e devices (PDV, DISPLAY, PRINT) | ui-manager, ui-config, ui-common, ui-login | Não vira caixa local do POS; checkout em MANAGER usa device remoto quando aplicável |
| POS | Pedido balcão/prepaid, garçom/mesas/comandas, cobrança no PDV | ui-orders (dono), ui-common, ui-customers | Não concentra cadastro estrutural de devices nem produção |
| PPC | Filas de produção, print, conference, ready; item com/sem queue | ui-ppc, ui-orders | Não substitui cobrança do POS/CHECKOUT |
| SHOP | Catálogo cliente → carrinho → order SHOP (reuso de smoke de compra) | ui-shop, ui-orders | Não opera mesa/comanda nem PCP |
| CHECKOUT / saída | Cobrança na saída (ON CHECKOUT), multi-comanda, invoice | ui-orders, financeiro compartilhado | Não redefine política de pagamento do canal |
| DELIVERY | Entrega própria com cobrança na entrega | ui-logistic, ui-orders | Não é modo operacional de PDV; não entra em pos-operation-mode
|
Cada filha referencia a pai #601 e o flowchart id=1 (salvo quando o smoke também exercita outro id publicado). Smokes reutilizam helpers existentes (login ADMIN, device, checkout, settlement); arquivos ≤500 linhas.
| # | Jornada | Issue |
fluxo: típico do catálogo |
Trechos do diagrama (resumo) |
|---|---|---|---|---|
| 1 | QA lê /flowcharts e gate flowchartIds + prints |
agents-mcp#177 | (governança) | Gate transversal |
| 2 | Playground JSON com IDs/links de flowchart | smoke-tests-playground (filho do programa) | (infra) | Metadado de suite |
| 3 | Helpers: login ADMIN + device PDV/DISPLAY/PRINT + switch app | app-community#602 |
device-configuracao / usuario-permissao
|
ON MANAGER → configura devices |
| 4 | Single product balcão/prepaid até ready | app-community#603 | compra-fluxo |
POS balcão → checkout → order sale → PCP/ready |
| 5 | Garçom + mesas (sem comanda) | app-community#604 | pedido-criacao |
POS linkedFlow / tables |
| 6 | Garçom + mesas + comandas | app-community#605 | pedido-criacao |
linked order / tabs |
| 7 | Garçom fecha mesa e cobra no POS | app-community#606 | financeiro-cobranca |
waiterPosCharge |
| 8 | Fechamento ON CHECKOUT multi-comanda | app-community#607 | financeiro-cobranca |
exitCharge / settlement multi |
| 9 | PCP com queue (production → print → conference → ready) | app-community#608 | producao-fluxo |
ON PPC → queue → production → conference → ready |
| 10 | Item sem queue → conference (sem bypass indevido) | app-community#609 | producao-fluxo |
sem production queue → conference |
| 11 | Delivery próprio com cobrança na entrega | app-community#610 | logistica-entrega |
DELIVERY + cobrança na entrega |
| 12 | Shop prepaid até ready (reuso #302) | app-community#611 | compra-fluxo |
ON SHOP → order → ready |
Status de dual-gate e merges evoluem nas issues; esta página descreve o contrato e o mapeamento estável ao diagrama, não o changelog de cada PR.
Módulo ui-logistic, helper ownDeliveryHandoff.js:
- Não abre ON DELIVERY antes do pedido de venda
ready. - Só provider próprio (
delivery/own/internal/nossa); exclui marketplace (ifood/food99/99food). - Cobrança na entrega só com política
on_delivery/pay_at_delivery/pay_at_exit_or_delivery(e equivalentes) e invoice em aberto. - Smoke:
own-delivery-charge.spec.js; prints: ready → escolha delivery nossa → lista delivery → cobrança → closed. - Wiki do módulo: Own Delivery Handoff.
Todo smoke de UI do programa deve:
- Declarar
flowchartIds: [1](ou lista que inclua1quando a jornada for deste diagrama). - Declarar
fluxo: <id>do catálogo. - Gerar prints por etapa relevante + manifesto persistido (diretório de resultados do smoke).
- Permitir reconstruir a jornada (estado inicial → ação → feedback → estado final / integração entre módulos).
QA rejeita smoke de UI sem flowchartIds válido no admin ou sem prints por etapa (ver skill e agents-mcp#177).
O Mermaid canônico vive no admin (flowchart id=1). Cópia de trabalho local usada pelo time (não substitui o admin):
- Artefato de apoio no workspace de agents:
flowchart-1-venda-producao.mmd(quando versionado no fluxo de trabalho). - Publicação / validação no app: scripts
scripts/publish-flowchart.cjs,scripts/validate-smoke-flow-catalog.cjse runners de browser smoke emapp-community.
Trechos centrais (leitura humana):
- Configuração: MANAGER → empresa/usuários/menus → devices PDV / PPC-DISPLAY / PRINT.
- Venda: POS (balcão prepaid ou garçom/mesa/comanda) e SHOP (catálogo → order).
- Pagamento: política por canal (prepaid → checkout; prepare-before-payment → sale order; cobrança na saída / na entrega).
- Produção: materialização de fila → PPC (com ou sem queue) → production / print / conference / ready.
- Saída: handoff garçom, retirada, delivery; cobrança residual em CHECKOUT/POS conforme política.
| Módulo | Wiki / ponte |
|---|---|
| app-community (este hub) | Smoke Test Flows · esta página |
| ui-orders | ui-orders |
| ui-ppc | ui-ppc |
| ui-shop | ui-shop |
| ui-common / devices | ui-common · ui-config |
| ui-logistic | ui-logistic |
| agents-mcp (QA/skill) | smoke-test-flows.md · qa agent |
- Inventar nós que não existem no Mermaid do id=1.
- Publicar flowchart novo no admin (exceto metadado JSON no playground quando uma filha exigir).
- Marketplace / courier externo como primeira leva (pode ser filha extra depois).
- Substituir implementação dos arquivos de teste ou runners de CI.
| Destino | URL |
|---|---|
| Admin flowchart 1 | https://admin.controleonline.com/admin/flowcharts/1 |
| Programa pai | https://github.com/ControleOnline/app-community/issues/601 |
| Gate flowchartIds (QA) | https://github.com/ControleOnline/agents-mcp/issues/177 |
| Catálogo genérico (wiki) | Smoke-Test-Flows |
| MODOS_OPERACAO | https://github.com/ControleOnline/app-community/blob/master/MODOS_OPERACAO.md |