mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-05-06 16:36:45 -03:00
fix(ui): refresh stale model page versions
This commit is contained in:
@@ -53,4 +53,26 @@ describe('DoctorManager', () => {
|
||||
|
||||
expect(refreshSpy).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('builds a cache-busted reload URL that preserves the current location', () => {
|
||||
renderDoctorFixture();
|
||||
window.history.replaceState({}, '', '/loras?filter=active#details');
|
||||
vi.spyOn(Date, 'now').mockReturnValue(1234567890);
|
||||
|
||||
const manager = new DoctorManager();
|
||||
|
||||
const url = manager.buildReloadUrl();
|
||||
|
||||
expect(url).toBe('http://localhost:3000/loras?filter=active&_lm_reload=1234567890#details');
|
||||
});
|
||||
|
||||
it('delegates reload-page actions to reloadUi', async () => {
|
||||
renderDoctorFixture();
|
||||
const manager = new DoctorManager();
|
||||
const reloadSpy = vi.spyOn(manager, 'reloadUi').mockImplementation(() => undefined);
|
||||
|
||||
await manager.handleAction('reload-page');
|
||||
|
||||
expect(reloadSpy).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
|
||||
66
tests/routes/test_model_page_view.py
Normal file
66
tests/routes/test_model_page_view.py
Normal file
@@ -0,0 +1,66 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from types import SimpleNamespace
|
||||
|
||||
import jinja2
|
||||
|
||||
from py.routes.handlers.model_handlers import ModelPageView
|
||||
|
||||
|
||||
class DummySettings:
|
||||
def get(self, key, default=None):
|
||||
return default
|
||||
|
||||
|
||||
class DummyI18n:
|
||||
def __init__(self):
|
||||
self.locale = None
|
||||
|
||||
def set_locale(self, locale):
|
||||
self.locale = locale
|
||||
|
||||
def get_translation(self, key, default=None, **_kwargs):
|
||||
return default or key
|
||||
|
||||
def create_template_filter(self):
|
||||
return lambda key, *_args, **_kwargs: key
|
||||
|
||||
|
||||
class DummyScanner:
|
||||
def __init__(self):
|
||||
self._cache = SimpleNamespace()
|
||||
|
||||
async def get_cached_data(self, *_args, **_kwargs):
|
||||
return SimpleNamespace(folders=[])
|
||||
|
||||
|
||||
class DummyService:
|
||||
def __init__(self):
|
||||
self.scanner = DummyScanner()
|
||||
|
||||
|
||||
async def test_model_page_view_reads_version_per_request():
|
||||
template_env = jinja2.Environment(
|
||||
loader=jinja2.DictLoader({"dummy.html": "{{ version }}"}),
|
||||
autoescape=True,
|
||||
)
|
||||
view = ModelPageView(
|
||||
template_env=template_env,
|
||||
template_name="dummy.html",
|
||||
service=DummyService(),
|
||||
settings_service=DummySettings(),
|
||||
server_i18n=DummyI18n(),
|
||||
logger=SimpleNamespace(
|
||||
debug=lambda *_args, **_kwargs: None,
|
||||
error=lambda *_args, **_kwargs: None,
|
||||
),
|
||||
)
|
||||
|
||||
view._get_app_version = lambda: "1.0.2-old"
|
||||
first = await view.handle(SimpleNamespace())
|
||||
|
||||
view._get_app_version = lambda: "1.0.2-new"
|
||||
second = await view.handle(SimpleNamespace())
|
||||
|
||||
assert first.text == "1.0.2-old"
|
||||
assert second.text == "1.0.2-new"
|
||||
Reference in New Issue
Block a user