seo-generator-server/tests/pipeline-4-phases-reporter-fix.test.js
StillHammer 4f60de68d6 Fix BatchProcessor initialization and add comprehensive test suite
- Fix BatchProcessor constructor to avoid server blocking during startup
- Add comprehensive integration tests for all modular combinations
- Enhance CLAUDE.md documentation with new test commands
- Update SelectiveLayers configuration for better LLM allocation
- Add AutoReporter system for test automation
- Include production workflow validation tests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 14:17:49 +08:00

75 lines
2.9 KiB
JavaScript

#!/usr/bin/env node
/**
* TEST PIPELINE 4 PHASES AVEC AUTOREPORTER FORCÉ
* Test compatible avec le runner Node.js pour détection correcte AutoReporter
*/
import { test } from 'node:test';
import { AutoReporter } from './reporters/AutoReporter.js';
// Démarrage AutoReporter AVANT le test
const autoReporter = new AutoReporter();
console.log('🚀 AutoReporter démarré pour capture pipeline 4 phases');
test('Pipeline 4 Phases Complet avec AutoReporter', async (t) => {
console.log('🔥 === DÉMARRAGE PIPELINE 4 PHASES ===');
console.log('📋 Workflow: Generation initial => adversarial => Heavy enhancement => human touch');
try {
// Import du module pipeline (CommonJS)
const { handleFullWorkflow } = await import('../lib/Main.js');
// Configuration test data
const testData = {
csvData: {
mc0: 'solutions digitales enterprise',
t0: 'Solutions digitales enterprise pour transformation métier avec architecture moderne et pipeline 4 phases',
personality: { nom: 'TechTest', style: 'technique' },
tMinus1: 'transformation digitale',
mcPlus1: 'architecture moderne,pipeline complet,solutions enterprise,transformation métier',
tPlus1: 'Architecture Moderne Enterprise,Pipeline Transformation Complet,Solutions Digitales Avancées,Métier Transformation Intelligente'
},
xmlTemplate: Buffer.from(`<?xml version='1.0' encoding='UTF-8'?>
<article>
<h1>|Titre_H1{{T0}}{Rédige titre H1 technique}|</h1>
<intro>|Introduction{{MC0}}{Introduction engagement}|</intro>
<avantages>|Avantages_Techniques{{MC0}}{Avantages techniques}|</avantages>
<conclusion>|Conclusion{{T0}}{Conclusion professionnelle}|</conclusion>
</article>`).toString('base64'),
source: 'pipeline_4_phases_test'
};
console.log('\n📝 PHASE 1/4: Génération Initiale (Content de base)');
// Configurer pour pipeline 4 phases
process.env.FORCE_4_PHASE_PIPELINE = 'true';
process.env.SELECTIVE_STACK = 'lightEnhancement';
process.env.ADVERSARIAL_STACK = 'lightDefense';
process.env.HUMAN_SIMULATION_STACK = 'lightSimulation';
// Lancer la pipeline complète
const result = await handleFullWorkflow(testData);
console.log('\n🎯 === PIPELINE 4 PHASES TERMINÉE ===');
console.log('✅ Toutes les phases exécutées avec succès');
console.log('📊 AutoReporter devrait capturer toutes les phases et LLM calls');
// Vérifier que nous avons un résultat
if (!result || !result.compiledText) {
throw new Error('Pipeline 4 phases n\'a pas produit de résultat valide');
}
console.log('✅ Test Pipeline 4 Phases RÉUSSI');
return true;
} catch (error) {
console.error('❌ ERREUR Pipeline 4 phases:', error.message);
throw error;
}
});
// Force flush des logs pour AutoReporter
process.stdout.write('🎯 Test pipeline 4 phases avec AutoReporter terminé\n');
console.log('\n🚀 Test configuré pour AutoReporter avec runner Node.js officiel');