feat: overhaul UI styling, improve templates, enhance services and tests

This commit is contained in:
2026-06-06 00:38:56 +08:00
parent f7f1a4c0cb
commit 904eec392e
38 changed files with 1471 additions and 795 deletions
+28 -9
View File
@@ -16,9 +16,14 @@ class TestImageExtraction:
@pytest.mark.asyncio
async def test_extract_images_from_source_no_dir(self, monkeypatch, tmp_path):
"""源码目录不存在时返回 0。"""
monkeypatch.setattr("app.services.pdf_downloader.tmp_dir", lambda x: tmp_path / "tmp" / x)
monkeypatch.setattr("app.services.pdf_downloader.paper_dir", lambda x: tmp_path / "papers" / x)
monkeypatch.setattr(
"app.services.pdf_downloader.tmp_dir", lambda x: tmp_path / "tmp" / x
)
monkeypatch.setattr(
"app.services.pdf_downloader.paper_dir", lambda x: tmp_path / "papers" / x
)
from app.services.image_extractor import extract_images_from_source
result = await extract_images_from_source("2401.99999")
assert result == 0
@@ -49,14 +54,20 @@ class TestImageExtraction:
(tmp_source / "main.tex").write_text(tex_content)
papers_dir = tmp_path / "papers" / "2401.00001"
monkeypatch.setattr("app.services.image_extractor.tmp_dir", lambda x: tmp_path / "tmp" / x)
monkeypatch.setattr("app.services.image_extractor.paper_dir", lambda x: tmp_path / "papers" / x)
monkeypatch.setattr(
"app.services.image_extractor.tmp_dir", lambda x: tmp_path / "tmp" / x
)
monkeypatch.setattr(
"app.services.image_extractor.paper_dir", lambda x: tmp_path / "papers" / x
)
# Mock download_source_zip to avoid real network call (source dir already exists)
async def _noop_download(*args, **kwargs):
pass
monkeypatch.setattr("app.services.image_extractor.download_source_zip", _noop_download)
monkeypatch.setattr(
"app.services.image_extractor.download_source_zip", _noop_download
)
result = await extract_images_from_source("2401.00001")
@@ -73,16 +84,24 @@ class TestImageExtraction:
tmp_source = tmp_path / "tmp" / "2401.00002" / "source"
tmp_source.mkdir(parents=True)
(tmp_source / "main.tex").write_text(r"\documentclass{article}\begin{document}Hello\end{document}")
(tmp_source / "main.tex").write_text(
r"\documentclass{article}\begin{document}Hello\end{document}"
)
monkeypatch.setattr("app.services.image_extractor.tmp_dir", lambda x: tmp_path / "tmp" / x)
monkeypatch.setattr("app.services.image_extractor.paper_dir", lambda x: tmp_path / "papers" / x)
monkeypatch.setattr(
"app.services.image_extractor.tmp_dir", lambda x: tmp_path / "tmp" / x
)
monkeypatch.setattr(
"app.services.image_extractor.paper_dir", lambda x: tmp_path / "papers" / x
)
# Mock download_source_zip to avoid real network call
async def _noop_download(*args, **kwargs):
pass
monkeypatch.setattr("app.services.image_extractor.download_source_zip", _noop_download)
monkeypatch.setattr(
"app.services.image_extractor.download_source_zip", _noop_download
)
result = await extract_images_from_source("2401.00002")
assert result == 0