erp-demo-testcase

star 4

Genera casos de test XML a la carpeta demo d'un mòdul OpenERP. Automatitza: validar mòdul, detectar camps obligatoris, resoldre many2one requerits i crear fitxers demo consistents. Trigger: Quan necessites afegir casos de test/demo XML a un mòdul OpenERP.

Som-Energia By Som-Energia schedule Updated 6/1/2026

name: erp-demo-testcase description: > Genera casos de test XML a la carpeta demo d'un mòdul OpenERP. Automatitza: validar mòdul, detectar camps obligatoris, resoldre many2one requerits i crear fitxers demo consistents. Trigger: Quan necessites afegir casos de test/demo XML a un mòdul OpenERP. metadata: author: oriol version: "0.1"

When to Use

Utilitza aquesta skill quan:

  • Vols afegir nous casos de test en demo/*.xml
  • Necessites crear registres d'un model amb camps obligatoris
  • El model té dependències (many2one) i cal crear prerequisits

Inputs Requerits

  • module_name: mòdul objectiu (ex: www_som)
  • model_name: model OpenERP (ex: res.partner)
  • record_id_prefix: prefix d'XML ID (ex: demo_www_som_partner)

Inputs Opcionals

  • optional_fields: diccionari de camps opcionals a omplir
  • target_file: fitxer demo concret (ex: demo/www_som_demo.xml)
  • create_dependencies: true/false (per defecte true)

Workflow

1) Validar context del mòdul

  • Verificar que existeix <module_name>/__init__.py
  • Verificar manifest (__terp__.py o equivalent) i carpeta demo/
  • Si no existeix demo/, crear-la

2) Descobrir camps obligatoris del model

  • Localitzar classe/model Python on es defineix _columns
  • Identificar camps required=True
  • Separar:
    • camps simples (char, boolean, integer, float, date, ...)
    • camps relacionals (many2one)

3) Resoldre dependències obligatòries

Per cada many2one required=True:

  • Reutilitzar XML ID existent si ja hi ha un registre vàlid a demo/
  • Si no existeix, crear registre mínim del model relacionat
  • Repetir recursivament fins tancar dependències

4) Construir registre demo principal

  • Crear <record id="..." model="...">
  • Omplir tots els camps obligatoris
  • Aplicar optional_fields del prompt (si n'hi ha)
  • Usar <field name="x" ref="module.xml_id"/> per many2one

5) Escriure/actualitzar XML

  • Guardar a demo/*.xml (fitxer existent o nou)
  • Mantenir IDs estables i únics
  • Mantenir ordre: dependències abans del registre principal
  • Si cal, registrar el fitxer demo al manifest del mòdul

6) Validacions finals

  • No hi ha ref trencats
  • No hi ha XML IDs duplicats
  • Tots els required=True estan coberts
  • El fitxer XML és ben format

Output Contract

Retornar sempre:

  • Fitxer(s) tocats (path)
  • XML IDs creats/reutilitzats
  • Llista de dependències creades
  • Camps obligatoris detectats
  • Decisions preses (defaults, reutilització, exclusions)

Guardrails

  • No modificar dades fora del mòdul objectiu
  • No inventar camps: només _columns reals del model
  • Si falta context funcional per omplir un camp obligatori, preguntar a l'usuari
  • Evitar side effects: només canvis a fitxers demo/manifest

Exemple d'ús

  • "Afegeix un cas demo al mòdul www_som pel model res.partner, amb camp opcional email"
  • "Crea registre demo per giscedata.polissa i resol les dependències obligatòries"
Install via CLI
npx skills add https://github.com/Som-Energia/openerp_som_addons --skill erp-demo-testcase
Repository Details
star Stars 4
call_split Forks 4
navigation Branch main
article Path SKILL.md
More from Creator