mirror of
https://github.com/lllin000/PaperForge.git
synced 2026-07-22 06:50:53 +00:00
19 lines
750 B
Python
19 lines
750 B
Python
"""Contract tests for OCR derived-rebuild orchestration (Phase 4)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
def test_rebuild_selector_only_targets_derived_stale_papers() -> None:
|
|
"""select_papers_for_derived_rebuild must only return papers
|
|
where derived_stale=True, regardless of raw_upgradable status."""
|
|
# This will fail with ModuleNotFoundError until paperforge/worker/ocr_rebuild.py exists
|
|
from paperforge.worker.ocr_rebuild import select_papers_for_derived_rebuild
|
|
|
|
papers = [
|
|
{"zotero_key": "A", "derived_stale": True, "raw_upgradable": False},
|
|
{"zotero_key": "B", "derived_stale": False, "raw_upgradable": True},
|
|
]
|
|
|
|
selected = select_papers_for_derived_rebuild(papers)
|
|
|
|
assert selected == ["A"]
|