
- Creados 4 archivos de test completos con cobertura total - test_analysis_parameter.py: Tests del modelo de parámetros - test_parameter_range.py: Tests de rangos de referencia - test_result_parameter_integration.py: Tests de integración - test_auto_result_generation.py: Tests de generación automática - Creado script simplificado test_parameters_simple.py para ejecución rápida - Corregido valor por defecto de age_max a 150 en parameter_range.py - Documentación completa en README.md
80 lines
2.4 KiB
Markdown
80 lines
2.4 KiB
Markdown
# 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 |