Files
rdb-discovery/tests/test_templates.py
T

39 lines
1.5 KiB
Python

from pathlib import Path
from rdb_discovery.templates import CONTEXT_FILES, write_file_if_missing
def test_write_file_if_missing(tmp_path: Path) -> None:
assert write_file_if_missing(tmp_path, "context/test.md", "hello") is True
assert (tmp_path / "context" / "test.md").read_text(encoding="utf-8") == "hello"
assert write_file_if_missing(tmp_path, "context/test.md", "changed") is False
assert (tmp_path / "context" / "test.md").read_text(encoding="utf-8") == "hello"
def test_all_context_files_have_content() -> None:
for path, content in CONTEXT_FILES.items():
assert content.strip(), f"Empty content for {path}"
def test_init_creates_all_files(tmp_path: Path) -> None:
for relative_path, content in CONTEXT_FILES.items():
write_file_if_missing(tmp_path, relative_path, content)
for relative_path in CONTEXT_FILES:
assert (tmp_path / relative_path).exists(), f"Missing {relative_path}"
def test_init_skips_existing_files(tmp_path: Path) -> None:
skipped = []
for relative_path, content in CONTEXT_FILES.items():
target = tmp_path / relative_path
target.parent.mkdir(parents=True, exist_ok=True)
target.write_text("existing", encoding="utf-8")
result = write_file_if_missing(tmp_path, relative_path, content)
if not result:
skipped.append(relative_path)
assert skipped == list(CONTEXT_FILES)
assert (tmp_path / "TASKS.md").read_text(encoding="utf-8") == "existing"