Skip to Content
Plan de pruebas8. Cajas y gastos

8. Cajas y gastos

Cubre registers (apertura/cierre de caja por usuario) y expenses.

Historial de ejecución

CicloFechaEjecutado porCasos ejecutadosResultado
1———Pendiente

Cajas (registers)

CP CAJ-01: Abrir caja con monto inicial

  • Pasos: POST /registers/open con store_id, opening_amount.
  • Resultado esperado: status="open", opened_at con la hora actual.
  • Resultado obtenido: Pendiente.

CP CAJ-02: Intentar abrir una segunda caja estando ya una abierta (mismo usuario)

  • Resultado esperado: debe rechazarse con el mensaje "ya tienes una caja abierta — ciérrala antes de abrir una nueva" (409).
  • Resultado obtenido: Pendiente.

CP CAJ-03: Dos usuarios distintos abren caja al mismo tiempo en la misma tienda

  • Objetivo: GetCurrent filtra por user_id, no por store_id — confirmar que efectivamente se permiten varias cajas abiertas simultáneas en la misma tienda (una por cajero), que es el comportamiento esperado para negocios con varios puntos de cobro.
  • Resultado obtenido: Pendiente.

CP CAJ-04: Cerrar caja con un monto de cierre distinto al esperado (descuadre)

  • Pasos: abrir con $100.000, vender $50.000 en efectivo, cerrar declarando $130.000 (sobrante) o $120.000 (faltante).
  • Resultado esperado a verificar: ¿el sistema calcula y muestra la diferencia esperada vs. declarada, o solo guarda el monto que el usuario escribe sin comparar contra las ventas del turno? Si no hay comparación automática, es una oportunidad de mejora de usabilidad importante para el caso de uso real de arqueo de caja.
  • Resultado obtenido: Pendiente.

CP CAJ-05: Intentar cerrar una caja sin tener ninguna abierta

  • Resultado esperado: error "no tienes una caja abierta" (409), no un crash.
  • Resultado obtenido: Pendiente.

CP CAJ-06: Ver el listado histórico de cajas filtrado por usuario y por rango de fechas

  • Resultado esperado: filtros combinables, resultados correctos.
  • Resultado obtenido: Pendiente.

Gastos

CP GAS-01: Registrar gasto con categoría existente

  • Resultado esperado: se crea y aparece en el reporte de gastos y en el dashboard del mes correspondiente.
  • Resultado obtenido: Pendiente.

CP GAS-02: Registrar gasto con categoría de texto libre no predefinida

  • Objetivo: category es un string libre, no una referencia a una tabla de categorías de gasto — confirmar que no hay autocompletado/normalización, lo que puede generar categorías duplicadas por errores de tipeo (ej. “Servicios” vs “servicios” vs “Servicio”).
  • Resultado esperado a verificar: si el reporte de gastos agrupa por categoría, confirmar si estos tres valores quedan como grupos separados — sugerir normalización o un selector con opciones existentes si se confirma el problema.
  • Resultado obtenido: Pendiente.

CP GAS-03: Registrar gasto con amount negativo

  • Resultado esperado a verificar: no hay validación de mínimo en el DTO — confirmar si acepta un gasto negativo y qué efecto tiene en los totales del dashboard (podría “restar” en vez de sumar gastos, inflando artificialmente el margen mostrado).
  • Resultado obtenido: Pendiente.

CP GAS-04: Registrar gasto sin tienda seleccionada

  • Resultado esperado: error 400 (store_id es binding:"required").
  • Resultado obtenido: Pendiente.

Notas de usabilidad y sugerencias

Se completa durante la ejecución.

© 2026 ClickStock