"""Unit tests for application startup wiring."""
async def test_startup_initializes_registries_before_embed_check(monkeypatch):
import navi.api.deps as deps
import navi.api.routes.health as health_mod
import navi.content_store as content_store
import navi.main as main_mod
import navi.session_files as session_files
order = []
async def fake_ensure_tables():
order.append("ensure_tables")
def fake_get_registries():
order.append("get_registries")
return None
async def fake_check_embed():
order.append("check_embed")
return {"ok": True, "backend": "fake", "error": None}
async def fake_cleanup_loop(store):
return None
def fake_create_task(coro):
order.append("create_task")
coro.close()
return object()
monkeypatch.setattr(content_store, "ensure_tables", fake_ensure_tables)
monkeypatch.setattr(deps, "get_registries", fake_get_registries)
monkeypatch.setattr(health_mod, "_check_embed", fake_check_embed)
monkeypatch.setattr(session_files, "cleanup_loop", fake_cleanup_loop)
monkeypatch.setattr(deps, "get_session_store", lambda: object())
monkeypatch.setattr(main_mod.asyncio, "create_task", fake_create_task)
await main_mod._on_startup()
assert order[:3] == ["ensure_tables", "get_registries", "check_embed"]
assert order[-1] == "create_task"