-
-
Notifications
You must be signed in to change notification settings - Fork 0
Flowchart 1 Single Product Prepaid
Documentação técnica da jornada de smoke E2E do flowchart admin id=1 (sales-production / Venda·produção) no caminho balcão prepaid de 1 item.
- Issue de origem: app-community#603
- Programa pai: app-community#601
- Admin flowchart: flowcharts/1
-
Catálogo de negócio:
fluxo: compra-fluxo(skill smoke-test-flows.md) - Espelho no app: Smoke Test Flows
Provar, com evidência visual completa, a cadeia:
pdvMode → counterFlow → checkout → invoice → saleOrder → queueMaterialization → PPC → ready
para um único produto no modo balcão / prepaid (sem mesa, sem comanda, sem delivery, sem multi-item).
| Inclui | Não inclui |
|---|---|
| Login ADMIN | Mesa / comanda |
| Device PDV | Delivery |
| POS modo balcão + single-item | Multi-item / multi-comanda |
| Checkout + invoice (dinheiro) | Cobrança na saída / garçom |
| Conference display + Ready | Item sem queue (ver #609) e PCP com queue completa (ver #608) |
| Nó | Papel nesta jornada |
|---|---|
pdvMode |
Operação em device PDV |
counterFlow |
Atendimento balcão (não mesa) |
checkout |
Tela de pagamento / single-item |
invoice |
POST /invoices (pagamento à vista) |
saleOrder |
Pedido de venda materializado |
queueMaterialization |
Avaliação de fila/produção |
PPC |
Display de conferência |
ready |
POST /orders/{id}/ready
|
Referência: MODOS_OPERACAO.md.
| Visão | O que faz nesta jornada | O que não deve assumir |
|---|---|---|
ADMIN / login |
Autenticação inicial do operador de teste | Operação de caixa |
MANAGER (devices) |
Listagem/configuração de devices PDV | Checkout local no device manager |
POS (ui-orders) |
Catálogo, seleção de 1 item, checkout prepaid, invoice | Produção física / display de cozinha |
PPC |
Conference display e transição para Ready | Venda/caixa |
Módulo dono do smoke e dos helpers: ui-orders. Cross-módulos usados só via rotas já existentes (/sign-in-page, /devices-index, /add-product-screen, /display-order-conference).
| Arquivo | Função |
|---|---|
src/tests/browser/pos/flowchart-1-single-product-prepaid.spec.js |
Spec Playwright da jornada |
src/tests/browser/pos/flowchart-1-evidence.js |
Manifesto + prints obrigatórios + flowchartIds: [1]
|
src/tests/browser/pos/flowchart-1-prepaid-helpers.js |
Bootstrap de mocks POS, rotas extras, passos de UI |
| Unit do manifesto |
flowchart1PrepaidManifest.test.js (quando presente no tree) |
Regras de tamanho: cada arquivo de entrega ≤ 500 linhas (code-quality.md).
Prints mínimos (ids estáveis no manifesto):
-
login— tela de login ADMIN -
device— devices / PDV -
pos— POS balcão / prepaid / single-item -
produto-no-pedido— produto único no pedido -
checkout-pago— checkout / invoice paga -
fila-production-ou-conference— PPC conference / fila -
ready— pedido Ready
O manifesto JSON deve conter no mínimo:
{
"flowchartIds": [1],
"flowchartLinks": ["https://admin.controleonline.com/admin/flowcharts/1"],
"fluxo": "compra-fluxo",
"suite": "flowchart-1-single-product-prepaid",
"nodes": ["pdvMode", "counterFlow", "checkout", "invoice", "saleOrder", "queueMaterialization", "PPC", "ready"],
"productionSteps": [
"queueMaterialization",
"PPC conference display",
"Ready (POST /orders/{id}/ready)"
],
"steps": [ /* um entry por print */ ]
}assertCompleteEvidence falha se faltar qualquer id de REQUIRED_PRINT_STEPS. QA deve recusar se a evidência não permitir reconstruir a jornada só com os prints (mesmo critério do gate em agents-mcp#177).
-
Login ADMIN —
mockPublicLoginApi+/sign-in-page. -
Device PDV — bootstrap de mocks POS +
/devices-index. -
POS catálogo —
/add-product-screen?id=123&resumeExistingOrder=true&singleItemMode=true(produto de exemplo “Coxinha”). -
Seleção de 1 item — radio do produto →
PUT /orders/123/replace-products→ navegação para checkout. -
Pagamento cash — “Receber em dinheiro” → valor →
POST /invoices→ histórico. -
Conference —
/display-order-conference?orderId=123&id=123. -
Ready — ação “Pedido pronto” →
POST /orders/123/ready.
Os backends de pedido/invoice/display são mockados no browser (helpers); o smoke valida a cadeia de UI + contratos de rota esperados, não o ambiente de produção real.
| Issue | Jornada |
|---|---|
| #602 | Helpers compartilhados (login ADMIN, device, switch app) |
| #603 (esta) | Single product balcão/prepaid → Ready |
| #604 | Garçom + mesas |
| #605 | Garçom + mesas + comandas |
| #606 | Garçom fecha mesa e cobra no POS |
| #607 | ON CHECKOUT multi-comanda |
| #608 | PCP com queue (production → print → conference → ready) |
| #609 | Item sem queue → conference (sem bypass PCP) |
| Destino | URL |
|---|---|
| App Home (smoke catalog) | https://github.com/ControleOnline/app-community/wiki/Smoke-Test-Flows |
| ui-orders Home | Home |
| Skill canônica | https://github.com/ControleOnline/agents-mcp/blob/master/agents/skills/shared/quality/smoke-test-flows.md |
| Gate flowchartIds | https://github.com/ControleOnline/agents-mcp/issues/177 |
| MODOS_OPERACAO | https://github.com/ControleOnline/app-community/blob/master/MODOS_OPERACAO.md |
- Inventário completo de todos os smokes do monorepo.
- Alteração do catálogo oficial de
fluxo:(somente humano). - Tutoriais para cliente final (trilha
tutorial-assistant/ Central de Ajuda).