Files
CoPay/backend/app/tests/api/events/test_crud.py
T
2024-11-17 02:31:42 +03:00

42 lines
1.3 KiB
Python

from fastapi.testclient import TestClient
import sqlmodel
from app.api.events.routers import events_router
import app.core.db
from app.models.event import Event
from app.tests.api.mockdata import auth_client
from app.tests.api.mockdata import telegram_init_data
client = TestClient(events_router)
def test_events() -> None:
auth_response = auth_client.post('/token', json=telegram_init_data)
assert auth_response.status_code == 200, 'Failed to authenticate'
token = auth_response.json().get('access_token')
assert token is not None, 'Token not found in response'
headers = {'Authorization': f'Bearer {token}'}
event_data = {'name': 'Sample Event Name'}
response = client.post('/', headers=headers, json=event_data)
response_event = response.json()
assert response.status_code == 200, 'Event creation failed'
with sqlmodel.Session(app.core.db.engine) as session:
event = session.get(Event, response_event['id'])
assert event.name == event_data['name'], 'Wrong name for event'
response = client.get(f'/{response_event["id"]}', headers=headers)
assert response.status_code == 200, 'Event info gathering failed'
response = client.get('/', headers=headers)
response_events = response.json()
assert response.status_code == 200, 'Event info getting failed'
assert response_events