utopia-ui/cypress/scripts/merge-reports.sh
mahula 78a8c68800
feat(other): initial end-to-end tests working in github ci and locally (#402)
Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-10-09 21:59:06 +02:00

36 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "=== Merging all JSON reports into one consolidated report ==="
json_count=$(find results/ -name "*.json" -type f 2>/dev/null | wc -l)
echo "Found $json_count JSON report files from parallel test execution"
if [ "$json_count" -gt 0 ]; then
echo "=== JSON files found ==="
find results/ -name "*.json" -type f | sort
echo "=== Merging all reports into one ==="
npm run report:merge
if [ ! -f "results/merged-report.json" ]; then
echo "❌ Merge failed - no merged-report.json created"
exit 1
fi
echo "✅ Successfully merged $json_count JSON reports into one"
echo "Merged report size: $(wc -c < results/merged-report.json) bytes"
report=$(cat results/merged-report.json)
echo "Consolidated report stats:"
echo " - Total tests: $(echo "$report" | node -pe 'JSON.parse(require("fs").readFileSync(0)).stats?.tests || 0')"
echo " - Passed: $(echo "$report" | node -pe 'JSON.parse(require("fs").readFileSync(0)).stats?.passes || 0')"
echo " - Failed: $(echo "$report" | node -pe 'JSON.parse(require("fs").readFileSync(0)).stats?.failures || 0')"
echo " - Duration: $(echo "$report" | node -pe 'JSON.parse(require("fs").readFileSync(0)).stats?.duration || 0')ms"
else
echo "❌ No JSON reports found to merge"
echo "Creating empty report structure..."
mkdir -p results
echo '{"stats":{"tests":0,"passes":0,"failures":0},"results":[]}' > results/merged-report.json
fi