import { consultarConstanciaContribuyente } from '../src/services/constancia.service.js'; import { consultarOpinionContribuyente } from '../src/services/opinion-cumplimiento.service.js'; import { tenantDb, prisma } from '../src/config/database.js'; const CONTRIBUYENTE_ID = 'cc41d462-4270-4949-aa9b-f0a175784659'; // AFP7404301DA - tiene FIEL, sin CSF/opinión async function main() { const tenant = await prisma.tenant.findUnique({ where: { rfc: 'DESPACHO_MPG95QP7_XZVFF' }, select: { id: true, databaseName: true }, }); if (!tenant) throw new Error('Tenant no encontrado'); const pool = await tenantDb.getPool(tenant.id, tenant.databaseName); console.log(`[TEST] Iniciando prueba secuencial para contribuyente ${CONTRIBUYENTE_ID}`); console.log(`[TEST] Timestamp: ${new Date().toISOString()}`); // 1. CSF console.log('\n[TEST] === 1. Constancia de Situación Fiscal ==='); const csfStart = Date.now(); try { const csf = await consultarConstanciaContribuyente(pool, CONTRIBUYENTE_ID); console.log(`[TEST] CSF OK en ${(Date.now() - csfStart) / 1000}s`); console.log(`[TEST] RFC: ${csf.rfc}, Razón: ${csf.razonSocial}, Estatus: ${csf.estatusPadron}`); } catch (err: any) { console.error(`[TEST] CSF FALLÓ en ${(Date.now() - csfStart) / 1000}s:`, err.message || err); } // 2. Opinión console.log('\n[TEST] === 2. Opinión de Cumplimiento ==='); const opinionStart = Date.now(); try { const opinion = await consultarOpinionContribuyente(pool, CONTRIBUYENTE_ID); console.log(`[TEST] Opinión OK en ${(Date.now() - opinionStart) / 1000}s`); console.log(`[TEST] RFC: ${opinion.rfc}, Estatus: ${opinion.estatus}, Folio: ${opinion.folio}`); } catch (err: any) { console.error(`[TEST] Opinión FALLÓ en ${(Date.now() - opinionStart) / 1000}s:`, err.message || err); } console.log('\n[TEST] Prueba finalizada'); } main() .then(() => process.exit(0)) .catch((e) => { console.error('[TEST] Error fatal:', e); process.exit(1); });