Saltar al contenido principal

Pruebas requeridas

Alcance

Esta matriz concentra las validaciones funcionales recomendadas para los cambios recientes en:

  • roles BUSINESS, CROSS_BUSINESS y GLOBAL
  • permisos y modulos BUSINESS, GLOBAL y HYBRID
  • membresias globales sin businessId
  • separacion entre negocio y Panel de control
  • rutas, guards y permisos asociados

Como usarla

  • Ejecuta los casos por seccion.
  • Marca Estado como Pendiente, OK, Fallo o Bloqueado.
  • Si una prueba falla, registra evidencia y modulo afectado.

Datos minimos recomendados

  • Usuario A: membresia global activa con permisos globales completos.
  • Usuario B: membresia global activa con permisos globales parciales.
  • Usuario C: membresia de negocio activa y sin membresia global.
  • Usuario D: sin membresias activas.
  • Negocio 1 y Negocio 2 activos.
  • Negocio 3 inactivo.
  • Roles existentes de tipo BUSINESS, CROSS_BUSINESS y GLOBAL.
  • Modulos y permisos con tipos BUSINESS, GLOBAL y HYBRID.

1. Autenticacion y arranque

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
AUTH-01Validar arranque con usuario global completoUsuario A con membresia global ACTIVE y permisos globales validos1. Iniciar sesion. 2. Esperar hidratacion inicial. 3. Ir a seleccion de negocio.Se muestra acceso a Panel de control y el usuario puede entrar al contexto global.AltaPendiente
AUTH-02Validar arranque sin membresia globalUsuario C con membresia de negocio activa y sin membresia global1. Iniciar sesion. 2. Ir a seleccion de negocio.No aparece acceso a Panel de control.AltaPendiente
AUTH-03Validar usuario con permisos globales parcialesUsuario B con membresia global ACTIVE y permisos parciales1. Iniciar sesion. 2. Entrar a Panel de control.El panel abre, pero solo muestra modulos permitidos por sus permisos.AltaPendiente
AUTH-04Validar ausencia total de membresiasUsuario D sin membresias activas1. Iniciar sesion.No entra a negocio ni a Panel de control; la UI refleja falta de acceso.AltaPendiente

2. Seleccion de negocio y transicion de contexto

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
CTX-01Mostrar boton de Panel de control en seleccion de negocioUsuario A autenticado1. Ir a /admin/select-business-membership.Aparece acceso visible a Panel de control.AltaPendiente
CTX-02Ocultar Panel de control si no aplicaUsuario C autenticado1. Ir a /admin/select-business-membership.No aparece acceso a Panel de control.AltaPendiente
CTX-03Entrar al Panel de control desde seleccion de negocioUsuario A autenticado1. Hacer clic en Panel de control.Navega a /control-panel/home.AltaPendiente
CTX-04Entrar al Panel de control desde menu superior dentro de negocioUsuario A dentro de un negocio1. Abrir menu del header. 2. Hacer clic en Panel de control.Navega a /control-panel/home sin devolver a seleccion de negocio.AltaPendiente
CTX-05Salir del Panel de controlUsuario A dentro de /control-panel1. Abrir menu del header. 2. Hacer clic en Seleccionar negocio.Regresa a /admin/select-business-membership.AltaPendiente
CTX-06Validar limpieza del contexto de negocioUsuario A entra al panel desde un negocio1. Entrar a Panel de control. 2. Revisar requests y navegacion posterior.El panel no depende de cookie ni de businessId de negocio.AltaPendiente

3. Home y navegacion del Panel de control

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
CPH-01Validar cards visibles segun permisosUsuario B con permisos parciales1. Entrar a /control-panel/home.Solo aparecen cards de modulos autorizados.AltaPendiente
CPH-02Validar coherencia visual del homeUsuario A autenticado1. Entrar a /control-panel/home.Todas las cards tienen fondo blanco uniforme y apariencia consistente.MediaPendiente
CPH-03Validar iconografia consistente con sidebarUsuario A autenticado1. Comparar iconos del home y del sidebar.Los iconos coinciden visualmente con los del sidebar.BajaPendiente
CPH-04Validar textos en lenguaje usuarioUsuario A autenticado1. Revisar cards del home.No se muestran labels tecnicos crudos como BUSINESS, GLOBAL, HYBRID o CROSS_BUSINESS.MediaPendiente
CPH-05Validar header del drawer movil a 280pxViewport de 280px de ancho1. Abrir Panel de control. 2. Abrir sidebar movil.Logo, chip y boton de cierre se ven correctos, sin cortes ni solapamientos.MediaPendiente

4. Usuarios globales

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
USR-01Listar solo usuarios globalesUsuario A con permiso de listar usuarios1. Ir a /control-panel/users.El listado muestra solo usuarios con membresia sin businessId.AltaPendiente
USR-02Ver detalle de usuario globalUsuario A con permiso suficiente1. Abrir detalle de un usuario del listado.El detalle corresponde a la membresia global seleccionada.MediaPendiente
USR-03Crear membresia globalUsuario A con permiso core.memberships.create1. Abrir Crear membresia. 2. Seleccionar usuario. 3. Dejar businessName vacio. 4. Guardar.Se crea membresia PENDING sin businessId.AltaPendiente
USR-04Crear membresia de negocio desde Panel de controlUsuario A con permiso core.memberships.create1. Abrir Crear membresia. 2. Seleccionar usuario. 3. Ingresar businessName. 4. Guardar.Se crea membresia PENDING ligada al negocio resuelto por nombre.AltaPendiente
USR-05Evitar duplicado de membresia globalUsuario que ya posee membresia global1. Intentar crear otra membresia global.Backend rechaza la operacion y la UI informa el error.AltaPendiente
USR-06Evitar duplicado en el mismo negocioUsuario que ya posee membresia en un negocio1. Intentar crear otra membresia para el mismo negocio.Backend rechaza la operacion y la UI informa el error.AltaPendiente

5. Roles

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
ROLE-01Administrar roles globales y transversales desde Panel de controlUsuario A con permisos de roles1. Ir a /control-panel/roles.Solo se gestionan roles GLOBAL y CROSS_BUSINESS.AltaPendiente
ROLE-02Administrar roles de negocio solo en contexto negocioUsuario con acceso a un negocio1. Ir a /admin/roles.Solo se gestionan roles BUSINESS.AltaPendiente
ROLE-03Filtrar permisos validos para rol globalUsuario A con permisos de edicion de roles1. Crear o editar rol GLOBAL.Solo se pueden asignar permisos GLOBAL y HYBRID.AltaPendiente
ROLE-04Filtrar permisos validos para rol transversalUsuario A con permisos de edicion de roles1. Crear o editar rol CROSS_BUSINESS.Solo se pueden asignar permisos BUSINESS y HYBRID.AltaPendiente
ROLE-05Filtrar permisos validos para rol de negocioUsuario con permisos de roles en un negocio1. Crear o editar rol BUSINESS.Solo se pueden asignar permisos BUSINESS y HYBRID.AltaPendiente
ROLE-06Persistir permisos del rol con su typeRol editado recientemente1. Editar un rol. 2. Guardar.La subcoleccion Roles/{roleId}/Permissions conserva type consistente con la coleccion maestra.AltaPendiente

6. Permisos y modulos

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
ACL-01Listar todos los tipos en Panel de controlUsuario A con permisos de consulta1. Abrir /control-panel/permissions. 2. Abrir /control-panel/modules.Se visualizan tipos BUSINESS, GLOBAL y HYBRID.AltaPendiente
ACL-02Limitar listados en negocioUsuario con acceso a negocio1. Abrir paginas de permisos y modulos dentro de negocio.Solo se visualizan elementos BUSINESS y HYBRID.AltaPendiente
ACL-03Ocultar tipo en negocioUsuario con acceso a negocio1. Revisar tablas de permisos y modulos en negocio.No se muestra el chip o columna de tipo.MediaPendiente
ACL-04Mantener tipo visible en Panel de controlUsuario A con acceso al panel1. Revisar tablas de permisos y modulos del panel.El tipo si se muestra.MediaPendiente
ACL-05Unificar color del tipo compartidoUsuario A con acceso al panel1. Revisar chips HYBRID en permisos y modulos.Ambos usan el mismo amarillo y contraste consistente.BajaPendiente
ACL-06Crear modulo desde Panel de controlUsuario A con permiso core.modules.create1. Abrir creacion de modulo. 2. Elegir tipo. 3. Guardar.El modulo se crea con el tipo correcto.AltaPendiente
ACL-07Eliminar modulo desde Panel de controlUsuario A con permiso core.modules.delete1. Eliminar un modulo permitido.El modulo desaparece del listado y backend confirma la operacion.AltaPendiente
ACL-08Crear permiso desde Panel de controlUsuario A con permiso core.permissions.create1. Abrir creacion de permiso. 2. Elegir tipo. 3. Guardar.El permiso se crea con el tipo correcto.AltaPendiente
ACL-09Eliminar permiso desde Panel de controlUsuario A con permiso core.permissions.delete1. Eliminar un permiso permitido.El permiso desaparece del listado y backend confirma la operacion.AltaPendiente
ACL-10Confirmar ausencia de CRUD de permisos y modulos en negocioUsuario con acceso a negocio1. Revisar UI de permisos y modulos dentro del negocio.No existen acciones de crear, editar o eliminar.AltaPendiente

7. Negocios y planes

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
BP-01Listar negocios desde Panel de controlUsuario A con core.bussinesses.list1. Ir a /control-panel/businesses.Se listan negocios conforme a permisos.AltaPendiente
BP-02Crear, editar y eliminar negocio con permisos globalesUsuario A con permisos completos de negocios1. Crear negocio. 2. Editarlo. 3. Eliminarlo.Todas las operaciones globales funcionan segun permiso.AltaPendiente
BP-03Bloquear acceso a negocios sin permisoUsuario B sin permisos de negocios1. Intentar abrir /control-panel/businesses.La UI o el guard bloquean el acceso.AltaPendiente
BP-04Listar planes desde Panel de controlUsuario A con core.plan.list1. Ir a /control-panel/plans.Se listan planes conforme a permisos.AltaPendiente
BP-05Crear, editar y eliminar plan con permisos globalesUsuario A con permisos completos de planes1. Crear plan. 2. Editarlo. 3. Eliminarlo.Todas las operaciones globales funcionan segun permiso.AltaPendiente
BP-06Bloquear acceso a planes sin permisoUsuario B sin permisos de planes1. Intentar abrir /control-panel/plans.La UI o el guard bloquean el acceso.AltaPendiente

8. Membresias y operaciones sensibles

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
MEM-01Cambiar estado de membresia en negocio con permisos validosUsuario autorizado dentro del negocio1. Ejecutar toggle-status sobre una membresia del mismo negocio.La operacion funciona.AltaPendiente
MEM-02Bloquear cambio de estado sin permisoUsuario sin permiso suficiente1. Intentar toggle-status.Backend responde error de autorizacion.AltaPendiente
MEM-03Cambiar isEmployee con permisos validosUsuario autorizado dentro del negocio1. Ejecutar toggle-employee.La operacion funciona solo para membresias del negocio correspondiente.AltaPendiente
MEM-04Asignar branch con permisos validosUsuario autorizado dentro del negocio1. Ejecutar assign-branch.La operacion funciona solo si la membresia pertenece a ese negocio.AltaPendiente
MEM-05Asignar rol global a membresia globalUsuario A con permisos sobre membresias y roles1. Asignar rol a una membresia sin businessId.Solo acepta roles GLOBAL.AltaPendiente
MEM-06Asignar rol de negocio a membresia de negocioUsuario autorizado en un negocio1. Asignar rol a una membresia con businessId.Solo acepta roles BUSINESS o CROSS_BUSINESS.AltaPendiente
MEM-07Bloquear mutaciones cruzadas por businessIdUsuario autenticado en negocio A1. Intentar mutar membresia del negocio B.Backend rechaza la operacion.AltaPendiente

9. Rutas y guards

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
ROUTE-01Bloquear rutas globales sin membresia globalUsuario C sin membresia global1. Navegar manualmente a /control-panel/home.Redirige fuera del panel o muestra acceso denegado.AltaPendiente
ROUTE-02Bloquear rutas globales sin permiso especificoUsuario B con acceso parcial1. Navegar manualmente a un modulo no permitido del panel.Redirige a /control-panel/home o muestra acceso denegado.AltaPendiente
ROUTE-03Bloquear rutas de negocio sin membresia activa de ese negocioUsuario autenticado sin acceso al negocio consultado1. Navegar a una ruta privada de negocio.Redirige a seleccion de negocio.AltaPendiente
ROUTE-04Confirmar que la membresia global no sustituye membresia de negocioUsuario A con membresia global pero sin membresia en cierto negocio1. Intentar entrar a ese negocio.No obtiene acceso operativo solo por tener membresia global.AltaPendiente

10. Regresiones visuales y UX

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
UI-01Verificar separacion visual entre negocio y Panel de controlUsuario A con acceso a ambos contextos1. Entrar a negocio. 2. Entrar a panel.Layout, navegacion y percepcion de contexto se sienten claramente distintos.MediaPendiente
UI-02Verificar perfil desde ambos contextosUsuario autenticado1. Abrir Ver perfil desde negocio. 2. Abrir Ver perfil desde panel.La vista funciona en ambos contextos.MediaPendiente
UI-03Verificar funcionamiento de cambio de negocioUsuario con multiples negocios1. Cambiar de negocio.El flujo sigue funcionando como antes del cambio.AltaPendiente
UI-04Verificar que la PWA no sirva assets viejosEntorno local o staging con build reciente1. Refrescar. 2. Hacer hard refresh si hace falta.La UI refleja los cambios mas recientes sin inconsistencias.BajaPendiente

11. Seguridad manual

IDObjetivoPrecondicionPasosResultado esperadoPrioridadEstado
SEC-01Confirmar eliminacion de hardcodes rootUsuario no privilegiado1. Intentar acceder a modulos globales sin permisos reales.No accede por documento, email o rol quemado; solo por permisos.AltaPendiente
SEC-02Confirmar 403 en endpoints globales sin permisoUsuario autenticado sin permiso requerido1. Consumir endpoint global protegido.Backend responde 403.AltaPendiente
SEC-03Confirmar 403 o 400 en mutaciones cruzadas de membresiasUsuario con contexto de negocio distinto1. Intentar mutar membresia ajena al negocio.Backend rechaza la solicitud.AltaPendiente