#!/bin/bash
#
# Test Coverage Report
# Links test requirements to implementations
#

echo "Test Coverage Report"
echo "===================="
echo ""

test_reqs=$(grep -rh "@req-test:" src-tauri/ 2>/dev/null | \
            sed 's/.*@req-test: \([A-Z][A-Z]-[0-9]*\).*/\1/' | \
            sort -u)

total_tests=0
covered=0
uncovered=0

for req in $test_reqs; do
    test_count=$(grep -r "@req-test: $req" src-tauri/ 2>/dev/null | wc -l)
    impl_count=$(grep -r "@req: $req" src-tauri/ src/ 2>/dev/null | wc -l)

    ((total_tests++))

    if [ "$test_count" -gt 0 ] && [ "$impl_count" -gt 0 ]; then
        echo "✅ $req: $test_count test(s), $impl_count implementation(s)"
        ((covered++))
    elif [ "$impl_count" -eq 0 ]; then
        echo "⚠️  $req: $test_count test(s) but no implementation"
        ((uncovered++))
    fi
done

echo ""
echo "Summary:"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
printf "Total Test Requirements: %3d\n" "$total_tests"
printf "✅ With Implementation:  %3d (%.0f%%)\n" "$covered" "$(echo "scale=0; $covered * 100 / $total_tests" | bc)"
printf "⚠️  No Implementation:   %3d (%.0f%%)\n" "$uncovered" "$(echo "scale=0; $uncovered * 100 / $total_tests" | bc)"
echo ""
