Skip to content

Latest commit

 

History

History
91 lines (67 loc) · 3.4 KB

File metadata and controls

91 lines (67 loc) · 3.4 KB

Testear el proyecto localmente

El proyecto usa Vitest como framework de testing. Todos los tests corren en Node sin necesidad de tener el gateway de OpenClaw activo ni una API key real — las llamadas HTTP se mockean con vi.spyOn(globalThis, "fetch").

Correr todos los tests

pnpm test

Debería mostrar 11 archivos y 65 tests pasando.

Correr un archivo específico

pnpm test tests/trades.test.ts
pnpm test tests/operations.test.ts
pnpm test tests/plugin.test.ts

Correr en modo watch (útil mientras desarrollás)

pnpm exec vitest

Vitest queda escuchando cambios y re-ejecuta los tests afectados automáticamente.

Verificar tipos sin compilar

pnpm typecheck

Usa tsc --noEmit. Debe terminar sin errores antes de hacer build.

Qué cubre cada archivo de tests

Archivo Qué valida
plugin.test.ts Registro correcto de las 11 herramientas, hooks de aprobación para trades y operations, cierre sobre pluginConfig
client.test.ts GET/POST con headers, query params, base URL y manejo de errores HTTP
balance.test.ts wallbit_get_checking_balance y wallbit_get_stocks_balance
transactions.test.ts Filtros, paginación y tipos de wallbit_get_transactions
assets.test.ts Listado y búsqueda de wallbit_list_assets, detalle por símbolo en wallbit_get_asset
wallets.test.ts Filtros de currency y network en wallbit_get_wallets
account-details.test.ts Parámetros country/currency en wallbit_get_account_details
rates.test.ts Par de divisas en wallbit_get_exchange_rate
fees.test.ts Tipo de operación en wallbit_get_fees
trades.test.ts Parámetros, error mapping y diálogo de aprobación en wallbit_create_trade
operations.test.ts Validación from !== to, error mapping y diálogo de aprobación en wallbit_create_operation

Tests live contra el API de dev

El suite test:live hace llamadas reales contra https://api.dev.wallbit.io/api/public/v1 usando una API key válida. No requiere variables de entorno — la key se pasa directo como argumento:

pnpm test:live -- --api-key=tu-api-key-de-dev

Cubre los 9 endpoints de solo lectura:

Test Endpoint
checking balance GET /balance/checking
stocks balance GET /balance/stocks
transactions GET /transactions
list assets GET /assets
get asset AAPL GET /assets/AAPL
exchange rate USD → ARS GET /rates
wallets GET /wallets
account details GET /account-details
fees TRADE POST /fees

wallbit_create_trade y wallbit_create_operation están excluidos intencionalmente — ejecutan órdenes reales y mueven fondos.

Si la key es inválida o el ambiente de dev está caído, los tests fallan con el mensaje de error de la API en lugar de un falso positivo.

Checklist completo antes de publicar

pnpm typecheck   # sin errores de tipos
pnpm test        # 65/65 tests en verde
pnpm build       # dist/index.js generado correctamente

Primera vez en un equipo nuevo: después de pnpm install hay que aprobar los scripts de instalación de las dependencias nativas una sola vez (pnpm 11+):

pnpm approve-builds esbuild koffi openclaw protobufjs tree-sitter-bash @google/genai

Esto escribe pnpm-workspace.yaml con las aprobaciones y no hace falta repetirlo.