Volver al Issue
Caso de Uso - Detalle
Nombre del Caso
Validar bloqueo de edición de orden después de 7 minutos (Prevención de fraude)
Contexto Funcional
Un cajero intenta editar una orden que fue creada hace más de 7 minutos para reducir productos después de haber cobrado al cliente. El sistema debe bloquear esta acción para prevenir robo de efectivo y mantener la integridad de los datos.
Escenario
Dado que existe una orden creada hace 8 minutos con:
- 5x Hamburguesa Especial ($10,000 c/u) = $50,000
- Estado: Pagado
- Método de pago: Efectivo
- Pager: AZUL #3
Cuando el cajero intenta acceder a editar esta orden para:
- Reducir las hamburguesas de 5 a 2 (intentando robar $30,000)
Entonces el sistema debe bloquear la edición y mostrar mensaje de error.
- 5x Hamburguesa Especial ($10,000 c/u) = $50,000
- Estado: Pagado
- Método de pago: Efectivo
- Pager: AZUL #3
Cuando el cajero intenta acceder a editar esta orden para:
- Reducir las hamburguesas de 5 a 2 (intentando robar $30,000)
Entonces el sistema debe bloquear la edición y mostrar mensaje de error.
Pasos de Prueba
1
Crear una orden y esperar mas de 7 minuto
2
Navegar al historial de órdenes
3
Buscar la orden
4
Intentar editar la orden
5
Observar los indicadores visuales
6
Intentar modificar productos (debe estar bloqueado)
7
Intentar guardar (botón deshabilitado)
Resultado Esperado
<pre class="ql-syntax" spellcheck="false">FRONTEND - Interfaz de Usuario:
- Alerta visual ROJA claramente visible en el header
- Mensaje: "⚠️ Han pasado más de 7 minutos. No se puede editar esta orden."
- Botón "Actualizar Orden" completamente deshabilitado
- No es posible modificar cantidades de productos
- Toast de advertencia al cargar la orden
FRONTEND - Si se intenta forzar actualización:
- Mensaje de error: "No se puede actualizar la orden. Han pasado más de
7 minutos desde su creación."
- Duración del toast: 5 segundos
- No se realiza ninguna petición al backend
BACKEND - Si se hace request directo con API:
- Código HTTP: 403 FORBIDDEN
- Response body:
{
"error": "ORDER_EDIT_TIME_EXCEEDED",
"message": "No se puede editar la orden después de 7 minutos de su creación",
"timestamp": "2026-01-14T14:30:00"
}
BASE DE DATOS:
- NO se crea ningún registro en `order_edit_history`
- La tabla `orders` NO se modifica
- Los productos originales permanecen intactos
SEGURIDAD:
- El intento de fraude es BLOQUEADO exitosamente
- No es posible reducir productos después del límite de tiempo
- El efectivo del cliente está protegido
</pre><p><br></p>
- Alerta visual ROJA claramente visible en el header
- Mensaje: "⚠️ Han pasado más de 7 minutos. No se puede editar esta orden."
- Botón "Actualizar Orden" completamente deshabilitado
- No es posible modificar cantidades de productos
- Toast de advertencia al cargar la orden
FRONTEND - Si se intenta forzar actualización:
- Mensaje de error: "No se puede actualizar la orden. Han pasado más de
7 minutos desde su creación."
- Duración del toast: 5 segundos
- No se realiza ninguna petición al backend
BACKEND - Si se hace request directo con API:
- Código HTTP: 403 FORBIDDEN
- Response body:
{
"error": "ORDER_EDIT_TIME_EXCEEDED",
"message": "No se puede editar la orden después de 7 minutos de su creación",
"timestamp": "2026-01-14T14:30:00"
}
BASE DE DATOS:
- NO se crea ningún registro en `order_edit_history`
- La tabla `orders` NO se modifica
- Los productos originales permanecen intactos
SEGURIDAD:
- El intento de fraude es BLOQUEADO exitosamente
- No es posible reducir productos después del límite de tiempo
- El efectivo del cliente está protegido
</pre><p><br></p>