diff --git a/umap/templates/umap/js.html b/umap/templates/umap/js.html
index 5ef342ab..62df6bab 100644
--- a/umap/templates/umap/js.html
+++ b/umap/templates/umap/js.html
@@ -28,7 +28,7 @@
{% if locale %}
- {% with 'umap/locale/'|add:locale|add:'.js' as path %}
+ {% with "umap/locale/"|add:locale|add:".js" as path %}
{% endwith %}
{% endif %}
diff --git a/umap/tests/integration/test_statics.py b/umap/tests/integration/test_statics.py
new file mode 100644
index 00000000..657609b1
--- /dev/null
+++ b/umap/tests/integration/test_statics.py
@@ -0,0 +1,43 @@
+import re
+import shutil
+import tempfile
+
+import pytest
+from django.core.management import call_command
+from django.utils.translation import override
+from playwright.sync_api import expect
+
+
+@pytest.fixture
+def staticfiles(settings):
+ static_root = tempfile.mkdtemp(prefix="test_static")
+ settings.STATIC_ROOT = static_root
+ try:
+ call_command("collectstatic", "--noinput")
+ yield
+ finally:
+ shutil.rmtree(static_root)
+
+
+def test_javascript_have_been_loaded(
+ map, live_server, datalayer, page, settings, staticfiles
+):
+ settings.STORAGES["staticfiles"][
+ "BACKEND"
+ ] = "umap.utils.UmapManifestStaticFilesStorage"
+ datalayer.settings["displayOnLoad"] = False
+ datalayer.save()
+ map.settings["properties"]["defaultView"] = "latest"
+ map.save()
+ with override("fr"):
+ url = f"{live_server.url}{map.get_absolute_url()}"
+ assert "/fr/" in url
+ page.goto(url)
+ # Hash is defined, so map is initialized
+ expect(page).to_have_url(re.compile(r".*#7/48\..+/13\..+"))
+ expect(page).to_have_url(re.compile(r".*/fr/"))
+ # Should be in French, so hashed locale file has been loaded correctly
+ button = page.get_by_text("Voir les calques")
+ expect(button).to_be_visible()
+ layers = page.locator(".umap-browse-datalayers li")
+ expect(layers).to_have_count(1)
diff --git a/umap/tests/settings.py b/umap/tests/settings.py
index e1105fa9..c79521f0 100644
--- a/umap/tests/settings.py
+++ b/umap/tests/settings.py
@@ -5,6 +5,9 @@ from umap.settings.base import * # pylint: disable=W0614,W0401
SECRET_KEY = "justfortests"
FROM_EMAIL = "test@test.org"
EMAIL_BACKEND = "django.core.mail.backends.locmem.EmailBackend"
+STORAGES["staticfiles"][
+ "BACKEND"
+] = "django.contrib.staticfiles.storage.StaticFilesStorage"
if os.environ.get("GITHUB_ACTIONS", False) == "true":
DATABASES = {