Prueba: Ingresos – Eliminar Cotizacion
Objetivo
Verificar que el sistema permita eliminar correctamente varias cotizaciones desde la tabla de cotizaciones.
Precondiciones
- Usuario autenticado mediante el comando
cy.login(). - Acceso al dashboard del sistema
(/dashboard). - Deben existir al menos 3 cotizaciones registradas en la tabla.
- El sistema debe mostrar correctamente los botones de eliminación en cada fila de la tabla.
Pasos Generales
- Navegar al módulo de Cotizaciones (
/cliente/cotizaciones). - Ubicar las primeras tres cotizaciones de la tabla.
- En cada una, hacer clic en el botón Eliminar.
- Confirmar la acción en el modal emergente de SweetAlert2 seleccionando “Sí, eliminar”.
- Esperar que el modal se cierre y la tabla se actualice.
- Repetir el proceso hasta eliminar las tres primeras cotizaciones.
Resultado Esperado
- Cada cotización seleccionada debe eliminarse correctamente.
- El modal de confirmación debe cerrarse tras aceptar la eliminación.
- La tabla debe actualizarse visualmente mostrando una fila menos después de cada eliminación.
- No deben aparecer errores en consola ni fallas de script.
Explicación Detallada del Código
Visitar el modulo de cotizaciones
Explicación
cy.visit("/cliente/cotizaciones")sitúa el test en la página de cotizaciones donde está el botón para crear nueva cotización.implementación
Eliminación de las tres primeras cotizaciones
it("Eliminar las primeras 3 cotizaciones de la tabla", () => {
for (let i = 0; i < 3; i++) {
cy.get(".table-cotizaciones tbody tr")
.eq(0)
.within(() => {
cy.get('button[title="Eliminar"]').click();
});
});
Explicación
- Se utiliza un bucle
forpara eliminar tres cotizaciones consecutivamente. cy.get(...).eq(0): Siempre selecciona la primera fila actual (la tabla se actualiza tras cada eliminación, por lo que la siguiente cotización pasa a ocupar la posición 0).- Dentro de la fila seleccionada, se busca el botón con el atributo
title="Eliminar"y se hace clic.
Confirmación de eliminación (SweetAlert2)
cy.get(".swal2-container.swal2-center.swal2-backdrop-show", {
timeout: 10000,
})
.contains("Sí, eliminar")
.click();
Explicación
- Localiza el modal emergente generado por
SweetAlert2. - Espera hasta 10 segundos si es necesario.
- Dentro del modal, hace clic en el botón de confirmación “Sí, eliminar”.
Validación posterior a la eliminación
Explicación
- erifica que el modal se haya cerrado correctamente (ya no existe en el DOM).
- Espera 0.5 segundos para que la tabla de cotizaciones se actualice antes de pasar al siguiente ciclo del bucle.
Resultados de la ejecución de la prueba
| # | Acción | Resultado esperado | Estado |
|---|---|---|---|
| 1 | Clic en botón “Eliminar” de la primera cotización | Se abre modal de confirmación | PASS |