const fs = require('fs'); const path = require('path'); console.log('🚦 Checking UAT Quality Gate...'); const resultsPath = path.join(__dirname, 'test-results'); const lastRunPath = path.join(resultsPath, 'artifacts', '.last-run.json'); console.log('📁 Looking for results in:', resultsPath); console.log('📄 Expected last-run file:', lastRunPath); if (!fs.existsSync(resultsPath)) { console.log('❌ Test results directory not found!'); process.exit(1); } if (!fs.existsSync(lastRunPath)) { console.log('❌ Last run results not found!'); console.log('📁 Available files:', fs.readdirSync(resultsPath)); process.exit(1); } try { const lastRun = JSON.parse(fs.readFileSync(lastRunPath, 'utf-8')); console.log('📊 UAT Test Results:'); console.log(` Status: ${lastRun.status}`); console.log(` Failed Tests: ${lastRun.failedTests.length}`); if (lastRun.failedTests.length > 0) { console.log('❌ Quality Gate FAILED:'); console.log(` - ${lastRun.failedTests.length} test(s) failed`); lastRun.failedTests.forEach(test => console.log(` - ${test}`)); process.exit(1); } else if (lastRun.status === 'passed') { console.log('✅ Quality Gate PASSED'); console.log('🎉 All UAT tests meet quality standards!'); } else { console.log('⚠️ Quality Gate WARNING:'); console.log(` - Test status: ${lastRun.status}`); process.exit(1); } } catch (error) { console.log('❌ Error reading test results:', error.message); process.exit(1); }