Sistema NEXUS v3.4 migrado con: Estructura principal: - core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles) - core/catalog: Catalogo de funcionalidades reutilizables - shared/knowledge-base: Base de conocimiento compartida - devtools/scripts: Herramientas de desarrollo - control-plane/registries: Control de servicios y CI/CD - orchestration/: Configuracion de orquestacion de agentes Proyectos incluidos (11): - gamilit (submodule -> GitHub) - trading-platform (OrbiquanTIA) - erp-suite con 5 verticales: - erp-core, construccion, vidrio-templado - mecanicas-diesel, retail, clinicas - betting-analytics - inmobiliaria-analytics - platform_marketing_content - pos-micro, erp-basico Configuracion: - .gitignore completo para Node.js/Python/Docker - gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git) - Sistema de puertos estandarizado (3005-3199) Generated with NEXUS v3.4 Migration System EPIC-010: Configuracion Git y Repositorios
5.9 KiB
5.9 KiB
TEST PLAN - MGN-005: Inventario Básico
Módulo: MGN-005 - Inventario Básico Sprint: Sprint 12-15 (Semanas 23-30) Story Points: 66 SP User Stories: 14 US Fecha: 2025-11-24 QA Owner: TBD Estado: Draft
1. RESUMEN DEL MÓDULO
1.1 Descripción
El módulo MGN-005 Inventario Básico gestiona productos, almacenes, ubicaciones, movimientos de stock, pickings (albaranes), trazabilidad con lotes/series, valoración de inventario (FIFO/Promedio) e inventarios físicos.
1.2 Funcionalidades Principales
- Productos: CRUD de productos con variantes, BoM, proveedores
- Almacenes y Ubicaciones: Gestión de warehouses con ubicaciones físicas
- Movimientos de Stock: Registro de entradas, salidas, transferencias
- Pickings: Albaranes de entrada y salida con confirmación
- Trazabilidad: Lotes y números de serie para seguimiento
- Valoración de Inventario: FIFO, promedio ponderado, costo estándar
- Inventario Físico: Conteos y ajustes de stock
1.3 Dependencias
- MGN-001: Fundamentos
- MGN-002: Empresas
- MGN-003: Catálogos (UoM, categorías)
2. ALCANCE DEL TESTING
2.1 En Alcance
- ✅ CRUD de productos con variantes
- ✅ Gestión de almacenes y ubicaciones
- ✅ Movimientos de stock (entrada, salida, ajuste, transferencia)
- ✅ Pickings con workflow (draft -> confirmed -> done)
- ✅ Trazabilidad por lotes y números de serie
- ✅ Valoración FIFO y promedio ponderado
- ✅ Inventario físico y ajustes
- ✅ Niveles de stock (disponible, reservado, en tránsito)
- ✅ Reglas de reordenamiento (min/max stock)
2.2 Fuera de Alcance
- ❌ Dropshipping (Fase 2)
- ❌ Kitting/Desarmado (Fase 2)
- ❌ Cross-docking (Fase 2)
3. ESTRATEGIA DE TESTING
3.1 Tipos de Tests
Unit Tests: 84 tests
- ProductService: 20 tests
- StockMoveService: 25 tests
- PickingService: 15 tests
- ValuationService: 15 tests (FIFO, promedio)
- Frontend components: 9 tests
Integration Tests: 42 tests
- Products API: 12 tests
- Stock Moves API: 15 tests
- Pickings API: 10 tests
- Inventory Adjustments API: 5 tests
E2E Tests: 14 tests
- Crear producto con variantes (color, talla)
- Registrar entrada de stock (compra), validar stock disponible
- Registrar salida de stock (venta), validar stock
- Transferir stock entre ubicaciones
- Crear picking de entrada, confirmar, validar movimientos
- Valorar inventario con FIFO
- Realizar inventario físico, ajustar diferencias
- Trazabilidad: crear lote, rastrear movimientos
- Stock negativo (debe ser prevenido)
- Reserva de stock para orden de venta
4. TEST CASES (CRÍTICOS)
TC-MGN-005-001: Movimiento de Stock Actualiza Cantidad Disponible
Prioridad: P0
Precondiciones:
- Producto "Laptop" con stock inicial 0
- Ubicación "WH-01-A-001" existe
Pasos:
- POST /api/v1/stock-moves (entrada de 10 unidades)
- GET /api/v1/products/:id/stock
Resultado Esperado:
- Stock disponible: 10
- Movimiento registrado en stock_moves table
- Quant creado en stock_quants table
TC-MGN-005-002: Valoración FIFO Calcula Costo Correctamente
Prioridad: P0
Precondiciones:
- Producto "Laptop" con valoración FIFO
Pasos:
- Entrada 10 unidades a $1000 c/u (costo total $10,000)
- Entrada 5 unidades a $1200 c/u (costo total $6,000)
- Salida 12 unidades
- GET /api/v1/products/:id/valuation
Resultado Esperado:
- Costo de salida: (10 * $1000) + (2 * $1200) = $12,400
- Stock restante: 3 unidades a $1200
- Valor de inventario: 3 * $1200 = $3,600
TC-MGN-005-003: Stock Negativo es Prevenido
Prioridad: P0
Precondiciones:
- Producto "Laptop" con stock 5
Pasos:
- POST /api/v1/stock-moves (salida de 10 unidades)
Resultado Esperado:
- Status code: 400 Bad Request
- Error: "Stock insuficiente. Disponible: 5, Requerido: 10"
- Movimiento no se crea
TC-MGN-005-004: Inventario Físico Ajusta Diferencias
Prioridad: P0
Precondiciones:
- Producto "Laptop" con stock teórico 100
Pasos:
- Realizar conteo físico: 95 unidades
- POST /api/v1/inventory-adjustments (diferencia: -5)
Resultado Esperado:
- Stock actualizado: 95
- Movimiento de ajuste registrado con motivo "Inventario físico"
- Valoración ajustada según diferencia
5. DATOS DE PRUEBA
Productos (50):
- 10 productos con variantes (laptop con variantes RAM/SSD)
- 20 productos simples
- 10 productos con trazabilidad (lote o serie)
- 10 productos con múltiples proveedores
Almacenes (3):
- WH-01 Buenos Aires (20 ubicaciones)
- WH-02 Córdoba (15 ubicaciones)
- WH-03 Rosario (10 ubicaciones)
Movimientos de Stock (100):
- 50 entradas (compras, ajustes)
- 40 salidas (ventas, ajustes)
- 10 transferencias entre ubicaciones
6. SCHEDULE
| Sprint | RF | Actividad | Duración |
|---|---|---|---|
| Sprint 12-13 | RF-001, RF-002 | Productos, Almacenes | 4 sem |
| Sprint 14 | RF-003, RF-004 | Movimientos, Pickings | 2 sem |
| Sprint 15 | RF-005, RF-006, RF-007 | Trazabilidad, Valoración, Inventario | 2 sem |
7. RIESGOS ESPECÍFICOS
| Riesgo | Probabilidad | Impacto | Mitigación |
|---|---|---|---|
| Stock negativo | Alta | Crítico | Validación estricta. Constraint en BD. |
| Valoración FIFO incorrecta | Media | Alto | Unit tests exhaustivos. Casos de prueba con contadores. |
| Concurrencia en movimientos | Alta | Alto | Row locking. Transacciones. Retry logic. |
8. MÉTRICAS
Total test cases: 140
- Unit: 84
- Integration: 42
- E2E: 14
9. REFERENCIAS
Versión: 1.0 Última actualización: 2025-11-24 Estado: Draft