@casoon/auditmysite
Version:
Professional website analysis suite with robust accessibility testing, Core Web Vitals performance monitoring, SEO analysis, and content optimization insights. Features isolated browser contexts, retry mechanisms, and comprehensive API endpoints for profe
78 lines (65 loc) ⢠2.52 kB
JavaScript
/**
* Test script for CoreAuditPipeline v2.0
*
* This script demonstrates Sprint 2 achievements:
* 1. Strict TypeScript types (FullAuditResult)
* 2. JSON-first architecture (HTML reads JSON)
* 3. Unified HTML generator with modern design
* 4. Consistent data structure across CLI/HTML/API
*/
const { CoreAuditPipeline } = require('./dist/core/pipeline');
async function testCorePipeline() {
console.log('š Testing CoreAuditPipeline v2.0...\n');
const pipeline = new CoreAuditPipeline();
// Test with a small sitemap
const options = {
sitemapUrl: 'https://example.com/sitemap.xml',
maxPages: 2,
outputDir: './test-reports',
useEnhancedAnalysis: false, // Start with standard mode
generateHTML: true, // Optional HTML report
collectPerformanceMetrics: true,
includeWarnings: false
};
try {
const result = await pipeline.run(options);
console.log('\nā
Core Pipeline Test Results:');
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
console.log(`š Summary:`);
console.log(` Total pages: ${result.summary.totalPages}`);
console.log(` Passed: ${result.summary.passedPages}`);
console.log(` Failed: ${result.summary.failedPages}`);
console.log(` Duration: ${Math.round(result.metadata.duration / 1000)}s`);
console.log(`\nš Exports:`);
console.log(` JSON: ./test-reports/audit-result-${new Date().toISOString().split('T')[0]}.json`);
console.log(` HTML: ./test-reports/audit-report-${new Date().toISOString().split('T')[0]}.html`);
console.log(`\nš Issues found: ${result.issues.length}`);
if (result.issues.length > 0) {
console.log(`\nš Sample Issues:`);
result.issues.slice(0, 3).forEach((issue, i) => {
console.log(` ${i + 1}. [${issue.severity.toUpperCase()}] ${issue.message}`);
});
}
console.log('\nšÆ CoreAuditPipeline v2.0 test completed successfully!');
return true;
} catch (error) {
console.error('ā CoreAuditPipeline test failed:', error.message);
if (error.stack) {
console.error(error.stack);
}
return false;
}
}
// Run the test
if (require.main === module) {
testCorePipeline()
.then(success => {
process.exit(success ? 0 : 1);
})
.catch(error => {
console.error('Fatal error:', error);
process.exit(1);
});
}
module.exports = { testCorePipeline };