Prueba: Ingresos – Ver comprobante
Objetivo
Validar que el sistema permita visualizar el comprobante de un ingreso desde el listado, asegurando el correcto funcionamiento de los botones de PDF, tirilla térmica y cerrar dentro del modal.
Precondiciones
- Usuario autenticado mediante el comando
cy.login(). - Acceso al dashboard del sistema
(/dashboard). - Existencia de ingresos registrados en el sistema.
Pasos Generales
- Ingresar al módulo de Ingresos.
- Abrir el comprobante del primer ingreso en la lista.
- Validar que el modal del comprobante se muestre correctamente.
- Verificar los botones dentro del modal:
- Generar PDF
- Generar tirilla térmica
- Cerrar
- Confirmar que el modal se cierre después de presionar el botón Cerrar.
Resultado Esperado
- El modal de comprobante debe mostrarse al abrir el primer ingreso.
- Los botones de PDF y tirilla térmica deben estar visibles y ejecutarse correctamente.
- El botón Cerrar debe cerrar el modal.
- No deben ocurrir errores durante la ejecución.
Explicación Detallada del Código
Ir al módulo de Ingresos
it("Debe abrir el comprobante del primer ingreso y validar botones", () => {
// --- Ir al módulo de Ingresos ---
cy.visit("/ingresos");
});
Explicación
- Se navega al módulo de Ingresos, donde se listan los registros disponibles.
Abrir comprobante del primer ingreso
// --- Abrir comprobante del primer ingreso ---
cy.get('button[data-toggle="modal"][data-target^="#comprobante-"]')
.first()
.click();
Explicación
- Se localiza el botón que abre el comprobante usando los atributos
data-toggleydata-target - Con
.first()asegura que se seleccione el comprobante correspondiente al primer ingreso. - Y con
.click()abre el modal de comprobante.
Validar contenido del modal y botones
// --- Validar que se muestra el modal ---
cy.get('div[aria-labelledby="comprobanteLabel"]:visible')
.should("be.visible")
.within(() => {
// --- Botón PDF ---
cy.get("#generatePdfBtn").should("be.visible").click();
// --- Botón Tirilla térmica ---
cy.get("#generateThermalPdfBtn").should("be.visible").click();
// --- Botón Cerrar ---
cy.contains('button[data-dismiss="modal"]', "Cerrar")
.should("be.visible")
.click();
});
Explicación
- Se valida que el modal con
aria-labelledby="comprobanteLabel"esté visible.
| Dentro del modal (within(...)):
- Se valida el botón PDF
(#generatePdfBtn)y se hace clic. - Se valida el botón de tirilla térmica
(#generateThermalPdfBtn)y se hace clic. - Se valida el botón Cerrar y se hace clic para salir del modal.
Validar cierre del modal
// --- Verificar que el modal se cerró ---
cy.get('div[aria-labelledby="comprobanteLabel"]:visible').should("not.exist");
Explicación
- Se asegura que el modal ya no exista en pantalla después de presionar Cerrar.
Resultados de la ejecución de la prueba
| Escenario | Acción | Estado |
|---|---|---|
| 1 | Abrir comprobante del primer ingreso | PASS |
| 2 | Validar botón Generar PDF | PASS |
| 3 | Validar botón Tirilla térmica | PASS |
| 4 | Validar botón Cerrar y cierre modal | PASS |