diff --git a/backend/tests/test_stream_create.py b/backend/tests/test_stream_create.py new file mode 100644 index 0000000..150c9d8 --- /dev/null +++ b/backend/tests/test_stream_create.py @@ -0,0 +1,33 @@ +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")