from app.engine.legal_risk import LegalRiskEngine, Precedent, load_precedents def _case() -> Precedent: return Precedent( case_id="case-1", title="테스트 판례", source_url="https://example.test/case-1", work_types=("literary",), legal_tags=("reproduction",), criteria=("실질적 유사성",), holding_summary="테스트 요약", ) def test_empty_precedents_never_claim_legal_conclusion(): result = LegalRiskEngine([]).assess( max_similarity=0.95, coverage=0.8, longest_span=300, legal_tags=["reproduction"], ) assert result.status == "insufficient_precedent_data" assert result.risk_level is None def test_risk_requires_missing_facts_and_only_registered_case_ids(): result = LegalRiskEngine([_case()]).assess( max_similarity=0.9, coverage=0.5, longest_span=200, legal_tags=["reproduction"], ) assert result.status == "review_required" assert result.risk_level == "high" assert result.precedent_ids == ("case-1",) assert len(result.missing_factors) == 3 def test_repository_seed_is_valid(): cases = load_precedents("data/precedents/precedents.jsonl") assert cases assert cases[0].case_id == "2012다73493"