diff --git a/.gitignore b/.gitignore index 2b0a1b7..5a07f57 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,8 @@ users.sqlite *.sqlite-* !tests/*.sqlite !tests/**/*.sqlite +# Copie jetable de tests/users.test.sqlite, générée par tests/conftest.py +tests/users.runtime.sqlite # LLM plugins .superpowers/ diff --git a/tests/conftest.py b/tests/conftest.py index a1f7085..0a4b716 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -60,6 +60,16 @@ shutil.copyfile(_SCHEMA_FIXTURE, _SCHEMA_CACHE) os.environ["DATA_SCHEMA_CACHE"] = str(_SCHEMA_CACHE) os.environ.pop("DATA_SCHEMA_PATH", None) +# Base users partagée par les tests qui démarrent l'app complète (Selenium) : +# on COPIE le fixture committé vers une base jetable (users.runtime.sqlite, +# gitignorée) et on pointe USERS_DB_PATH dessus. Ainsi, toute écriture faite +# pendant les tests (comptes créés, vues sauvegardées, etc.) ne mute pas +# tests/users.test.sqlite (versionné, partagé pour toute la suite). +_USERS_DB_FIXTURE = Path(os.path.abspath("tests/users.test.sqlite")) +_USERS_DB_RUNTIME = Path(os.path.abspath("tests/users.runtime.sqlite")) +shutil.copyfile(_USERS_DB_FIXTURE, _USERS_DB_RUNTIME) +os.environ["USERS_DB_PATH"] = str(_USERS_DB_RUNTIME) + def _cleanup_db_artifacts() -> None: for artifact in (