Skip to content

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

  1. Ingresar al módulo Cuentas por pagar – Egresos
  2. Abrir el primer comprobante de egreso disponible.
  3. Generar el PDF del comprobante desde el modal.
  4. 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

// --- Paso 1: Ir al módulo de cuentas por pagar (egresos) ---
cy.visit("/cuentaspagar-egresos");

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-labelledby que comienza con "comprobanteLabel".
  • Se utiliza :visible para asegurarse de trabajar solo con el modal abierto en ese momento.
  • Dentro del modal, se valida que el botón #generatePdfBtn esté 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