Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8d44f2e771 | ||
|
|
352762b9d2 | ||
|
|
58cc93bb2f | ||
|
|
5eaa94818f | ||
|
|
66a81ad9a3 | ||
|
|
39e1bf61d3 |
No files matched your search
@@ -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
|
completada sin intervención manual — hoy solo se confirmó que el
|
||||||
endpoint responde `200` a un `POST` sintético y que la redirección
|
endpoint responde `200` a un `POST` sintético y que la redirección
|
||||||
al banco ocurre, no el ciclo completo con notificación real.
|
al banco ocurre, no el ciclo completo con notificación real.
|
||||||
7. **Login/registro de cliente real** (Google OAuth y con contraseña) —
|
Ampliado 2026-09-10 con el resto de la superficie real del storefront
|
||||||
nunca ejercitado con un navegador real en ninguna sesión.
|
(4 páginas + `components/{account,cart,catalog,checkout,home,layout,
|
||||||
8. **Bug conocido de Firefox Android** (ver memoria de proyecto,
|
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
|
`known-bug-firefox-android-layout`): el layout se corta/desplaza
|
||||||
solo en Firefox Android — Playwright puede emular Android/Chrome
|
solo en Firefox Android — Playwright puede emular Android/Chrome
|
||||||
pero no Firefox; si se necesita reproducir esto específicamente hace
|
pero no Firefox; si se necesita reproducir esto específicamente hace
|
||||||
falta `playwright-firefox` o un dispositivo real.
|
falta `playwright-firefox` o un dispositivo real.
|
||||||
9. **Otros viewports** (tablet, desktop grande) para el banner y el
|
19. **Otros viewports** (tablet, desktop grande) para el banner y el
|
||||||
buscador — solo se probaron mobile (iPhone 13) y desktop 1280px.
|
buscador — solo se probaron mobile (iPhone 13) y desktop 1280px.
|
||||||
10. **Flujo de wishlist/favoritos y el diálogo de cuenta** — no
|
20. **Página 404** (`app/not-found.tsx`) — nunca visitada con navegador
|
||||||
ejercitados todavía con navegador real.
|
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.
|
||||||
@@ -25,7 +25,7 @@ spec:
|
|||||||
runAsNonRoot: false
|
runAsNonRoot: false
|
||||||
containers:
|
containers:
|
||||||
- name: app
|
- name: app
|
||||||
image: gitea.cruzcloud.net/devops/docs-portal:v1.0.237
|
image: gitea.cruzcloud.net/devops/docs-portal:v1.0.241
|
||||||
# El base saca TODAS las capabilities. Probado en vivo y
|
# El base saca TODAS las capabilities. Probado en vivo y
|
||||||
# revertido: con drop: ALL (aunque se agregue NET_BIND_SERVICE
|
# revertido: con drop: ALL (aunque se agregue NET_BIND_SERVICE
|
||||||
# de vuelta) el propio entrypoint de nginx:1.27-alpine falla al
|
# de vuelta) el propio entrypoint de nginx:1.27-alpine falla al
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ spec:
|
|||||||
memory: 64Mi
|
memory: 64Mi
|
||||||
|
|
||||||
- name: migrations
|
- name: migrations
|
||||||
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.234
|
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.239
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- node
|
- node
|
||||||
@@ -86,7 +86,7 @@ spec:
|
|||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: app
|
- name: app
|
||||||
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.234
|
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.239
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
|
|||||||
@@ -87,6 +87,18 @@ export function PredictiveSearch() {
|
|||||||
Buscando…
|
Buscando…
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
{/* Encontrado probando en vivo con navegador real: sin este bloque,
|
||||||
|
una busqueda de 2+ caracteres sin coincidencias no mostraba nada
|
||||||
|
(ni "buscando" ni un mensaje) -- el usuario se quedaba sin ningun
|
||||||
|
feedback de que su busqueda de verdad corrio. Se ofrece igual el
|
||||||
|
boton de buscar en todo el catalogo porque esa busqueda completa
|
||||||
|
puede usar criterios mas amplios que el autocompletado. */}
|
||||||
|
{!loading && normalized.length >= 2 && matches.length === 0 && (
|
||||||
|
<div className="absolute left-0 right-0 top-[calc(100%+10px)] z-50 rounded-2xl border border-slate-200 bg-white p-2 text-center shadow-2xl">
|
||||||
|
<p className="p-3 text-sm text-slate-500">No encontramos resultados para “{query.trim()}”.</p>
|
||||||
|
<button type="submit" className="w-full rounded-xl bg-ari-marino px-4 py-3 text-sm font-black text-white hover:brightness-110">Buscar “{query.trim()}” en todo el catálogo</button>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
{matches.length > 0 && (
|
{matches.length > 0 && (
|
||||||
<div className="absolute left-0 right-0 top-[calc(100%+10px)] z-50 overflow-hidden rounded-2xl border border-slate-200 bg-white p-2 shadow-2xl">
|
<div className="absolute left-0 right-0 top-[calc(100%+10px)] z-50 overflow-hidden rounded-2xl border border-slate-200 bg-white p-2 shadow-2xl">
|
||||||
{matches.map((product) => (
|
{matches.map((product) => (
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ spec:
|
|||||||
runAsUser: 1001
|
runAsUser: 1001
|
||||||
containers:
|
containers:
|
||||||
- name: app
|
- name: app
|
||||||
image: gitea.cruzcloud.net/devops/ecommerce-frontend:v1.0.238
|
image: gitea.cruzcloud.net/devops/ecommerce-frontend:v1.0.240
|
||||||
env:
|
env:
|
||||||
- name: HEADLESS_PROVIDER
|
- name: HEADLESS_PROVIDER
|
||||||
value: medusa
|
value: medusa
|
||||||
|
|||||||
Reference in new issue
Block a user