# Tests del Módulo LIMS Este directorio contiene los tests automatizados para el módulo `lims_management`, específicamente para el sistema de catálogo de parámetros. ## Estructura de Tests ### 1. test_analysis_parameter.py Tests para el modelo `lims.analysis.parameter`: - Creación de parámetros con diferentes tipos de valores - Validaciones de campos requeridos - Prevención de códigos duplicados - Relaciones con rangos y análisis ### 2. test_parameter_range.py Tests para el modelo `lims.parameter.range`: - Creación de rangos de referencia - Validaciones de valores mínimos y máximos - Rangos específicos por género y edad - Búsqueda de rangos aplicables según características del paciente ### 3. test_result_parameter_integration.py Tests de integración entre resultados y parámetros: - Asignación de parámetros a resultados - Selección automática de rangos aplicables - Detección de valores fuera de rango y críticos - Formato de visualización de resultados ### 4. test_auto_result_generation.py Tests para la generación automática de resultados: - Creación automática al generar pruebas - Herencia de secuencia desde la configuración - Rendimiento en creación masiva ## Ejecución de Tests ### Usando Odoo Test Framework ```bash # Desde el servidor Odoo python3 -m odoo.cli.server -d lims_demo --test-enable --test-tags lims_management ``` ### Usando el Script Simplificado ```bash # Copiar script al contenedor docker cp test/test_parameters_simple.py lims_odoo:/tmp/ # Ejecutar tests docker-compose exec odoo python3 /tmp/test_parameters_simple.py ``` ## Cobertura de Tests Los tests cubren: 1. **Validaciones del Modelo** - Campos requeridos según tipo de parámetro - Restricciones de unicidad - Validaciones de rangos 2. **Lógica de Negocio** - Generación automática de resultados - Búsqueda de rangos aplicables - Cálculo de estados (fuera de rango, crítico) 3. **Integración** - Flujo completo desde orden hasta resultados - Compatibilidad con el sistema existente ## Datos de Prueba Los tests utilizan: - Parámetros de demostración del archivo `parameter_demo.xml` - Rangos de referencia de `parameter_range_demo.xml` - Análisis configurados en `analysis_parameter_config_demo.xml` ## Notas Importantes - Los tests se ejecutan en transacciones que se revierten automáticamente - No afectan los datos de producción o demostración - Requieren que el módulo esté instalado con datos demo