AI_FINANCIAL_INSIGHTS / tests /test_services.py
LogicGoInfotechSpaces's picture
Add AI Financial Insights FastAPI service
3a4ffcf
from datetime import datetime
from app.schemas import Transaction
from app.services import generate_insights
def _txn(ts: str, category: str, amount: float) -> Transaction:
return Transaction(
timestamp=datetime.fromisoformat(ts),
category=category,
amount=amount,
currency="INR",
)
def test_generate_insights_detects_increase():
txns = [
_txn("2025-09-05T00:00:00", "Groceries", 100),
_txn("2025-10-05T00:00:00", "Groceries", 130),
_txn("2025-11-05T00:00:00", "Groceries", 200),
]
insights, months = generate_insights(txns)
assert insights, "Expected at least one insight"
assert any("increased" in insight.message for insight in insights)
assert months, "Expected evaluated months to be returned"
def test_generate_insights_handles_new_user():
insights, months = generate_insights([])
assert months == []
assert insights[0].message.startswith("Add a few expenses")