dubguard-backend / tests /test_auto_correction.py
Shravan2020's picture
Deploy rate limit fix to HF
fcbae79
Raw
History Blame Contribute Delete
1.1 kB
import pytest
from app.services.auto_correction import AutoCorrectionService
@pytest.fixture
def auto_correct():
return AutoCorrectionService()
def test_evaluate_pipeline_results_perfect(auto_correct):
results = {
"speech_evaluation": {"wer": 0.05, "cer": 0.02},
"translation_evaluation": {"semantic_similarity": 95.0, "bleu": 40.0},
"pronunciation_verification": {"score": 90.0},
"emotion_analysis": {"similarity_score": 85.0},
"speaker_similarity": {"is_same_speaker": True},
"audio_quality": {"status": "PASS"}
}
res = auto_correct.evaluate_pipeline_results(results)
assert res["status"] == "PASS"
assert res["overall_score"] == 100.0
assert len(res["issues_detected"]) == 0
def test_evaluate_pipeline_results_bad(auto_correct):
results = {
"speech_evaluation": {"wer": 0.50},
"audio_quality": {"status": "FAIL"}
}
res = auto_correct.evaluate_pipeline_results(results)
assert res["status"] == "NEEDS_FIX"
assert res["overall_score"] < 100.0
assert len(res["issues_detected"]) >= 2