chore: snapshot workflow migration progress
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
from pathlib import Path
|
||||
|
||||
from app.config import settings
|
||||
from app.domains.materials.library_paths import (
|
||||
asset_library_dir,
|
||||
list_asset_library_blends,
|
||||
resolve_asset_library_blend_path,
|
||||
)
|
||||
|
||||
|
||||
def test_asset_library_dir_uses_upload_dir(monkeypatch, tmp_path):
|
||||
monkeypatch.setattr(settings, "upload_dir", str(tmp_path / "uploads"))
|
||||
|
||||
assert asset_library_dir() == tmp_path / "uploads" / "asset-libraries"
|
||||
|
||||
|
||||
def test_resolve_asset_library_blend_path_prefers_existing_configured_path(monkeypatch, tmp_path):
|
||||
upload_dir = tmp_path / "uploads"
|
||||
library_dir = upload_dir / "asset-libraries"
|
||||
library_dir.mkdir(parents=True, exist_ok=True)
|
||||
configured = tmp_path / "external" / "materials.blend"
|
||||
configured.parent.mkdir(parents=True, exist_ok=True)
|
||||
configured.write_bytes(b"blend")
|
||||
monkeypatch.setattr(settings, "upload_dir", str(upload_dir))
|
||||
|
||||
resolved = resolve_asset_library_blend_path(
|
||||
blend_file_path=str(configured),
|
||||
asset_library_id="ignored",
|
||||
)
|
||||
|
||||
assert resolved == str(configured)
|
||||
|
||||
|
||||
def test_resolve_asset_library_blend_path_falls_back_to_id_named_file(monkeypatch, tmp_path):
|
||||
upload_dir = tmp_path / "uploads"
|
||||
library_dir = upload_dir / "asset-libraries"
|
||||
library_dir.mkdir(parents=True, exist_ok=True)
|
||||
expected = library_dir / "1234.blend"
|
||||
expected.write_bytes(b"blend")
|
||||
monkeypatch.setattr(settings, "upload_dir", str(upload_dir))
|
||||
|
||||
resolved = resolve_asset_library_blend_path(
|
||||
blend_file_path=str(library_dir / "missing.blend"),
|
||||
asset_library_id="1234",
|
||||
)
|
||||
|
||||
assert resolved == str(expected)
|
||||
|
||||
|
||||
def test_resolve_asset_library_blend_path_falls_back_to_newest_available_file(monkeypatch, tmp_path):
|
||||
upload_dir = tmp_path / "uploads"
|
||||
library_dir = upload_dir / "asset-libraries"
|
||||
library_dir.mkdir(parents=True, exist_ok=True)
|
||||
older = library_dir / "older.blend"
|
||||
newer = library_dir / "newer.blend"
|
||||
older.write_bytes(b"older")
|
||||
newer.write_bytes(b"newer")
|
||||
newer.touch()
|
||||
monkeypatch.setattr(settings, "upload_dir", str(upload_dir))
|
||||
|
||||
resolved = resolve_asset_library_blend_path(
|
||||
blend_file_path=str(library_dir / "missing.blend"),
|
||||
asset_library_id="missing",
|
||||
)
|
||||
|
||||
assert resolved == str(newer)
|
||||
assert list_asset_library_blends() == [newer, older]
|
||||
Reference in New Issue
Block a user