# TESTING_GUIDE.md — Guía de Tests del Organismo 4GatosCoin

Esta guía define cómo testear cada órgano, cada endpoint, cada flujo y cada interacción del organismo 4GatosCoin.  
Su objetivo es garantizar estabilidad, coherencia, seguridad y sincronización entre todos los sistemas.

---

# 1. Principios del Testing

El testing del organismo sigue estos principios:

- **Aislamiento**: cada órgano se testea por separado.  
- **Secuencialidad**: los tests siguen el flujo del organismo.  
- **Reactividad**: cada evento debe generar el impacto esperado.  
- **Trazabilidad**: cada test debe generar logs.  
- **Narrativa**: los tests deben respetar la lógica simbólica.  
- **Sandbox-first**: todo se prueba primero en sandbox.  

---

# 2. Tipos de Tests

| Tipo | Descripción |
|------|-------------|
| Unitarios | Testean funciones individuales |
| Integración | Testean interacción entre órganos |
| End-to-end | Testean el flujo completo del organismo |
| Narrativos | Testean ecos, silencios y patrones |
| Territoriales | Testean expansión y dominancia |
| Temporadas | Testean reglas dinámicas |
| Rituales | Testean activación y propagación |
| Sandbox | Testean simulaciones aisladas |

---

# 3. Estructura de Tests

Los tests viven en:

```
tests/
  gestos.test.ts
  energia.test.ts
  territorio.test.ts
  avatar.test.ts
  memoria.test.ts
  ciclos.test.ts
  temporadas.test.ts
  rituales.test.ts
  seeds.test.ts
  heartbeat.test.ts
  clauses.test.ts
  narrative.test.ts
  globalstate.test.ts
  events.test.ts
```

---

# 4. Tests por Órgano

## 4.1. Gestos
Validar:

- registro del gesto  
- puntos generados  
- energía generada  
- logs generados  
- impacto en latido  

---

## 4.2. Energía
Validar:

- generación  
- consumo  
- energía por zona  
- energía por ciclo  
- energía por temporada  

---

## 4.3. Territorio
Validar:

- expansión  
- dominancia  
- zonas activas  
- impacto de energía  

---

## 4.4. Avatar
Validar:

- nivel  
- racha  
- energía personal  
- narrativa personal  

---

## 4.5. Memoria
Validar:

- ecos  
- silencios  
- anomalías  
- narrativa profunda  

---

## 4.6. Ciclos
Validar:

- umbrales  
- energía acumulada  
- transición de ciclo  

---

## 4.7. Temporadas
Validar:

- reglas activas  
- ambiente  
- impacto en puntos  
- impacto en energía  

---

## 4.8. Rituales
Validar:

- activación  
- participación  
- impacto energético  
- impacto narrativo  

---

## 4.9. Semillas
Validar:

- generación  
- rareza  
- distribución  

---

## 4.10. Latido
Validar:

- frecuencia  
- intensidad  
- variación  

---

## 4.11. Cláusulas
Validar:

- condiciones  
- activación  
- impacto ritual  

---

## 4.12. Narrativa
Validar:

- ecos generados  
- patrones detectados  
- narrativa superficial  
- narrativa profunda  

---

## 4.13. Estado Global
Validar:

- sincronización  
- coherencia  
- impacto de eventos  

---

## 4.14. Eventos
Validar:

- clasificación  
- propagación  
- impacto  
- logs  

---

# 5. Tests End-to-End

Flujo completo:

```
gesto → puntos → energía → latido → territorio → ciclo → temporada → memoria → narrativa → estado global
```

Validar:

- coherencia  
- sincronización  
- ausencia de loops  
- ausencia de duplicación  

---

# 6. Tests Narrativos

Validar:

- ecos  
- silencios  
- anomalías  
- narrativa profunda  
- narrativa territorial  
- narrativa de temporada  

---

# 7. Tests en Sandbox

El Sandbox permite:

- simular gestos  
- simular energía  
- simular ciclos  
- simular temporadas  
- simular rituales  
- simular narrativa  
- simular territorio  

Validar:

- impacto virtual  
- logs virtuales  
- estado virtual  
- narrativa virtual  

---

# 8. Reglas de Testing

- cada test debe ser independiente  
- cada test debe generar logs  
- cada test debe limpiar su estado  
- nunca testear producción  
- nunca mezclar órganos  
- nunca testear narrativa sin contexto  

---

# 9. Comandos

### Ejecutar todos los tests
```
npm test
```

### Ejecutar tests de un órgano
```
npm test -- gestos
```

### Ejecutar tests en sandbox
```
npm run sandbox-test
```

---

# 10. Roadmap del Testing

- tests narrativos generativos  
- tests territoriales avanzados  
- tests de temporadas dinámicas  
- tests de rituales combinatorios  
- tests de ecos globales  
- tests de avatar visual  

---

# 11. Licencia
Proyecto interno.  
Acceso restringido a desarrolladores autorizados.
