Files
olivv-cs-ComfyUI-FunPack/modules/system/taste/tests/test_kinds.py
T

43 lines
1.5 KiB
Python

"""A key's kinds: listed with what each is for, and one kind deleted without touching the rest."""
import pytest
@pytest.fixture(autouse=True)
def root(tmp_path, monkeypatch):
from modules.system.taste import store
monkeypatch.setattr(store, "ROOT", tmp_path / "taste")
def test_each_kind_is_listed_with_its_purpose_and_the_pending_capture_counts_toward_it(tmp_path):
from modules.system import taste
from modules.system.taste import store
folder = store.ROOT / "fox"
folder.mkdir(parents=True)
(folder / "reins.pt").write_bytes(b"x" * 10)
(folder / "reins.pending.pt").write_bytes(b"y" * 5)
(folder / "stas.pt").write_bytes(b"z" * 3)
kinds = taste.key_kinds("fox")
assert [k["kind"] for k in kinds] == ["reins", "stas"]
assert kinds[0]["title"] == "Taste steering (REINS)" and kinds[0]["bytes"] == 15
assert "steer" in kinds[0]["hint"].lower()
def test_clearing_one_kind_leaves_the_others_and_the_key(tmp_path):
from modules.system import taste
from modules.system.taste import store
folder = store.ROOT / "fox"
folder.mkdir(parents=True)
(folder / "reins.pt").write_bytes(b"x")
(folder / "stas.pt").write_bytes(b"z")
store.clear_kind("fox", "reins")
assert [k["kind"] for k in taste.key_kinds("fox")] == ["stas"]
assert store.keys() == ["fox"]
def test_an_unknown_key_lists_nothing_and_a_bad_name_is_refused():
from modules.system import taste
assert taste.key_kinds("nosuch") == []
with pytest.raises(ValueError):
taste.key_kinds("../etc")