Skip to content

Prueba: Terceros – Eliminar Terceros

Objetivo

Validar que el sistema permita eliminar correctamente el último tercero agregado en cada categoría (clientes, proveedores, empleados y otros) desde el módulo de Terceros.


Precondiciones

  • Usuario autenticado mediante el comando cy.login().
  • Acceso al dashboard del sistema (/dashboard).
  • Deben existir registros previos en las tablas de cada categoría (clientes, proveedores, empleados, otros) para poder ejecutar la eliminación.
  • El sistema debe estar desplegado y accesible desde la URL configurada.

Pasos Generales

  1. Ingresar al sistema.
  2. Para cada categoría de terceros (clientes, proveedores, empleados, otros):

  3. Entrar al módulo Terceros (/terceros).

  4. Seleccionar el tab correspondiente a la categoría.
  5. dentificar el último registro visible en la tabla.
  6. Hacer clic en el botón Eliminar.
  7. Confirmar la acción en el SweetAlert2 que aparece.
  8. Verificar que el modal de confirmación desaparece y que la eliminación se completa.

Resultado Esperado

  • El sistema debe:
  • Mostrar correctamente el modal de confirmación al presionar el botón “Eliminar”.
  • Eliminar el registro seleccionado al confirmar la acción.
  • Cerrar el modal de SweetAlert2 tras la eliminación.
  • Actualizar la tabla, reflejando que el registro fue eliminado.

Explicación Detallada del Código

Definición de categorías

const categorias = ["clientes", "proveedores", "empleados", "otros"];

Explicación

  • Se definen las cuatro categorías de terceros sobre las que se iterará.
  • Cada categoría representa una pestaña diferente en la interfaz del módulo de terceros.

Iteración y eliminación

categorias.forEach((categoria) => {
  it(`Debe eliminar el último ${categoria} agregado`, () => {
    cy.visit("/terceros");
    cy.get(`#${categoria}-tab`).click();

    cy.get(`#${categoria}`)
      .find('button[onclick="mostrarAlertaEliminar(this)"]')
      .last()
      .click();
  });
});

Explicación

  • Se recorre cada categoría individualmente con forEach.
  • Se navega al módulo /terceros.
  • Se selecciona el tab correspondiente usando su ID (#clientes-tab, #proveedores-tab, etc.).
  • Se localiza el último botón de eliminación en la tabla (.last()) y se hace clic.

Confirmación de eliminación

cy.get("div.swal2-popup.swal2-show")
  .should("be.visible")
  .within(() => {
    cy.get("button.swal2-confirm.swal2-styled").click();
  });

cy.get("div.swal2-popup").should("not.exist");

Explicación

  • Espera a que aparezca el modal SweetAlert2 que solicita confirmación.
  • Dentro del modal, hace clic en el botón de confirmación (“Sí, eliminar”).
  • inalmente, verifica que el modal desaparece, indicando que la acción se completó correctamente.

Resultados de la ejecución de la prueba

Categoría Acción ejecutada Confirmación visible Eliminación exitosa Resultado final
Clientes Clic en botón "Eliminar" del último registro Registro eliminado
Proveedores Clic en botón "Eliminar" del último registro Registro eliminado
Empleados Clic en botón "Eliminar" del último registro Registro eliminado
Otros Clic en botón "Eliminar" del último registro Registro eliminado