diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..eab1ec3 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,22 @@ +""" +Root conftest for all tests. + +Configures pytest-asyncio to use session-scoped event loop. +""" + +import asyncio + +import pytest + + +@pytest.fixture(scope="session") +def event_loop(): + """ + Create session-scoped event loop. + + This ensures all async fixtures use the SAME event loop + across all test files in the session. + """ + loop = asyncio.get_event_loop_policy().new_event_loop() + yield loop + loop.close() diff --git a/tests/e2e/conftest.py b/tests/e2e/conftest.py index 51d1865..ae8215c 100644 --- a/tests/e2e/conftest.py +++ b/tests/e2e/conftest.py @@ -37,14 +37,6 @@ def require_credentials(kwork_credentials): return kwork_credentials -@pytest.fixture(scope="session") -def event_loop(): - """Create session-scoped event loop for all E2E tests.""" - loop = asyncio.get_event_loop_policy().new_event_loop() - yield loop - loop.close() - - @pytest.fixture(scope="session") async def e2e_client(require_credentials): """