Files
live/backend/tests/test_stream_create.py

34 lines
1.2 KiB
Python

import unittest
from datetime import datetime
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
from database import Base
from services.stream_service import StreamService
class StreamCreateTest(unittest.IsolatedAsyncioTestCase):
async def asyncSetUp(self):
self.engine = create_async_engine("sqlite+aiosqlite:///:memory:")
async with self.engine.begin() as connection:
await connection.run_sync(Base.metadata.create_all)
self.session_factory = async_sessionmaker(self.engine, expire_on_commit=False)
async def asyncTearDown(self):
await self.engine.dispose()
async def test_create_stream_accepts_frontend_iso_timestamp(self):
payload = {
"title": "Create flow regression",
"description": None,
"cover_url": None,
"scheduled_at": "2026-08-12T21:49:12.000Z",
}
async with self.session_factory() as session:
stream = await StreamService(session).create_stream(**payload)
self.assertEqual(stream.title, payload["title"])
self.assertIsInstance(stream.scheduled_at, datetime)
self.assertEqual(stream.scheduled_at.isoformat(), "2026-08-12T21:49:12")