Prueba: Ingresos – Eliminar registro
Objetivo
Validar que el sistema permita eliminar un ingreso existente desde el listado de ingresos, confirmando la acción mediante SweetAlert2.
Precondiciones
- Usuario autenticado mediante el comando
cy.login(). - Acceso al dashboard del sistema
(/dashboard). - Existencia de ingresos registrados en el sistema.
- El ingreso a eliminar debe encontrarse visible en la lista (en este caso, el noveno ingreso)
Pasos Generales
- Ingresar al módulo de Ingresos.
- (Opcional) Navegar a la segunda página de la tabla
- Seleccionar el noveno ingreso y hacer clic en el botón de eliminar.
- Confirmar la acción en SweetAlert2.
- Validar que el ingreso se elimine y el modal de confirmación se cierre correctamente.
Resultado Esperado
- El ingreso seleccionado debe eliminarse del listado.
- El popup de confirmación (SweetAlert2) debe cerrarse al aceptar.
- El flujo debe completarse sin errores ni bloqueos.
Explicación Detallada del Código
Navegar al módulo de Ingresos
Explicación
- Se visita directamente la ruta
/ingresos, donde se listan todos los ingresos registrados.
Navegar a la segunda página de la tabla (opcional)
// --- Ir a la segunda página ---
// cy.get('a.page-link[rel="next"]').click();
// cy.get("table tbody tr").should("exist"); // esperar que carguen filas
Explicación
- Este bloque está comentado, pero sirve en caso de que el ingreso a eliminar se encuentre en otra página.
cy.get('a.page-link[rel="next"]').click();avanza de página.cy.get("table tbody tr").should("exist");espera que las filas estén disponibles antes de interactuar.
Seleccionar el ingreso y hacer clic en eliminar
// --- Click en el noveno botón de eliminar ---
cy.get('button.btn.btn-danger.btn-sm[data-original-title="Eliminar ingreso"]')
.eq(9)
.click();
Explicación
- Se localiza el botón de eliminar de cada fila mediante su clase y atributo.
- Con
.eq(9)se selecciona específicamente el noveno botón (los índices empiezan en 0). - Y por ultimo se hace
.click()con el cual simula que el usuario hace clic en Eliminar ingreso.
Confirmar la eliminación en SweetAlert2
// --- Confirmar SweetAlert2 ---
cy.get("div.swal2-popup.swal2-modal.swal2-icon-question.swal2-show").within(
() => {
cy.get("button.swal2-confirm.swal2-styled").click();
}
);
Explicación
- Al eliminar, se muestra un popup de SweetAlert2 pidiendo confirmación.
- Con
.within(...), se limita la interacción al popup visible. - Se localiza el botón de confirmación
swal2-confirmy se hace clic, validando la acción.
Validar cierre del modal
// --- Validar que el modal se cerró ---
cy.get("div.swal2-popup").should("not.exist");
cy.get("div.swal2-loader").should("not.exist");
Explicación
- Se comprueba que el popup de SweetAlert2 desaparezca
(not.exist). - También se valida que el loader no siga activo.
- Se localiza el botón de confirmación
swal2-confirmy se hace clic, validando la acción.
Resultados de la ejecución de la prueba
| Escenario | Acción | Estado |
|---|---|---|
| 1 | Eliminar noveno ingreso | PASS |