Skip to content

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

  1. Ingresar al módulo de Ingresos.
  2. Abrir el comprobante del primer ingreso en la lista.
  3. Validar que el modal del comprobante se muestre correctamente.
  4. Verificar los botones dentro del modal:
  5. Generar PDF
  6. Generar tirilla térmica
  7. Cerrar
  8. 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-toggle y data-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