#!/usr/bin/env node

/**
 * Test YangMing Scraper
 * 
 * Usage:
 *   npx ts-node scripts/test-yangming-scraper.ts YMLU5511687
 */

import * as dotenv from "dotenv";
import path from "path";

// Load environment variables
dotenv.config({
  path: path.resolve(process.cwd(), ".env.local"),
});

// Import the scraper
import { scrapeShippingETA } from "../src/lib/shipping-scraper";

async function testYangMingScraper() {
  const containerNumber = process.argv[2] || "YMLU5511687";
  
  console.log("\n═══════════════════════════════════════════════════════════");
  console.log("       🚀 YangMing Shipping Scraper Test");
  console.log("═══════════════════════════════════════════════════════════\n");
  
  console.log(`📦 Testing with container: ${containerNumber}`);
  console.log(`🌐 Tracking URL: https://www.yangming.com/en/esolution/cargo_tracking\n`);
  
  try {
    console.log("🔄 Starting scraper...\n");
    
    const result = await scrapeShippingETA(containerNumber, "yangming");
    
    console.log("\n═══════════════════════════════════════════════════════════");
    console.log("                    📊 RESULTS");
    console.log("═══════════════════════════════════════════════════════════\n");
    
    console.log(`Status:          ${result.status}`);
    console.log(`Raw ETA:         ${result.etaRaw}`);
    console.log(`Formatted ETA:   ${result.etaFormatted || "N/A"}`);
    
    console.log("\n═══════════════════════════════════════════════════════════\n");
    
    if (result.status === "success") {
      console.log("✅ Test PASSED - ETA was successfully extracted!\n");
      process.exit(0);
    } else if (result.status === "not_found") {
      console.log("⚠️  Container not found in YangMing tracking system\n");
      process.exit(1);
    } else {
      console.log("❌ Test FAILED - An error occurred during scraping\n");
      process.exit(2);
    }
    
  } catch (error) {
    console.error("\n❌ Fatal Error:", error);
    process.exit(2);
  }
}

testYangMingScraper();
