Files
threetwo-core-service/test-real-canonical.js
2025-10-29 12:25:05 -04:00

59 lines
2.2 KiB
JavaScript

const mongoose = require('mongoose');
const Comic = require('./models/comic.model.js');
async function testRealCanonicalMetadata() {
try {
await mongoose.connect('mongodb://localhost:27017/threetwo');
console.log('🔍 Testing canonical metadata with real comics from database...\n');
// Find a recently imported comic
const comic = await Comic.findOne({}).sort({createdAt: -1}).limit(1);
if (!comic) {
console.log('❌ No comics found in database');
return;
}
console.log('📚 Found comic:', comic.inferredMetadata?.name || 'Unknown');
console.log('📅 Created:', comic.createdAt);
console.log('');
// Check if canonical metadata exists
if (comic.canonicalMetadata) {
console.log('✅ Canonical metadata structure exists!');
console.log('📊 Completeness score:', comic.canonicalMetadata.completenessScore);
console.log('📝 Has user modifications:', comic.canonicalMetadata.hasUserModifications);
console.log('');
// Show some sample canonical fields
if (comic.canonicalMetadata.title) {
console.log('🏷️ Title:', comic.canonicalMetadata.title.value);
console.log(' Source:', comic.canonicalMetadata.title.source);
console.log(' User selected:', comic.canonicalMetadata.title.userSelected);
}
if (comic.canonicalMetadata.publisher) {
console.log('🏢 Publisher:', comic.canonicalMetadata.publisher.value);
console.log(' Source:', comic.canonicalMetadata.publisher.source);
}
if (comic.canonicalMetadata.series && comic.canonicalMetadata.series.name) {
console.log('📖 Series:', comic.canonicalMetadata.series.name.value);
console.log(' Source:', comic.canonicalMetadata.series.name.source);
}
console.log('');
console.log('🎯 Canonical metadata system is working with real comics!');
} else {
console.log('❌ No canonical metadata found');
console.log('📋 Available fields:', Object.keys(comic.toObject()));
}
} catch (error) {
console.error('❌ Error:', error.message);
} finally {
await mongoose.disconnect();
}
}
testRealCanonicalMetadata();