Spaces:
Sleeping
Sleeping
File size: 1,283 Bytes
96f8c0a | 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 30 31 32 33 34 35 36 37 38 | """Tests for the Settings service."""
from __future__ import annotations
from pathlib import Path
from src.app.settings import AppMode, Settings
class TestSettings:
def test_default_mode_is_local(self, tmp_storage: Path) -> None:
s = Settings(storage_root=tmp_storage)
assert s.app_mode == AppMode.LOCAL
def test_db_path_derived(self, tmp_storage: Path) -> None:
s = Settings(storage_root=tmp_storage, db_name="test.db")
assert s.db_path == tmp_storage / "test.db"
def test_ensure_directories_creates_all(self, tmp_storage: Path) -> None:
s = Settings(storage_root=tmp_storage)
s.ensure_directories()
assert s.jobs_dir.exists()
assert s.providers_dir.exists()
assert s.exports_dir.exists()
assert s.cache_dir.exists()
def test_allowed_mime_types_set(self, tmp_storage: Path) -> None:
s = Settings(storage_root=tmp_storage)
mimes = s.allowed_mime_types_set
assert "image/png" in mimes
assert "image/jpeg" in mimes
def test_space_mode_overrides_storage_root(self, monkeypatch: object) -> None:
s = Settings(app_mode="space", storage_root=Path("./data"))
assert s.storage_root == Path("/data")
assert s.is_space is True
|