import asyncio from app.infra.db.postgresql.scada import ScadaInfoRepository class _FakeCursor: def __init__(self): self.query = None async def __aenter__(self): return self async def __aexit__(self, exc_type, exc, tb): return False async def execute(self, query): self.query = query async def fetchall(self): return [ { "id": " 25470001 ", "type": " PRESSURE ", "associated_element_id": " J1 ", "api_query_id": "query-1", "transmission_mode": "realtime", "transmission_frequency": None, "reliability": "0.95", "x_coor": "117.1", "y_coor": "32.9", } ] class _FakeConnection: def __init__(self): self.cursor_instance = _FakeCursor() def cursor(self): return self.cursor_instance def test_get_scadas_normalizes_id_and_type(): conn = _FakeConnection() result = asyncio.run(ScadaInfoRepository.get_scadas(conn)) assert result == [ { "id": "25470001", "type": "pressure", "associated_element_id": "J1", "api_query_id": "query-1", "transmission_mode": "realtime", "transmission_frequency": None, "reliability": 0.95, "x": 117.1, "y": 32.9, } ] assert "associated_element_id" in conn.cursor_instance.query assert "FROM public.scada_info" in conn.cursor_instance.query