import { describe, it, expect, beforeAll, afterAll } from 'bun:test'; import { Database } from 'bun:sqlite'; import { initializeDatabase } from '../../../src/db'; import { setDb, resetDb } from '../../../src/db/locator'; import { CommandService } from '../../../src/services/command'; describe('CommandService - t ayuda y t ayuda avanzada usando help centralizado', () => { let memdb: Database; beforeAll(() => { memdb = new Database(':memory:'); initializeDatabase(memdb); setDb(memdb); }); afterAll(() => { resetDb(); try { (memdb as any)?.close?.(); } catch {} }); it('"t ayuda" incluye quick help y CTA a ayuda avanzada', async () => { const res = await CommandService.handle({ sender: '600000001', groupId: '', message: 't ayuda', mentions: [], }); expect(Array.isArray(res)).toBe(true); expect(res.length).toBeGreaterThan(0); const msg = res[0].message; expect(msg).toContain('t mias'); expect(msg).toContain('t web'); expect(msg).toContain('Ayuda avanzada'); expect(msg).toContain('t ayuda avanzada'); // Configurar etiquetas en español expect(msg).toContain('diario|l-v|semanal|off'); }); it('"t ayuda avanzada" incluye scopes de ver y formatos de fecha', async () => { const res = await CommandService.handle({ sender: '600000001', groupId: '', message: 't ayuda avanzada', mentions: [], }); const msg = res[0].message; // Scopes de ver expect(msg).toContain('t mias'); expect(msg).toContain('t todas'); // Formatos de fecha expect(msg).toContain('27-09-04'); // Configurar etiquetas en español expect(msg).toContain('diario|l-v|semanal|off'); }); });