from __future__ import annotations import path_setup # noqa: F401 import sx.sx_components as sx_components # noqa: F401 from shared.infrastructure.factory import create_base_app from shared.sx.jinja_bridge import render from bp import register_dashboard from services import register_domain_services async def test_context() -> dict: """Test app context processor — minimal, no cross-service fragments.""" from shared.infrastructure.context import base_context ctx = await base_context() ctx["menu_items"] = [] # Render cart-mini with cart_count=0 to show the logo image blog_url = ctx.get("blog_url", "") if callable(blog_url): blog_url_str = blog_url("") else: blog_url_str = str(blog_url or "") ctx["cart_mini"] = render( "cart-mini", cart_count=0, blog_url=blog_url_str, cart_url="", ) ctx["auth_menu"] = "" ctx["nav_tree"] = "" return ctx def create_app() -> "Quart": app = create_base_app( "test", context_fn=test_context, domain_services_fn=register_domain_services, ) import sx.sx_components # noqa: F401 app.register_blueprint(register_dashboard(url_prefix="/")) # Run tests on startup @app.before_serving async def _run_tests_on_startup(): import runner import asyncio asyncio.create_task(runner.run_tests()) return app app = create_app()