"""Tests for orders API router.""" import pytest from unittest.mock import AsyncMock, MagicMock from fastapi.testclient import TestClient from fastapi import FastAPI from trading_api.routers.orders import router @pytest.fixture def app(): app = FastAPI() app.include_router(router, prefix="/orders") return app @pytest.fixture def mock_db(): db = AsyncMock() mock_session = AsyncMock() mock_session.__aenter__ = AsyncMock(return_value=mock_session) mock_session.__aexit__ = AsyncMock(return_value=False) db.get_session = MagicMock(return_value=mock_session) return db, mock_session def test_get_orders_empty(app, mock_db): db, session = mock_db app.state.db = db mock_result = MagicMock() mock_result.scalars.return_value.all.return_value = [] session.execute = AsyncMock(return_value=mock_result) client = TestClient(app) response = client.get("/orders/") assert response.status_code == 200 assert response.json() == [] def test_get_signals_empty(app, mock_db): db, session = mock_db app.state.db = db mock_result = MagicMock() mock_result.scalars.return_value.all.return_value = [] session.execute = AsyncMock(return_value=mock_result) client = TestClient(app) response = client.get("/orders/signals") assert response.status_code == 200 assert response.json() == []