Files
roboco/tests/unit/test_vault_assets_v2.py
T

31 lines
1.1 KiB
Python
Raw Normal View History

"""V2 vault assets: Obsidian Bases views (`.base`) ship via the same
copy-never-overwrite ``ensure_vault_assets`` path as the Dataview templates.
"""
from __future__ import annotations
from pathlib import Path
import yaml
from roboco.vault import ensure_vault_assets
def test_ensure_vault_assets_materializes_base_files(tmp_path: Path) -> None:
ensure_vault_assets(tmp_path)
task_board = tmp_path / "RoboCo" / "_meta" / "Task Board.base"
reports = tmp_path / "RoboCo" / "_meta" / "Reports.base"
sync_doc = tmp_path / "RoboCo" / "_meta" / "Sync to your Mac.md"
assert task_board.exists()
assert reports.exists()
assert sync_doc.exists()
def test_base_files_are_valid_yaml() -> None:
meta_dir = Path(__file__).resolve().parents[2] / "roboco" / "vault_assets" / "meta"
for name in ("Task Board.base", "Reports.base"):
data = yaml.safe_load((meta_dir / name).read_text(encoding="utf-8"))
assert isinstance(data, dict)
assert "views" in data
assert isinstance(data["views"], list)
assert data["views"]