Add local web analysis dashboard
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import runpy
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from serato_doctor.web import STATIC_FILES, analyze_paths
|
||||
|
||||
|
||||
def test_web_analysis_uses_production_health_pipeline(tmp_path):
|
||||
generator = runpy.run_path(
|
||||
str(Path(__file__).parents[1] / "samples/small-library/generate.py")
|
||||
)
|
||||
sample = generator["build_sample"](tmp_path / "sample")
|
||||
|
||||
result = analyze_paths(
|
||||
sample / "Serato" / "_Serato_", sample / "Music"
|
||||
)
|
||||
|
||||
assert result["score"] == 77.8
|
||||
assert result["disk_tracks"] == 10
|
||||
assert result["missing_references"] == 2
|
||||
assert result["static_crates"] == 5
|
||||
assert result["smart_crates"] == 2
|
||||
|
||||
|
||||
def test_web_analysis_rejects_missing_folders(tmp_path):
|
||||
with pytest.raises(ValueError, match="Serato folder does not exist"):
|
||||
analyze_paths(tmp_path / "missing", tmp_path)
|
||||
|
||||
|
||||
def test_web_static_assets_are_declared_and_packaged():
|
||||
asset_root = Path(__file__).parents[1] / "serato_doctor" / "webui"
|
||||
|
||||
assert set(STATIC_FILES) == {"/", "/app.css", "/app.js"}
|
||||
assert all((asset_root / filename).is_file() for filename, _ in STATIC_FILES.values())
|
||||
Reference in New Issue
Block a user