ALIANPOS V9.8.3 — QA
Fecha: 2026-09-14

QA ESTÁTICO EJECUTADO

[OK] Sintaxis PHP de archivos modificados.
[OK] Sintaxis JavaScript de public/assets/alian-ui/js/alian.fiscal.js mediante node --check.
[OK] FE/NC/ND devuelven reload=false en emisión/consulta para evitar recarga automática.
[OK] TE no forma parte de la lista de tipos de correo automático.
[OK] El seguimiento AJAX usa CSRF y XMLHttpRequest/fetch con credenciales same-origin.
[OK] El cron fiscal consulta documentos pendientes antes de procesar aceptados.
[OK] El cron fiscal puede resolver sucursal sin sesión web mediante forcedSucursalId.
[OK] El PDF puede resolver empresa/sucursal desde el propio documento en ejecución CLI.
[OK] El cron fiscal y el cron de compras tienen exclusión mutua para evitar solapamientos.
[OK] El mensaje receptor tiene endpoint de estado AJAX y envío al proveedor al detectar aceptación.
[OK] Formulario NC/ND convertido a acordeones exclusivos y tipografía aumentada.

QA FUNCIONAL RECOMENDADO EN PRODUCCIÓN CONTROLADA

CASO 1 — FE ACEPTADA
1. Crear cliente receptor con identificación y correo válido.
2. Emitir FE.
3. No usar “Consultar” ni recargar manualmente.
4. Confirmar cambio visual automático a “Aceptada por MH”.
5. Confirmar un único correo al cliente.
6. Confirmar adjuntos: clave.pdf, clave.xml, clave_respuesta.xml.

CASO 2 — TE
1. Emitir TE.
2. Confirmar que no se genera correo fiscal automático al cliente.

CASO 3 — NC
1. Abrir Notas fiscales.
2. Confirmar acordeones y texto legible.
3. Emitir NC sobre FE aceptada.
4. Confirmar seguimiento automático sin recarga.
5. Confirmar correo cuando MH acepte.

CASO 4 — ND
Repetir el caso 3 con ND.

CASO 5 — CRON FISCAL DE RESPALDO
1. Emitir un documento y cerrar la pestaña antes de respuesta final.
2. Ejecutar manualmente: php /home/aidob/public_html/bin/correo-fiscal.php
3. Confirmar que consulta pendientes.
4. Si MH ya aceptó, confirmar envío de correo.
5. Ejecutarlo otra vez y confirmar que no duplica el correo.

CASO 6 — MENSAJE RECEPTOR
1. Cargar compra XML con correo del emisor.
2. Enviar aceptación total/parcial/rechazo según prueba.
3. No recargar la página.
4. Confirmar actualización automática del estado.
5. Cuando MH acepte el mensaje receptor, confirmar correo al proveedor.
6. Cerrar pestaña en otra prueba y comprobar respaldo con correo-compras.php.
