Skip to content

Flowchart 1 Venda Producao E2E Smokes

luizkim edited this page Aug 26, 2026 · 2 revisions

Flowchart 1 — Venda / produção (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.

Objetivo do programa

  1. QA lê os flowcharts do admin e só aceita smoke de UI que declare um ou mais flowchartIds existentes e enabled e tenha prints de cada etapa relevante.
  2. Playground de smokes expõe no JSON flowchartIds e flowchartLinks (https://admin.controleonline.com/admin/flowcharts/{id}).
  3. 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.

Visões (APP_TYPE) e papéis no fluxo

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

Inventário de jornadas (filhas do programa)

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.

Gate own delivery (#610)

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.

Evidência e manifesto

Todo smoke de UI do programa deve:

  1. Declarar flowchartIds: [1] (ou lista que inclua 1 quando a jornada for deste diagrama).
  2. Declarar fluxo: <id> do catálogo.
  3. Gerar prints por etapa relevante + manifesto persistido (diretório de resultados do smoke).
  4. 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).

Diagrama (referência)

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.cjs e runners de browser smoke em app-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ódulos e wikis relacionadas

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

Fora de escopo desta página

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

Links rápidos

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

Clone this wiki locally