backend / tests /test_transactions.py
praneethys's picture
fix income statement endpoints (#16)
4761dd9 verified
Raw
History Blame Contribute Delete
868 Bytes
from fastapi.testclient import TestClient
import pytest
from app.model.transaction import Transaction
from app.model.user import User
from sqlalchemy.ext.asyncio import AsyncSession
from tests.utils import get_fake_transactions
@pytest.mark.asyncio
async def test_transactions(client: TestClient, get_db_session_fixture: AsyncSession) -> None:
session_override = get_db_session_fixture
# 1. Create a user
user = await User.create(session_override, name="user", email="email", hashed_password="password")
# 2. Create a bunch of transactions
fake_transactions = get_fake_transactions(user.id)
await Transaction.bulk_create(session_override, fake_transactions)
# 3. Verify that the transactions are returned
response = client.get("/api/v1/transactions/1")
assert response.status_code == 200
assert len(response.json()) == 10