31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
from pathlib import Path
|
|
|
|
from syncvito.config_store import ConfigStore
|
|
from syncvito.models import AppConfig, AppSettings, SyncDirection, SyncTask
|
|
|
|
|
|
def test_config_roundtrip(tmp_path: Path) -> None:
|
|
path = tmp_path / "config.json"
|
|
config = AppConfig(
|
|
tasks=[
|
|
SyncTask(
|
|
name="Archiv",
|
|
source=str(tmp_path / "quelle"),
|
|
target=str(tmp_path / "ziel"),
|
|
direction=SyncDirection.BIDIRECTIONAL,
|
|
selected_paths=["Dokumente"],
|
|
)
|
|
],
|
|
settings=AppSettings(font_size=12, ui_scale=110, check_updates_on_start=False),
|
|
)
|
|
ConfigStore(path).save(config)
|
|
|
|
loaded = ConfigStore(path).load()
|
|
|
|
assert loaded.settings.font_size == 12
|
|
assert loaded.settings.ui_scale == 110
|
|
assert loaded.settings.check_updates_on_start is False
|
|
assert loaded.tasks[0].name == "Archiv"
|
|
assert loaded.tasks[0].direction is SyncDirection.BIDIRECTIONAL
|
|
assert loaded.tasks[0].selected_paths == ["Dokumente"]
|