From d9fe99963ae814bac1e545df94ad2f22d0d4c9a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Tue, 12 May 2026 11:01:48 +0200 Subject: [PATCH] Fix htmx_middleware tests --- games/htmx_middleware.py | 7 ++++++- tests/test_toast_middleware.py | 9 ++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/games/htmx_middleware.py b/games/htmx_middleware.py index b6a03d8..771e806 100644 --- a/games/htmx_middleware.py +++ b/games/htmx_middleware.py @@ -1,5 +1,6 @@ import json +from django.conf import settings from django.contrib import messages as django_messages from django.contrib.messages import constants as message_constants @@ -33,7 +34,11 @@ class HTMXMessagesMiddleware: if "HX-Redirect" in response: return response - messages = list(django_messages.get_messages(request)) + min_level = message_constants.DEBUG if settings.DEBUG else message_constants.INFO + backend = django_messages.get_messages(request) + if hasattr(backend, '_set_level') and backend._get_level() > min_level: + backend._set_level(min_level) + messages = list(backend) if not messages: return response diff --git a/tests/test_toast_middleware.py b/tests/test_toast_middleware.py index 2e7b7eb..db7ad9c 100644 --- a/tests/test_toast_middleware.py +++ b/tests/test_toast_middleware.py @@ -8,7 +8,7 @@ django.setup() from django.contrib.messages import constants as message_constants from django.contrib.messages.storage.fallback import FallbackStorage from django.http import HttpRequest, HttpResponse -from django.test import TestCase +from django.test import TestCase, override_settings from games.htmx_middleware import HTMXMessagesMiddleware @@ -24,7 +24,7 @@ class HtmxDetails: class HTMXMessagesMiddlewareTest(TestCase): - def _build_request(self, htmx=True): + def _build_request(self, htmx=True, message_level=None): """Build a request with FallbackStorage message backend.""" request = HttpRequest() request.method = "GET" @@ -33,6 +33,8 @@ class HTMXMessagesMiddlewareTest(TestCase): request.session = {} storage = FallbackStorage(request) + if message_level is not None: + storage._set_level(message_level) request._messages = storage if htmx: @@ -109,9 +111,10 @@ class HTMXMessagesMiddlewareTest(TestCase): data = json.loads(response["HX-Trigger"]) self.assertEqual(data["show-toast"]["type"], "warning") + @override_settings(DEBUG=True) def test_debug_message_maps_to_debug(self): """Debug messages should map to 'debug' toast type.""" - request = self._build_request(htmx=True) + request = self._build_request(htmx=True, message_level=message_constants.DEBUG) request._messages.add(message_constants.DEBUG, "Debug info") middleware = HTMXMessagesMiddleware(get_response_ok)