Prueba: Cuentas por pagar – Egresos: Ver comprobante de pago
Objetivo
Validar que el sistema permita abrir correctamente el comprobante de egreso desde el módulo de Cuentas por pagar (Egresos), generar el PDF y cerrar el modal sin errores.
Precondiciones
- Usuario autenticado mediante el comando
cy.login(). - Acceso al dashboard del sistema
(/dashboard).. - Existencia de registros en Cuentas por pagar – Egresos
Pasos Generales
- Ingresar al módulo Cuentas por pagar – Egresos
- Abrir el primer comprobante de egreso disponible.
- Generar el PDF del comprobante desde el modal.
- Cerrar el modal de comprobante.
Resultado Esperado
- El comprobante debe abrirse correctamente en un modal.
- El botón para generar PDF debe mostrarse visible y permitir la acción.
- El modal debe cerrarse de forma correcta al hacer clic en el botón Cerrar.
Explicación Detallada del Código
Ir al módulo de Cuentas por pagar
Explicación
- Se navega al módulo
/cuentaspagar-egresos.
Abrir el comprobante de egreso
// --- Paso 2: Abrir el primer comprobante disponible ---
cy.get('button[data-toggle="modal"]').first().click();
Explicación
- Se localiza el primer botón con el atributo
data-toggle="modal", el cual abre un comprobante de egreso. .first().click()garantiza que se trabaje siempre con el primer registro disponible en la tabla.
Generar el comprobante en PDF
// --- Paso 3: Obtener el modal abierto dinámicamente ---
cy.get('div[aria-labelledby^="comprobanteLabel"]:visible').within(() => {
// --- Generar PDF ---
cy.get("button#generatePdfBtn").should("be.visible").click();
});
Explicación
- Se selecciona el modal activo mediante el atributo
aria-labelledbyque comienza con"comprobanteLabel". - Se utiliza
:visiblepara asegurarse de trabajar solo con el modal abierto en ese momento. - Dentro del modal, se valida que el botón
#generatePdfBtnesté visible y se hace clic para generar el PDF del comprobante.
Cerrar el modal del comprobante
// --- Cerrar modal ---
cy.get('div[aria-labelledby^="comprobanteLabel"]:visible').within(() => {
cy.contains('button[data-dismiss="modal"]', "Cerrar")
.should("be.visible")
.click();
});
// --- Verificar que el modal se cerró ---
cy.get('div[aria-labelledby^="comprobanteLabel"]').should("not.be.visible");
Explicación
- Se mantiene el contexto dentro del modal abierto y se busca el botón con
data-dismiss="modal"que contenga el texto Cerrar. - Se valida que dicho botón esté visible y luego se hace clic.
- Finalmente, se comprueba que el modal ya no esté visible en el DOM, confirmando que se cerró correctamente.
Resultados de la ejecución de la prueba
| Escenario | Acción realizada | Medio | Estado |
|---|---|---|---|
| 1 | Abrir comprobante | N/A | PASS |
| 2 | Generar PDF | Botón PDF | PASS |
| 3 | Cerrar comprobante | Botón Cerrar | PASS |