Files
FRASA-CAS/api-gateway/src/controllers/ai.controller.test.ts
Consult AS Technology aa27e89c75 feat: mis cobranzas, recordatorios de pago y agente IA con acciones
- PlanPago.vendedorId + filtro ?mios=1; toggle Mis planes/Todos en /pay
- Motor de recordatorios: próximos a vencer (3d) y vencidos (re-cada 7d),
  canal Monday Actividad + stub WhatsApp listo para WA CRM, log persistente,
  cron diario 9:30, run manual con dry-run, historial en /api/cobranza/recordatorios
- Agente IA: memoria por usuario (conversaciones aisladas) y tool calling:
  cotizar_unidad (motor real por desarrollo) y buscar_unidad (inventario Monday)
- Tests: api 261, cobranza 75, agente-ia 13
2026-08-28 08:07:12 +00:00

15 lines
647 B
TypeScript

import { describe, expect, it } from 'vitest'
import { filtroConversaciones } from './ai.controller.js'
describe('filtroConversaciones (aislamiento por usuario)', () => {
it('cada usuario solo ve sus conversaciones', () => {
expect(filtroConversaciones({ sub: 'u1', rol: 'vendedor' })).toEqual({ usuarioId: 'u1' })
expect(filtroConversaciones({ sub: 'u2', rol: 'coordinador' })).toEqual({ usuarioId: 'u2' })
})
it('admin las ve todas; sin token (AUTH_ENABLED=false) también', () => {
expect(filtroConversaciones({ sub: 'u1', rol: 'admin' })).toBeUndefined()
expect(filtroConversaciones(undefined)).toBeUndefined()
})
})