← back to Wine Finder

test-crawler.js

51 lines

#!/usr/bin/env node

/**
 * Quick test of wine crawler - searches just 2 queries
 */

const path = require('path');
require('dotenv').config({ path: path.join(__dirname, '.env') });

const wineAggregator = require('./services/wineAggregator');

async function quickTest() {
  console.log('Testing wine crawler with 2 quick queries...\n');

  const queries = ['Cabernet Sauvignon', 'Chardonnay'];

  for (const query of queries) {
    console.log(`\nSearching: "${query}"`);

    try {
      const result = await wineAggregator.searchAll(query, {
        sources: ['vivino', 'totalwine', 'winesensed'],
        deduplicate: true,
        sortBy: 'price',
        limit: 5
      });

      if (result.success) {
        console.log(`✓ Found ${result.wines.length} wines`);

        // Show first 2 wines
        result.wines.slice(0, 2).forEach((wine, i) => {
          console.log(`  ${i+1}. ${wine.name} - $${wine.price || 'N/A'} (${wine.source})`);
        });

        if (result.errors) {
          console.log(`  ⚠ Errors: ${result.errors.length}`);
        }
      } else {
        console.log(`✗ Search failed`);
      }
    } catch (error) {
      console.log(`✗ Error: ${error.message}`);
    }
  }

  console.log('\n✓ Quick test completed!');
}

quickTest().catch(console.error);