v1
This commit is contained in:
30
tests/conftest.py
Normal file
30
tests/conftest.py
Normal file
@@ -0,0 +1,30 @@
|
||||
import os
|
||||
import tempfile
|
||||
import pytest
|
||||
import importlib
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# Ensure the repository root is on sys.path so tests can import the server package.
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
if str(ROOT) not in sys.path:
|
||||
sys.path.insert(0, str(ROOT))
|
||||
|
||||
|
||||
server_app_module = importlib.import_module("server.app")
|
||||
|
||||
# Expose app and init_db from the imported module
|
||||
app = server_app_module.app
|
||||
init_db = server_app_module.init_db
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True, scope="function")
|
||||
def setup_tmp_db(tmp_path, monkeypatch):
|
||||
"""Set up the database for each test function."""
|
||||
tmp_db = tmp_path / "forms.db"
|
||||
# Patch the module attribute directly to avoid package name collisions
|
||||
monkeypatch.setattr(server_app_module, "DB_PATH", tmp_db, raising=False)
|
||||
monkeypatch.setattr("server.settings.ADMIN_USERNAME", "admin")
|
||||
monkeypatch.setattr("server.settings.ADMIN_PASSWORD", "admin")
|
||||
init_db()
|
||||
yield
|
||||
Reference in New Issue
Block a user