# Playwright de aceptación SmartPlus

La suite permite únicamente `demo.sistemax.net.pe`.
El entorno actual de validación es `demo.sistemax.net.pe`; staging fue retirado.
Nunca se debe ejecutar contra producción ni usar datos productivos para pruebas.

## Ejecución

```powershell
$env:SMARTPLUS_E2E_BASE_URL = 'https://demo.sistemax.net.pe'
npm run lint
npm run test:e2e
```

Alcance vigente: ejecutar la suite unicamente contra `demo.sistemax.net.pe`.
El dominio staging fue retirado y no debe usarse como destino de pruebas.

`npm run lint` valida la sintaxis del arnés Playwright agregado; no pretende
validar el JavaScript legado de Vue/Webpack.

Los artefactos quedan en `playwright-report/` y `test-results/`: HTML, JSON,
capturas, video y trazas cuando una prueba falla. El smoke también adjunta
`runtime-evidence.json` con URL final, estado de navegación, consola, errores de
página y respuestas HTTP.

La suite no debe avanzar a los casos mutantes hasta que el smoke de `/login`
responda correctamente desde demo. Las credenciales se deben proporcionar
mediante variables de entorno o un archivo local no versionado.

La prueba `demo-delivery-security.spec.js` es opcional y requiere definir
`SMARTPLUS_E2E_AUTH_EMAIL` y `SMARTPLUS_E2E_AUTH_PASSWORD` en el entorno local.
Comprueba que la respuesta autenticada de pedidos no exponga `password` ni
`api_token`; nunca se deben escribir esas variables en el repositorio.

Casos previstos, en orden:

1. producto maestro; 2. presentaciones; 3. precios; 4. acumulación; 5. canje;
6. saldo; 7. doble canje; 8. anulación; 9. pedido; 10. asignación;
11. FCM; 12. aceptación APK; 13. cantidades/precio; 14. efectivo;
15. Yape con foto; 16. validación de caja; 17. bidón lleno; 18. vacío;
19. bidón dañado; 20. cierre de ruta; 21. última ubicación.
