Spaces:
Paused
Paused
| from unittest.mock import MagicMock | |
| import pytest | |
| from sqlalchemy.orm import Session | |
| from app.modules.analytics.router import get_temporal_flow | |
| async def test_get_temporal_flow_limit(): | |
| # Mock DB session | |
| mock_db = MagicMock(spec=Session) | |
| # Mock result proxy | |
| mock_result = MagicMock() | |
| mock_result.__iter__.return_value = [] | |
| mock_db.execute.return_value = mock_result | |
| # Call the function | |
| await get_temporal_flow(days=30, limit=5000, db=mock_db) | |
| # Verify db.execute was called | |
| args, kwargs = mock_db.execute.call_args | |
| query_obj = args[0] | |
| query_params = args[1] | |
| query_str = str(query_obj) | |
| print(f"Executed query: {query_str}") | |
| print(f"Query params: {query_params}") | |
| # Assert LIMIT clause is present | |
| assert "LIMIT :limit" in query_str, "Query should contain LIMIT clause" | |
| # Assert parameters | |
| assert query_params["limit"] == 5000, "Limit parameter should be passed correctly" | |
| assert "cutoff_date" in query_params | |