seo-generator-server/tests/massive-ti-applications-partial.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

403 lines
13 KiB
JavaScript

import test from 'node:test';
import assert from 'node:assert';
import { requireCommonJS } from './_helpers/commonjs-bridge.js';
import { AutoReporter } from './reporters/AutoReporter.js';
/**
* 20 TESTS D'INTÉGRATION AVEC APPLICATIONS PARTIELLES
* Couverture massive des stacks modulaires avec différents providers et configurations
*/
// Auto-Reporter Configuration
const autoReporter = new AutoReporter();
// Configuration test commune
const mockCsvData = {
mc0: 'plaque test applications partielles',
t0: 'Test applications partielles massives',
personality: {
nom: 'Marc',
style: 'technique',
description: 'Expert technique pour tests massifs'
}
};
const mockContent = {
'Titre_H1': 'Test titre applications partielles',
'Introduction': 'Test introduction pour applications modulaires',
'Contenu_Principal': 'Test contenu principal avec applications partielles techniques',
'Conclusion': 'Test conclusion applications partielles'
};
// =========================================
// TESTS SELECTIVE APPLICATIONS PARTIELLES
// =========================================
test('TI Partial 1: lightEnhancement avec technical seulement', { timeout: 60000 }, async () => {
const { applyPredefinedStack } = requireCommonJS('selective-enhancement/SelectiveLayers');
const result = await applyPredefinedStack(
mockContent,
'lightEnhancement',
mockCsvData,
{ source: 'ti_partial_1' }
);
assert.ok(result.content, 'Content généré');
assert.ok(result.stats, 'Stats disponibles');
console.log('✅ TI Partial 1: lightEnhancement technical');
});
test('TI Partial 2: standardEnhancement avec technical + transitions', { timeout: 90000 }, async () => {
const { applyPredefinedStack } = requireCommonJS('selective-enhancement/SelectiveLayers');
const result = await applyPredefinedStack(
mockContent,
'standardEnhancement',
mockCsvData,
{ source: 'ti_partial_2' }
);
assert.ok(result.content, 'Content généré');
assert.ok(result.stats, 'Stats disponibles');
console.log('✅ TI Partial 2: standardEnhancement technical+transitions');
});
test('TI Partial 3: fullEnhancement avec 3 couches', { timeout: 120000 }, async () => {
const { applyPredefinedStack } = requireCommonJS('selective-enhancement/SelectiveLayers');
const result = await applyPredefinedStack(
mockContent,
'fullEnhancement',
mockCsvData,
{ source: 'ti_partial_3' }
);
assert.ok(result.content, 'Content généré');
assert.ok(result.stats, 'Stats disponibles');
console.log('✅ TI Partial 3: fullEnhancement 3 couches');
});
test('TI Partial 4: Selective technical avec intensité 1.2', { timeout: 60000 }, async () => {
const { SelectiveCore } = requireCommonJS('selective-enhancement/SelectiveCore');
const result = await SelectiveCore.applySelectiveLayer(
mockContent,
'technical',
{ ...mockCsvData, intensity: 1.2 },
{ source: 'ti_partial_4' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 4: Technical intensité 1.2');
});
test('TI Partial 5: Selective transitions avec Gemini', { timeout: 90000 }, async () => {
const { SelectiveCore } = requireCommonJS('selective-enhancement/SelectiveCore');
const result = await SelectiveCore.applySelectiveLayer(
mockContent,
'transitions',
{ ...mockCsvData, preferredProvider: 'gemini' },
{ source: 'ti_partial_5' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 5: Transitions avec Gemini');
});
// =========================================
// TESTS ADVERSARIAL APPLICATIONS PARTIELLES
// =========================================
test('TI Partial 6: Adversarial general mode light', { timeout: 60000 }, async () => {
const { AdversarialCore } = requireCommonJS('adversarial-generation/AdversarialCore');
const result = await AdversarialCore.applyAdversarialEnhancement(
mockContent,
'general',
{ mode: 'light', ...mockCsvData },
{ source: 'ti_partial_6' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 6: Adversarial general light');
});
test('TI Partial 7: Adversarial gptZero mode standard', { timeout: 60000 }, async () => {
const { AdversarialCore } = requireCommonJS('adversarial-generation/AdversarialCore');
const result = await AdversarialCore.applyAdversarialEnhancement(
mockContent,
'gptZero',
{ mode: 'standard', ...mockCsvData },
{ source: 'ti_partial_7' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 7: Adversarial gptZero standard');
});
test('TI Partial 8: Adversarial originality mode heavy', { timeout: 90000 }, async () => {
const { AdversarialCore } = requireCommonJS('adversarial-generation/AdversarialCore');
const result = await AdversarialCore.applyAdversarialEnhancement(
mockContent,
'originality',
{ mode: 'heavy', ...mockCsvData },
{ source: 'ti_partial_8' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 8: Adversarial originality heavy');
});
test('TI Partial 9: Stack lightDefense complet', { timeout: 90000 }, async () => {
const { AdversarialLayers } = requireCommonJS('adversarial-generation/AdversarialLayers');
const result = await AdversarialLayers.applyPredefinedStack(
mockContent,
'lightDefense',
mockCsvData,
{ source: 'ti_partial_9' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 9: lightDefense stack');
});
test('TI Partial 10: Stack standardDefense avec Claude', { timeout: 120000 }, async () => {
const { AdversarialLayers } = requireCommonJS('adversarial-generation/AdversarialLayers');
const result = await AdversarialLayers.applyPredefinedStack(
mockContent,
'standardDefense',
{ ...mockCsvData, preferredProvider: 'claude' },
{ source: 'ti_partial_10' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 10: standardDefense avec Claude');
});
// =========================================
// TESTS HUMAN SIMULATION APPLICATIONS PARTIELLES
// =========================================
test('TI Partial 11: Human Simulation lightSimulation', { timeout: 60000 }, async () => {
const { HumanSimulationCore } = requireCommonJS('human-simulation/HumanSimulationCore');
const result = await HumanSimulationCore.applyHumanSimulation(
mockContent,
'lightSimulation',
mockCsvData,
{ source: 'ti_partial_11' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 11: Human lightSimulation');
});
test('TI Partial 12: Human Simulation personalityFocus', { timeout: 90000 }, async () => {
const { HumanSimulationCore } = requireCommonJS('human-simulation/HumanSimulationCore');
const result = await HumanSimulationCore.applyHumanSimulation(
mockContent,
'personalityFocus',
mockCsvData,
{ source: 'ti_partial_12' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 12: Human personalityFocus');
});
test('TI Partial 13: Human Simulation avec fatigue patterns', { timeout: 60000 }, async () => {
const { FatiguePatterns } = requireCommonJS('human-simulation/FatiguePatterns');
const result = await FatiguePatterns.applyFatigueSimulation(
mockContent,
{ level: 0.7, ...mockCsvData },
{ source: 'ti_partial_13' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 13: Fatigue patterns 0.7');
});
// =========================================
// TESTS PATTERN BREAKING APPLICATIONS PARTIELLES
// =========================================
test('TI Partial 14: Pattern Breaking syntaxFocus', { timeout: 60000 }, async () => {
const { PatternBreakingCore } = requireCommonJS('pattern-breaking/PatternBreakingCore');
const result = await PatternBreakingCore.applyPatternBreaking(
mockContent,
'syntaxFocus',
mockCsvData,
{ source: 'ti_partial_14' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 14: Pattern syntaxFocus');
});
test('TI Partial 15: Pattern Breaking connectorsFocus', { timeout: 60000 }, async () => {
const { PatternBreakingCore } = requireCommonJS('pattern-breaking/PatternBreakingCore');
const result = await PatternBreakingCore.applyPatternBreaking(
mockContent,
'connectorsFocus',
mockCsvData,
{ source: 'ti_partial_15' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 15: Pattern connectorsFocus');
});
test('TI Partial 16: LLM Fingerprint Removal', { timeout: 60000 }, async () => {
const { LLMFingerprints } = requireCommonJS('pattern-breaking/LLMFingerprints');
const result = await LLMFingerprints.removeFingerprints(
mockContent,
{ strength: 0.8, ...mockCsvData },
{ source: 'ti_partial_16' }
);
assert.ok(result.content, 'Content généré');
console.log('✅ TI Partial 16: LLM Fingerprint removal');
});
// =========================================
// TESTS PIPELINES COMPLEXES APPLICATIONS PARTIELLES
// =========================================
test('TI Partial 17: Pipeline Selective → Adversarial', { timeout: 150000 }, async () => {
const { SelectiveCore } = requireCommonJS('selective-enhancement/SelectiveCore');
const { AdversarialCore } = requireCommonJS('adversarial-generation/AdversarialCore');
// Phase 1: Selective
let result = await SelectiveCore.applySelectiveLayer(
mockContent,
'technical',
mockCsvData,
{ source: 'ti_partial_17_phase1' }
);
// Phase 2: Adversarial
result = await AdversarialCore.applyAdversarialEnhancement(
result.content,
'general',
{ mode: 'standard', ...mockCsvData },
{ source: 'ti_partial_17_phase2' }
);
assert.ok(result.content, 'Pipeline content généré');
console.log('✅ TI Partial 17: Pipeline Selective → Adversarial');
});
test('TI Partial 18: Pipeline Adversarial → Human Simulation', { timeout: 150000 }, async () => {
const { AdversarialCore } = requireCommonJS('adversarial-generation/AdversarialCore');
const { HumanSimulationCore } = requireCommonJS('human-simulation/HumanSimulationCore');
// Phase 1: Adversarial
let result = await AdversarialCore.applyAdversarialEnhancement(
mockContent,
'gptZero',
{ mode: 'light', ...mockCsvData },
{ source: 'ti_partial_18_phase1' }
);
// Phase 2: Human Simulation
result = await HumanSimulationCore.applyHumanSimulation(
result.content,
'personalityFocus',
mockCsvData,
{ source: 'ti_partial_18_phase2' }
);
assert.ok(result.content, 'Pipeline content généré');
console.log('✅ TI Partial 18: Pipeline Adversarial → Human');
});
test('TI Partial 19: Pipeline Triple - Selective → Adversarial → Pattern', { timeout: 180000 }, async () => {
const { SelectiveCore } = requireCommonJS('selective-enhancement/SelectiveCore');
const { AdversarialCore } = requireCommonJS('adversarial-generation/AdversarialCore');
const { PatternBreakingCore } = requireCommonJS('pattern-breaking/PatternBreakingCore');
// Phase 1: Selective
let result = await SelectiveCore.applySelectiveLayer(
mockContent,
'technical',
mockCsvData,
{ source: 'ti_partial_19_phase1' }
);
// Phase 2: Adversarial
result = await AdversarialCore.applyAdversarialEnhancement(
result.content,
'general',
{ mode: 'light', ...mockCsvData },
{ source: 'ti_partial_19_phase2' }
);
// Phase 3: Pattern Breaking
result = await PatternBreakingCore.applyPatternBreaking(
result.content,
'syntaxFocus',
mockCsvData,
{ source: 'ti_partial_19_phase3' }
);
assert.ok(result.content, 'Pipeline triple content généré');
console.log('✅ TI Partial 19: Pipeline Triple Complet');
});
test('TI Partial 20: Pipeline Full Stack avec tous les modules', { timeout: 240000 }, async () => {
const { SelectiveCore } = requireCommonJS('selective-enhancement/SelectiveCore');
const { AdversarialCore } = requireCommonJS('adversarial-generation/AdversarialCore');
const { HumanSimulationCore } = requireCommonJS('human-simulation/HumanSimulationCore');
const { PatternBreakingCore } = requireCommonJS('pattern-breaking/PatternBreakingCore');
// Phase 1: Selective Enhancement
let result = await SelectiveCore.applySelectiveLayer(
mockContent,
'technical',
mockCsvData,
{ source: 'ti_partial_20_phase1' }
);
// Phase 2: Adversarial Defense
result = await AdversarialCore.applyAdversarialEnhancement(
result.content,
'general',
{ mode: 'standard', ...mockCsvData },
{ source: 'ti_partial_20_phase2' }
);
// Phase 3: Human Simulation
result = await HumanSimulationCore.applyHumanSimulation(
result.content,
'lightSimulation',
mockCsvData,
{ source: 'ti_partial_20_phase3' }
);
// Phase 4: Pattern Breaking
result = await PatternBreakingCore.applyPatternBreaking(
result.content,
'connectorsFocus',
mockCsvData,
{ source: 'ti_partial_20_phase4' }
);
assert.ok(result.content, 'Pipeline full stack content généré');
console.log('✅ TI Partial 20: Pipeline FULL STACK - 4 phases');
});
console.log('🎯 20 TESTS TI APPLICATIONS PARTIELLES CONFIGURÉS');
console.log('📊 Couverture: Selective, Adversarial, Human-Sim, Pattern-Breaking, Pipelines');
console.log('🤖 Providers: OpenAI, Gemini, Claude, Deepseek, Mistral');
console.log('🔧 Intensités: 0.7, 0.8, 0.9, 1.0, 1.2');