name: erp-test description: > Executa tests de mòduls OpenERP/Som Energia utilitzant destral. Automatitza: verificar contenidors, executar scripts/run-tests.sh. Trigger: Quan necessites executar tests d'un mòdul OpenERP amb destral. metadata: author: oriol version: "1.1"
When to Use
Utilitza aquesta skill quan:
- Necessites executar tests d'un mòdul OpenERP del projecte
- Vols automatitzar el workflow de testing local
- Estàs desenvolupant un mòdul i necessites TDD
Configuració Requerida
Aquesta skill requereix:
- Virtualenv activat amb destral instal·lat. El nom habitual és
erp:- pyenv:
pyenv activate erp - virtualenvwrapper:
workon erp
- pyenv:
- Contenidors Docker: PostgreSQL, MongoDB, Redis
Workflow
Pas 1: Verificar Contenidors
docker ps --format "{{.Names}}" | grep -E "postgres|redis|mongo"
Contenidors esperats:
- PostgreSQL (src_db_1)
- MongoDB (src_mongo_1)
- Redis (src_redis_1)
Pas 2: Executar tests
scripts/run-tests.sh <database> -m <module_name>
Si no passes <database>, el script genera una DB determinística per branca/PR i la reutilitza entre execucions:
scripts/run-tests.sh -m <module_name>
En aquest mode, el wrapper afegeix --no-dropdb automàticament (si no l'has passat tu), perquè la DB es conservi.
Exemple:
scripts/run-tests.sh test_som_polissa -m som_polissa
Test únic:
scripts/run-tests.sh test_som_polissa -m som_polissa -t TestsClass.test_method
Forçar DB nova (sense reutilitzar cache de branca/PR):
OPENERP_TEST_DB_FRESH=1 scripts/run-tests.sh -m som_polissa
En mode OPENERP_TEST_DB_FRESH=1, el wrapper afegeix --dropdb automàticament (si no l'has passat tu) per netejar aquesta execució puntual.
Opcionalment pots fixar la referència usada per al nom determinístic:
OPENERP_TEST_DB_REF="IMP_fix_factures" scripts/run-tests.sh -m som_polissa
Errors Comuns
| Error | Causa | Solució |
|---|---|---|
destral: command not found |
Virtualenv no activat | pyenv activate erp o workon erp |
Connection refused to localhost:5432 |
PostgreSQL no corrent | docker-compose up -d |
Connection refused to localhost:27017 |
MongoDB no corrent | docker-compose up -d |
Connection refused to localhost:6379 |
Redis no corrent | docker-compose up -d |
Database does not exist |
DB no creada | destral la crea automàticament |
timeout |
Tests molt lents | Els tests d'OpenERP poden trigar 10+ min |
Integració amb SDD
Aquesta skill s'utilitza a les fases:
sdd-apply: Per verificar que el codi implementat passa els testssdd-verify: Per validar contra specs
El test runner detectat és: scripts/run-tests.sh (wrapper de destral)