#!/usr/bin/env npx ts-node

/**
 * Teste de Integração Completa
 * Testa buscarPublicacoesReais com um número de processo real
 */

import { buscarPublicacoesReais, buscarDataJud } from '../src/lib/diarios-service'

async function testarIntegracao() {
  console.log('='.repeat(60))
  console.log('🧪 Teste de Integração - Busca de Publicações')
  console.log('='.repeat(60))
  
  // Processo de teste (usando um real do TJSP que sabemos existir)
  const processoTeste = {
    id: 'teste-001',
    numeroProcesso: '1000044-50.2025.8.26.0220',
    tribunal: 'TJSP',
  }
  
  console.log(`\n📋 Processo de teste:`)
  console.log(`   Número: ${processoTeste.numeroProcesso}`)
  console.log(`   Tribunal: ${processoTeste.tribunal}`)
  
  console.log('\n🔍 Buscando publicações...\n')
  
  try {
    const resultado = await buscarPublicacoesReais(processoTeste, 365) // Últimos 365 dias
    
    console.log(`✅ Busca concluída!`)
    console.log(`   Sucesso: ${resultado.sucesso}`)
    console.log(`   Fonte: ${resultado.fonte}`)
    console.log(`   Publicações encontradas: ${resultado.publicacoes.length}`)
    
    if (resultado.erro) {
      console.log(`   Erro: ${resultado.erro}`)
    }
    
    if (resultado.publicacoes.length > 0) {
      console.log('\n📰 Publicações encontradas:')
      resultado.publicacoes.slice(0, 10).forEach((pub, i) => {
        console.log(`\n   ${i + 1}. ${pub.tipo}`)
        console.log(`      Data: ${pub.dataPublicacao.toISOString().split('T')[0]}`)
        console.log(`      Prazo: ${pub.prazoCalculado?.toISOString().split('T')[0]} (${pub.prazoTipo})`)
        console.log(`      Conteúdo: ${pub.conteudo.substring(0, 100)}...`)
      })
    }
    
    // Testar também busca direta no DataJud
    console.log('\n\n🔬 Testando busca direta DataJud (processo diferente)...')
    const resultado2 = await buscarDataJud('0020077-82.2022.8.26.0576', 'TJSP')
    console.log(`   Publicações: ${resultado2.publicacoes.length}`)
    
  } catch (error) {
    console.error('❌ Erro:', error)
  }
  
  console.log('\n' + '='.repeat(60))
  console.log('✅ Teste de integração finalizado')
  console.log('='.repeat(60))
}

testarIntegracao()
