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