adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
61 lines โข 2.48 kB
JavaScript
/**
* Refactoring Migration Tests
* Tests to ensure all refactored components are working correctly
*/
import * as fs from 'fs/promises';
import { DocumentGenerator } from './documentGenerator/index.js';
import { PMBOKValidator } from './pmbokValidation/index.js';
import { generateAllWithPMBOKValidation } from './documentGeneratorWithValidation.js';
/**
* Verify that the refactoring did not break functionality
*/
export async function testRefactoredComponents(testContext = 'This is a test context') {
console.log('๐งช Testing refactored components...');
let success = true;
try {
// Test DocumentGenerator
const generator = new DocumentGenerator(testContext, {
includeCategories: ['core-analysis'],
maxConcurrent: 1,
delayBetweenCalls: 10,
outputDir: 'test-documents',
cleanup: true
});
console.log('Testing DocumentGenerator.generateAll()...');
const result = await generator.generateAll();
console.log(`Generated ${result.successCount} documents`);
// Test PMBOKValidator
const validator = new PMBOKValidator('test-documents');
console.log('Testing PMBOKValidator.validateGeneration()...');
const validationResult = await validator.validateGeneration(['project-summary']);
console.log(`Validation result: ${validationResult.isComplete ? 'Complete' : 'Incomplete'}`);
// Test integrated function
console.log('Testing generateAllWithPMBOKValidation()...');
const integratedResult = await generateAllWithPMBOKValidation(testContext, {
includeCategories: ['core-analysis'],
outputDir: 'test-documents-integrated',
cleanup: true
});
console.log(`Integrated test results: ${integratedResult.result.successCount} documents generated`);
// Clean up test files
await fs.rm('test-documents', { recursive: true, force: true });
await fs.rm('test-documents-integrated', { recursive: true, force: true });
console.log('โ
All tests passed');
}
catch (error) {
console.error(`โ Test failed: ${error.message}`);
success = false;
}
return success;
}
/**
* Main entry point for tests
*/
if (require.main === module) {
testRefactoredComponents().then(success => {
if (!success) {
process.exit(1);
}
});
}
//# sourceMappingURL=refactoringTest.js.map