test: align scoring fixtures and upgrade checks with current contracts

This commit is contained in:
2026-10-17 20:50:48 +08:00
parent a5cb40f83d
commit f7db0a47ac
3 changed files with 5 additions and 3 deletions
+1 -1
View File
@@ -136,7 +136,7 @@ def test_scoring_uses_the_same_page_image_as_its_saved_evidence(db, environment)
sent_images.extend(images or []) sent_images.extend(images or [])
return ScoreResult(criterion_id=criterion["criterion_id"], score=1, return ScoreResult(criterion_id=criterion["criterion_id"], score=1,
max_score=criterion["max_score"], reason="测试评分", max_score=criterion["max_score"], reason="测试评分",
evidence=[{"chunk_id": chunk.id, "page": 2, "quote": "原文证据"}], confidence=.9) evidence=[{"chunk_id": chunk.id, "page": 2, "quote": "原文证据", "target_id": "t0"}], confidence=.9)
# The evidence page must be a substantive body page: a contents page cannot support # The evidence page must be a substantive body page: a contents page cannot support
# a content judgement, so the source page is classified accordingly during ingest. # a content judgement, so the source page is classified accordingly during ingest.
+2 -1
View File
@@ -388,7 +388,8 @@ def test_upgrade_from_legacy_0003_migrates_pages_and_citations(session_factory,
config.set_main_option('script_location', str(root / 'migrations')) config.set_main_option('script_location', str(root / 'migrations'))
command.upgrade(config, 'head') command.upgrade(config, 'head')
with session_factory() as db: with session_factory() as db:
assert db.scalar(text('SELECT version_num FROM alembic_version')) == '0006' from alembic.script import ScriptDirectory
assert db.scalar(text('SELECT version_num FROM alembic_version')) == ScriptDirectory.from_config(config).get_current_head()
assert db.get(Conversation, conversation_id).title == '旧记录' assert db.get(Conversation, conversation_id).title == '旧记录'
assert db.scalar(select(ChatMessage.content).where(ChatMessage.conversation_id == conversation_id)) == '旧问题' assert db.scalar(select(ChatMessage.content).where(ChatMessage.conversation_id == conversation_id)) == '旧问题'
run = db.scalar(select(AgentRun).where(AgentRun.conversation_id == conversation_id)) run = db.scalar(select(AgentRun).where(AgentRun.conversation_id == conversation_id))
+2 -1
View File
@@ -428,13 +428,14 @@ def test_project_and_version_isolation_is_unchanged(db):
def test_batch_snapshot_records_the_evidence_policy(db): def test_batch_snapshot_records_the_evidence_policy(db):
from types import SimpleNamespace from types import SimpleNamespace
from wisegrade import services from wisegrade import services
from wisegrade.evidence import POLICY_VERSION
from wisegrade.models import ScoringBatch from wisegrade.models import ScoringBatch
created = services.create_batch(SimpleNamespace(course_version_id=1, rubric_version_id=1), db) created = services.create_batch(SimpleNamespace(course_version_id=1, rubric_version_id=1), db)
assert created["id"] assert created["id"]
batch = db.get(ScoringBatch, created["id"]) batch = db.get(ScoringBatch, created["id"])
plan = batch.rubric_snapshot["evidence_plan"] plan = batch.rubric_snapshot["evidence_plan"]
assert plan["version"] == 1 assert plan["version"] == POLICY_VERSION
assert plan["content_allowed_page_types"] == ["body", "appendix"] assert plan["content_allowed_page_types"] == ["body", "appendix"]
targets = plan["criteria"]["stage3.data"] targets = plan["criteria"]["stage3.data"]
assert [target["use"] for target in targets] == ["content", "content"] assert [target["use"] for target in targets] == ["content", "content"]