diff --git a/ihatemoney/tests/conftest.py b/ihatemoney/tests/conftest.py index 35f99e27..ebeba15f 100644 --- a/ihatemoney/tests/conftest.py +++ b/ihatemoney/tests/conftest.py @@ -1,6 +1,7 @@ from unittest.mock import MagicMock from flask import Flask +from jinja2 import FileSystemBytecodeCache import pytest from ihatemoney.babel_utils import compile_catalogs @@ -13,11 +14,19 @@ def babel_catalogs(): compile_catalogs() +@pytest.fixture(scope="session") +def jinja_cache_directory(tmp_path_factory): + return tmp_path_factory.mktemp("cache") + + @pytest.fixture -def app(request: pytest.FixtureRequest): +def app(request: pytest.FixtureRequest, jinja_cache_directory): """Create the Flask app with database""" app = create_app(request.cls) + # Caches the jinja templates so they are compiled only once per test session + app.jinja_env.bytecode_cache = FileSystemBytecodeCache(jinja_cache_directory) + with app.app_context(): db.create_all() request.cls.app = app