ppt-web / tests /test_file_outline_utils.py
26fwyzpz6f-max
Clean deploy without binary files
6aecb2e
Raw
History Blame Contribute Delete
2.44 kB
from landppt.services.file_outline_utils import (
extract_saved_file_outline,
get_file_processing_mode,
is_file_generated_outline,
normalize_uploaded_files,
prefer_uploaded_files_for_magic_pdf,
should_force_file_outline_regeneration,
)
def test_get_file_processing_mode_defaults():
assert get_file_processing_mode({}) == "markitdown"
assert get_file_processing_mode({"file_processing_mode": ""}) == "markitdown"
def test_normalize_uploaded_files_filters_invalid_entries():
assert normalize_uploaded_files(None) == []
assert normalize_uploaded_files({}) == []
assert normalize_uploaded_files([{"filename": "a.pdf"}]) == []
assert normalize_uploaded_files([{"file_path": "/x/a.pdf", "filename": "a.pdf"}]) == [
{"file_path": "/x/a.pdf", "filename": "a.pdf"}
]
def test_prefer_uploaded_files_for_magic_pdf_only_when_selected():
ok, items = prefer_uploaded_files_for_magic_pdf(
{"file_processing_mode": "markitdown", "uploaded_files": [{"file_path": "/x/a.pdf", "filename": "a.pdf"}]}
)
assert ok is False
assert items == []
ok, items = prefer_uploaded_files_for_magic_pdf(
{"file_processing_mode": "magic_pdf", "uploaded_files": [{"file_path": "/x/a.pdf", "filename": "a.pdf"}]}
)
assert ok is True
assert items == [{"file_path": "/x/a.pdf", "filename": "a.pdf"}]
def test_extract_saved_file_outline_prefers_project_outline():
project_outline = {
"slides": [{"title": "A"}],
"metadata": {"generated_with_summeryfile": True},
}
confirmed_requirements = {
"file_generated_outline": {
"slides": [{"title": "B"}],
"metadata": {},
}
}
assert extract_saved_file_outline(project_outline, confirmed_requirements) == project_outline
assert is_file_generated_outline(project_outline) is True
def test_extract_saved_file_outline_honors_force_regeneration():
project_outline = {
"slides": [{"title": "A"}],
"metadata": {"generated_with_summeryfile": True},
}
confirmed_requirements = {
"file_generated_outline": {
"slides": [{"title": "B"}],
"metadata": {},
},
"force_file_outline_regeneration": True,
}
assert should_force_file_outline_regeneration(confirmed_requirements) is True
assert extract_saved_file_outline(project_outline, confirmed_requirements) is None