backend / tests /test_transactions.py
praneethys's picture
fix income statement endpoints (#16)
4761dd9 verified
raw
history blame
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