import { ExtractContentUseCase } from './usecase/ExtractContentUseCase.js';
import { FakeGenAI } from './adapter/FakeGenAI.js';
import { Url } from './domain/Url.js';
import { ModelName } from './domain/ModelName.js';
async function runTest(): Promise<void> {
try {
console.log('🧪 Running basic functionality test...');
// Setup
const fakeGenAI = new FakeGenAI();
const useCase = new ExtractContentUseCase(fakeGenAI);
// Test data
const urls = [Url.create('https://example.com')];
const query = '見出しを要約して';
const model = ModelName.create('gemini-2.0-flash-exp');
const maxChars = 8000;
// Execute
const result = await useCase.execute(urls, query, model, maxChars);
// Verify
console.log('✅ Test passed!');
console.log('Result:', JSON.stringify(result.toJSON(), null, 2));
console.log(`Pages: ${result.pages.length}`);
console.log(`Answer: ${result.answer}`);
console.log(`Status: ${result.urlContextMetadata.status}`);
} catch (error) {
console.error('❌ Test failed:', error);
process.exit(1);
}
}
runTest();