Skip to content

Prueba: Cuentas por cobrar – Ver Comprobante de Venta

Objetivo

Validar que el sistema permita visualizar el comprobante de venta desde cuentas por cobrar, mostrando correctamente el modal y habilitando las opciones de descarga en PDF, tirilla térmica y cierre.


Precondiciones

  • Usuario autenticado mediante el comando cy.login().
  • Acceso al dashboard del sistema (/dashboard).
  • Existencia de al menos un registro en Cuentas por cobrar.

Pasos Generales

  1. Ingresar Cuentas por cobrar en el modulo de ingresos.
  2. Abrir el detalle de la primera fila de la tabla.
  3. Hacer clic en el botón abrir el comprobante..
  4. Validar que el modal de comprobante se despliegue correctamente.
  5. Verificar que los botones del modal funcionen correctamente:
  6. Generar comprobante en PDF.
  7. Generar tirilla térmica.
  8. Cerrar modal..
  9. Confirmar que el modal se cierra correctamente.

Resultado Esperado

  • El comprobante de venta debe mostrarse en un modal.
  • Los botones de PDF y tirilla térmica deben estar visibles y ser clicables.
  • El botón de Cerrar debe cerrar el modal sin errores.

Explicación Detallada del Código

Ir al módulo de Cuentas por cobrar

// --- Navegar a Cuentas por cobrar ---
cy.visit("/cuentaspagar");

Explicación

  • Accede al módulo donde están listados los registros pendientes.

Abrir la primera fila de la tabla

// --- Abrir la primera fila de la tabla ---
cy.get("td.dtr-control.sorting_1").first().click();

Explicación

  • Se selecciona la primera fila de la tabla para expandir su detalle.
  • .first().click() garantiza que siempre se interactúe con el primer registro disponible.

Abrir modal de historial

// --- Abrir modal comprobante ---
cy.get('button[data-toggle="modal"]', { timeout: 10000 })
  .should("be.visible")
  .first()
  .click();

Explicación

  • Se localiza el botón de modal de comprobante mediante el atributo data-toggle.
  • Se configura un timeout de 10 segundos en caso de que tarde en renderizar.
  • .should("be.visible") asegura que el botón esté visible antes de hacer clic.
  • .first().click() abre el modal correspondiente al primer registro.

Validar botones del modal

// --- Validar botones del modal ---
cy.get('div[aria-labelledby="comprobanteLabel"]:visible').within(() => {
  cy.get('button[title="Generar comprobante en PDF"]')
    .first()
    .scrollIntoView()
    .click();
  cy.get('button[title="Generar tirilla térmica (80mm)"]').first().click();
  cy.get('div.d-flex button[data-dismiss="modal"]').first().click();
});

Explicación

  • Se limita la búsqueda al modal visible (aria-labelledby="comprobanteLabel").

| Dentro del modal:

  • Se ejecuta el botón para generar comprobante en PDF.
  • Luego, el botón para generar tirilla térmica
  • Finalmente, se hace clic en el botón que cierra el modal (data-dismiss="modal").

Confirmar cierre del modal

// --- Confirmar cierre del modal ---
cy.get('div[aria-labelledby="comprobanteLabel"]').should("not.be.visible");

Explicación

  • Tras presionar el botón de cierre, se valida que el modal ya no sea visible en la interfaz.
  • Esta verificación confirma que el flujo terminó correctamente.

Resultados de la ejecución de la prueba

Escenario Acción Estado
1 Abrir modal de comprobante PASS
2 Generar comprobante en PDF PASS
3 Generar tirilla térmica PASS
4 Cerrar modal y validar finalización PASS