21 lines
746 B
Python
21 lines
746 B
Python
from app import selection_judge
|
|
|
|
|
|
def test_parse_judge_response_ok():
|
|
raw = '[{"keyword_id": 1, "score": 0.8}, {"keyword_id": 2, "score": 0.3}]'
|
|
assert selection_judge.parse_judge_response(raw) == {1: 0.8, 2: 0.3}
|
|
|
|
|
|
def test_parse_judge_response_codefence():
|
|
raw = '```json\n[{"keyword_id": 5, "score": 0.5}]\n```'
|
|
assert selection_judge.parse_judge_response(raw) == {5: 0.5}
|
|
|
|
|
|
def test_parse_judge_response_garbage_returns_empty():
|
|
assert selection_judge.parse_judge_response("not json") == {}
|
|
|
|
|
|
def test_judge_candidates_no_key_returns_empty(monkeypatch):
|
|
monkeypatch.setattr(selection_judge, "ANTHROPIC_API_KEY", "")
|
|
assert selection_judge.judge_candidates([{"id": 1, "keyword": "x", "category": "economy"}]) == {}
|