mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-08-06 14:10:13 -03:00
fix(config): remove stale 'default' library entry and consolidate example images on startup
This commit is contained in:
@@ -823,3 +823,73 @@ def test_apply_library_settings_ignores_extra_lora_path_overlapping_primary_root
|
||||
"same lora folder" in record.message.lower()
|
||||
for record in caplog.records
|
||||
)
|
||||
|
||||
|
||||
def test_save_paths_removes_stale_empty_default_when_comfyui_exists(
|
||||
monkeypatch: pytest.MonkeyPatch, tmp_path,
|
||||
):
|
||||
"""When an empty-shell 'default' library coexists with 'comfyui', the
|
||||
stale 'default' entry should be removed and 'comfyui' activated."""
|
||||
folder_paths = _setup_config_environment(monkeypatch, tmp_path)
|
||||
|
||||
class FakeSettingsService:
|
||||
def __init__(self):
|
||||
# Replicate the user's settings.json: empty default + populated comfyui
|
||||
self.libraries = {
|
||||
"default": {
|
||||
"folder_paths": {},
|
||||
"extra_folder_paths": {},
|
||||
"default_lora_root": "",
|
||||
"default_checkpoint_root": "",
|
||||
"default_unet_root": "",
|
||||
"default_embedding_root": "",
|
||||
"recipes_path": "",
|
||||
},
|
||||
"comfyui": {
|
||||
"folder_paths": {
|
||||
key: list(value) for key, value in folder_paths.items()
|
||||
},
|
||||
"default_lora_root": folder_paths["loras"][0],
|
||||
"default_checkpoint_root": folder_paths["checkpoints"][0],
|
||||
"default_embedding_root": folder_paths["embeddings"][0],
|
||||
},
|
||||
}
|
||||
# No active_library key — get_active_library_name() falls back to
|
||||
# dict order, returning "default".
|
||||
self.active_library = "default"
|
||||
self.delete_calls: list[str] = []
|
||||
self.upsert_calls: list[tuple[str, dict]] = []
|
||||
|
||||
def get_libraries(self):
|
||||
return dict(self.libraries)
|
||||
|
||||
def delete_library(self, name: str):
|
||||
self.delete_calls.append(name)
|
||||
self.libraries.pop(name, None)
|
||||
|
||||
def rename_library(self, *_):
|
||||
raise AssertionError("rename_library should not be invoked")
|
||||
|
||||
def get_active_library_name(self):
|
||||
return self.active_library
|
||||
|
||||
def upsert_library(self, name: str, **payload):
|
||||
self.upsert_calls.append((name, payload))
|
||||
self.libraries[name] = {**payload}
|
||||
if payload.get("activate"):
|
||||
self.active_library = name
|
||||
|
||||
fake_settings = FakeSettingsService()
|
||||
monkeypatch.setattr(settings_manager_module, "settings", fake_settings)
|
||||
|
||||
config_module.Config()
|
||||
|
||||
assert fake_settings.delete_calls == ["default"]
|
||||
assert "default" not in fake_settings.libraries
|
||||
assert set(fake_settings.libraries.keys()) == {"comfyui"}
|
||||
|
||||
assert len(fake_settings.upsert_calls) == 1
|
||||
name, payload = fake_settings.upsert_calls[0]
|
||||
assert name == "comfyui"
|
||||
assert payload["activate"] is True
|
||||
assert fake_settings.active_library == "comfyui"
|
||||
|
||||
Reference in New Issue
Block a user