summaryrefslogtreecommitdiffstats
path: root/tests/test_config.py
blob: 6b3417f3181fc3225c53d9ceb9dd56f07959ea94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import pytest
from pathlib import Path
import tempfile, os
from core.config import Config, DEFAULT_CONFIG_PATH

def test_config_loads_defaults_when_missing(tmp_path, monkeypatch):
    monkeypatch.setattr("core.config.DEFAULT_CONFIG_PATH", tmp_path / "config.toml")
    cfg = Config.load()
    assert cfg.blog_repo == ""
    assert cfg.transart_script == "/home/danix/bin/transart.py"
    assert cfg.typora_bin == "typora"

def test_config_round_trips(tmp_path, monkeypatch):
    path = tmp_path / "config.toml"
    monkeypatch.setattr("core.config.DEFAULT_CONFIG_PATH", path)
    cfg = Config(blog_repo="/some/path", transart_script="/bin/x", typora_bin="typora")
    cfg.save()
    loaded = Config.load()
    assert loaded.blog_repo == "/some/path"

def test_config_is_complete_false_when_blog_repo_empty(tmp_path, monkeypatch):
    monkeypatch.setattr("core.config.DEFAULT_CONFIG_PATH", tmp_path / "config.toml")
    cfg = Config.load()
    assert cfg.is_complete() is False

def test_config_is_complete_true_when_all_set(tmp_path, monkeypatch):
    monkeypatch.setattr("core.config.DEFAULT_CONFIG_PATH", tmp_path / "config.toml")
    cfg = Config(blog_repo="/some/repo", transart_script="/bin/x", typora_bin="typora")
    assert cfg.is_complete() is True