mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-08-07 14:30:15 -03:00
feat(filter): add debounced tag search with backend search-tags endpoint
This commit is contained in:
@@ -36,3 +36,53 @@ async def test_model_query_handler_rejects_negative_limit_for_base_models():
|
||||
await handler.get_base_models(SimpleNamespace(query={"limit": "-1"}))
|
||||
|
||||
assert service.received_limit == 20
|
||||
|
||||
|
||||
class DummySearchTagsService:
|
||||
"""Minimal service stub recording search_tags arguments."""
|
||||
|
||||
def __init__(self, result=None):
|
||||
self.received_query = None
|
||||
self.received_limit = None
|
||||
self._result = result or []
|
||||
|
||||
async def search_tags(self, query, limit):
|
||||
self.received_query = query
|
||||
self.received_limit = limit
|
||||
return self._result
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_model_query_handler_search_tags_passes_query_and_limit():
|
||||
service = DummySearchTagsService(result=[{"tag": "anime", "count": 3}])
|
||||
handler = ModelQueryHandler(service=service, logger=logging.getLogger(__name__))
|
||||
|
||||
response = await handler.search_tags(
|
||||
SimpleNamespace(query={"q": "ani", "limit": "50"})
|
||||
)
|
||||
payload = json.loads(response.text)
|
||||
|
||||
assert payload["success"] is True
|
||||
assert payload["tags"] == [{"tag": "anime", "count": 3}]
|
||||
assert service.received_query == "ani"
|
||||
assert service.received_limit == 50
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_model_query_handler_search_tags_defaults_limit_to_20():
|
||||
service = DummySearchTagsService()
|
||||
handler = ModelQueryHandler(service=service, logger=logging.getLogger(__name__))
|
||||
|
||||
await handler.search_tags(SimpleNamespace(query={}))
|
||||
|
||||
assert service.received_limit == 20
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_model_query_handler_search_tags_clamps_negative_limit():
|
||||
service = DummySearchTagsService()
|
||||
handler = ModelQueryHandler(service=service, logger=logging.getLogger(__name__))
|
||||
|
||||
await handler.search_tags(SimpleNamespace(query={"limit": "-5"}))
|
||||
|
||||
assert service.received_limit == 20
|
||||
|
||||
Reference in New Issue
Block a user