Awesome-omni-skill Testing Skill
Automatiza pruebas y diagnósticos del sistema SmartK et sin perder tiempo
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/testing-skill" ~/.claude/skills/diegosouzapw-awesome-omni-skill-testing-skill && rm -rf "$T"
manifest:
skills/development/testing-skill/SKILL.mdsource content
Testing Skill - SmartKet ERP
🎯 Propósito
Esta skill facilita la creación, ejecución y mantenimiento de pruebas en SmartKet, integrando los scripts existentes de
/Pruebas y proporcionando templates para tests automatizados.
🧪 Estrategia de Testing
Pirámide de Testing
/\ /E2E\ ← Pocos, críticos (Dusk, flow completo) /------\ / API \ ← Moderados (Feature tests, endpoints) /----------\ / UNIT \ ← Muchos, rápidos (Services, Models) /--------------\
Regla: 70% Unit, 20% API, 10% E2E
Tipos de Prueba en SmartKet
- Unit Tests - Lógica de Services y Modelos
- Feature Tests - Endpoints API completos
- Database Tests - Migraciones y seeders
- Frontend Tests - Componentes Vue (Vitest)
- Integration Tests - Flujos multi-tenant
📋 Checklist de Testing
Antes de Commit
- Tests de la funcionalidad nueva/modificada pasan
- Tests existentes no se rompieron
- Coverage mínimo: 60% en Services
Antes de Deploy
- Suite completa ejecutada (
)test-all.ps1 - Tests de integración multi-tenant pasados
- Diagnósticos de API (
) OKapi-tester.php - Tests de navegador críticos (login, registro) OK
🛠️ Scripts de Testing
1. Ejecutar Suite Completa
.\. agent\skills\testing\scripts\test-runner.ps1
Qué hace:
- Tests PHPUnit (backend)
- Tests Vitest (frontend)
- Diagnosis de API
- Diagnosis de DB
2. Probar Endpoints API
cd smartket-api php ..\.agent\skills\testing\scripts\api-tester.php
Qué hace: Prueba endpoints críticos con datos reales
3. Diagnóstico de Base de Datos
cd smartket-api php ..\.agent\skills\testing\scripts\db-diagnostics.php
Qué hace: Verifica esquemas landlord y tenant
📚 Templates de Tests
Feature Test Template
Ver:
.agent/skills/testing/examples/feature-test-example.php
// Test de endpoint API test('can create product', function () { $response = $this->postJson('/api/products', [ 'name' => 'Test Product', 'price' => 99.99 ]); $response->assertStatus(201) ->assertJsonStructure(['id', 'name', 'price']); });
Unit Test Template
Ver:
.agent/skills/testing/examples/unit-test-example.php
// Test de Service test('ProductService creates product correctly', function () { $service = new ProductService(); $product = $service->create(['name' => 'Test', 'price' => 50]); expect($product)->toBeInstanceOf(Product::class) ->and($product->name)->toBe('Test'); });
🚨 Tests Críticos Obligatorios
Backend
- Auth: Login, logout, token refresh
- Multi-Tenant: Aislamiento de datos
- RBAC: Permisos granulares
- Business Logic: Cálculos de ventas, stock
Frontend
- Login Flow: Desde landing hasta app
- Dashboard: Carga correcta de datos
- Components: Buttons, modals, forms
📖 Integración con /Pruebas
Los scripts de
/Pruebas existentes están integrados:
→ Verificar usuarios'diagnostico-usuario.php
→ Test manual de authsimular-login.php
→ Validar CORStest-cors.ps1
→ Documentación de usoREADME.md
Usar estos para debugging manual cuando los tests automatizados fallen.
🎓 Cuándo Usar Esta Skill
✅ Usar cuando:
- Agregues nueva funcionalidad (TDD)
- Refactorices código existente
- Debuggees error de producción
- Prepares deployment
❌ No reemplaza:
- Testing manual de UX
- Code review humano
💡 Best Practices
- Tests rápidos: Unit tests < 100ms
- Tests aislados: No depender de orden
- Data factories: Usa factories para datos de prueba
- Cleanup: Tests deben limpiar lo que crean
- Descriptivos: Nombre debe describir qué prueba
// ❌ Malo test('test 1', function () { ... }); // ✅ Bueno test('customer can purchase product when in stock', function () { ... });