diff --git a/workloads/docs-portal/docs/decisiones/0010-pago-envio-reales-y-storefront.md b/workloads/docs-portal/docs/decisiones/0010-pago-envio-reales-y-storefront.md index d94682e..4cb9d7b 100644 --- a/workloads/docs-portal/docs/decisiones/0010-pago-envio-reales-y-storefront.md +++ b/workloads/docs-portal/docs/decisiones/0010-pago-envio-reales-y-storefront.md @@ -343,14 +343,64 @@ compartido) para que el contenedor vea los archivos de verdad. completada sin intervención manual — hoy solo se confirmó que el endpoint responde `200` a un `POST` sintético y que la redirección al banco ocurre, no el ciclo completo con notificación real. -7. **Login/registro de cliente real** (Google OAuth y con contraseña) — - nunca ejercitado con un navegador real en ninguna sesión. -8. **Bug conocido de Firefox Android** (ver memoria de proyecto, - `known-bug-firefox-android-layout`): el layout se corta/desplaza - solo en Firefox Android — Playwright puede emular Android/Chrome - pero no Firefox; si se necesita reproducir esto específicamente hace - falta `playwright-firefox` o un dispositivo real. -9. **Otros viewports** (tablet, desktop grande) para el banner y el - buscador — solo se probaron mobile (iPhone 13) y desktop 1280px. -10. **Flujo de wishlist/favoritos y el diálogo de cuenta** — no - ejercitados todavía con navegador real. +Ampliado 2026-09-10 con el resto de la superficie real del storefront +(4 páginas + `components/{account,cart,catalog,checkout,home,layout, +product,search,wishlist}`), agrupado por riesgo: + +**Checkout / pagos** + +7. **Pago cancelado o rechazado en el banco PSE:** confirmar que la + orden no queda en un estado ambiguo ("colgada" en + `pending_authorization` para siempre) cuando el comprador cancela o + el banco rechaza — hoy solo se probó el camino feliz hasta la + redirección. +8. **Persona jurídica + NIT** en el formulario de PSE — solo se probó + persona natural con cédula. +9. **`/checkout` con carrito vacío** (acceso directo por URL, sin pasar + por un producto primero). +10. **Fallback "Confirmar por WhatsApp"** (visible cuando falla la + lista de bancos o como alternativa siempre disponible): que el link + arme el mensaje correcto con los datos del pedido. + +**Catálogo y búsqueda** + +11. **Filtros de `/catalog`** (categoría/colección/marca/precio — las + facetas de Meilisearch, ver ADR 0006) con navegador real: que + aplicar/combinar filtros actualice los resultados y la URL. +12. **Búsqueda sin resultados** — confirmar que muestra un mensaje + claro en vez de quedar vacío sin explicación. + +**Producto** + +13. **Selección de variantes** (cuando un producto tiene más de una) y + que el precio/disponibilidad mostrado cambie según la variante + elegida. +14. **Slug de producto inválido** → debe caer en `not-found.tsx` + (`app/not-found.tsx`), no en un error sin manejar. +15. **Zoom interactivo del producto** (hover + modal click-to-zoom, + `product-gallery.tsx`) — re-verificar con navegador real, la última + vez que se probó fue antes de esta tanda de cambios al storefront. + +**Cuenta y wishlist** + +16. **Login/registro de cliente real** (Google OAuth de punta a punta + incluyendo `/auth/google/callback`, y con contraseña) — nunca + ejercitado con un navegador real en ninguna sesión. +17. **Wishlist/favoritos** (`wishlist-drawer.tsx`): agregar/quitar y + confirmar que persiste entre recargas (guardado en `localStorage`, + por-viewer — no hay forma de verificarlo por API). + +**Transversal** + +18. **Bug conocido de Firefox Android** (ver memoria de proyecto, + `known-bug-firefox-android-layout`): el layout se corta/desplaza + solo en Firefox Android — Playwright puede emular Android/Chrome + pero no Firefox; si se necesita reproducir esto específicamente hace + falta `playwright-firefox` o un dispositivo real. +19. **Otros viewports** (tablet, desktop grande) para el banner y el + buscador — solo se probaron mobile (iPhone 13) y desktop 1280px. +20. **Página 404** (`app/not-found.tsx`) — nunca visitada con navegador + real. +21. **Accesibilidad básica**: navegación completa por teclado (tab + order, foco visible) en el checkout y el buscador — Playwright + puede simular esto (`page.keyboard`), no probado todavía.