"""Tests for orders API router.""" import pytest from decimal import Decimal from datetime import datetime, timezone 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() == []