# app/tests_internal/test_postgis.py import asyncio from sqlalchemy import text from app.db.session import AsyncSessionLocal async def test_geo_logic(): """ THOUGHT PROCESS: Ellenőrizni kell, hogy a PostgreSQL-ben a 'data.branches' tábla 'location' oszlopa valóban GEOGRAPHY típusú-e, és az ST_Distance függvény működik-e. Ha ez elbukik, a 'search.py' nem fog eredményt adni. """ print("🌍 PostGIS távolságszámítás tesztelése...") async with AsyncSessionLocal() as session: try: # Egy teszt pont (Budapest központ) és egy körzet lekérdezése query = text(""" SELECT id, name, ST_Distance(location, ST_SetSRID(ST_MakePoint(19.0402, 47.4979), 4326)::geography) / 1000 as distance_km FROM data.branches LIMIT 1 """) result = await db.execute(query) row = result.fetchone() if row: print(f"✅ SIKER: Találtunk egy ágat ({row.name}) {row.distance_km:.2f} km távolságra.") else: print("⚠️ FIGYELEM: A lekérdezés lefutott, de nincsenek adatok a data.branches táblában.") except Exception as e: print(f"❌ HIBA: A PostGIS lekérdezés elbukott. Oka: {str(e)}") if __name__ == "__main__": asyncio.run(test_geo_logic())