summaryrefslogtreecommitdiff
path: root/services/api/tests/test_orders_router.py
diff options
context:
space:
mode:
Diffstat (limited to 'services/api/tests/test_orders_router.py')
-rw-r--r--services/api/tests/test_orders_router.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/services/api/tests/test_orders_router.py b/services/api/tests/test_orders_router.py
new file mode 100644
index 0000000..899fb27
--- /dev/null
+++ b/services/api/tests/test_orders_router.py
@@ -0,0 +1,54 @@
+"""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() == []