journal-bot/tests/test_vault_writer.py

43 lines
1.5 KiB
Python

from pathlib import Path
from journal_bot.vault_writer import VaultWriter
def test_creates_file_with_frontmatter(tmp_path):
vault = tmp_path
(vault / "05 Daily Notes").mkdir()
w = VaultWriter(vault)
w.append("05 Daily Notes/2026-06-14.md", "## 14:32\nHallo")
content = (vault / "05 Daily Notes" / "2026-06-14.md").read_text(encoding="utf-8")
assert content.startswith("---\n")
assert "tags: [daily]" in content
assert "date: 2026-06-14" in content
assert "## 14:32\nHallo" in content
def test_appends_to_existing_file(tmp_path):
vault = tmp_path
daily = vault / "05 Daily Notes"
daily.mkdir()
existing = daily / "2026-06-14.md"
existing.write_text("---\ntags: [daily]\ndate: 2026-06-14\n---\n\n## 09:00\nMorgen\n", encoding="utf-8")
w = VaultWriter(vault)
w.append("05 Daily Notes/2026-06-14.md", "## 14:32\nNachmittag")
content = existing.read_text(encoding="utf-8")
assert "## 09:00\nMorgen" in content
assert "## 14:32\nNachmittag" in content
assert content.count("---\ntags: [daily]") == 1 # frontmatter not duplicated
def test_appends_clarifications_callout(tmp_path):
vault = tmp_path
(vault / "05 Daily Notes").mkdir()
w = VaultWriter(vault)
w.append(
"05 Daily Notes/2026-06-14.md",
"## 14:32\nTreffen mit Steffen",
clarifications=["Welcher Steffen?"],
)
content = (vault / "05 Daily Notes" / "2026-06-14.md").read_text(encoding="utf-8")
assert "> [!warning] Klärung" in content
assert "> - Welcher Steffen?" in content